pvjc24/cv3/program.c

55 lines
1.2 KiB
C
Raw Normal View History

2024-03-03 15:01:11 +00:00
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define SIZE_OF_ARRAY 100
#define LINE_SIZE 2
int main()
{
2024-03-03 15:47:37 +00:00
float result_of_main=0;
float array_of_numbers[SIZE_OF_ARRAY];
int counter=0;
int result;
while(1){
float x=0;
result=reading_input(&x);
if(result==0||result==2){
break;
}
array_of_numbers[counter]=x;
counter++;
2024-03-03 15:01:11 +00:00
}
if(result==0){
return 0;
}
2024-03-03 15:47:37 +00:00
for(int j=1; j<counter; j++){
result_of_main=result_of_main+array_of_numbers[j]*pow(array_of_numbers[0],(counter-j)-1);
2024-03-03 15:01:11 +00:00
}
2024-03-03 16:10:54 +00:00
printf("Vysledok je: %.2f\n",ceil(result_of_main * 100) / 100);
2024-03-03 15:01:11 +00:00
return 0;
}
int reading_input(float *number){
char buffer[SIZE_OF_ARRAY];
fgets(buffer,SIZE_OF_ARRAY,stdin);
for(int j=0; buffer[j]!='\0'; j++){
if (buffer[j]>='0'&&buffer[j]<='9') {
continue;
}
2024-03-03 15:47:37 +00:00
if (buffer[j]=='.') {
2024-03-03 15:01:11 +00:00
continue;
}
if(buffer[j]=='\n'){
buffer[j]='\0';
break;
}
printf("You have entered wrong number.\n");
return 0;
}
2024-03-03 15:47:37 +00:00
if(buffer[0]=='\0'){
return 2;
}
2024-03-03 15:01:11 +00:00
*number=atof(buffer);
return 1;
}