pvjc26/du1/program.c

108 lines
2.3 KiB
C

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>
#define LINE_SIZE 128
int main()
{
double vysledok = 0;
int poradie = 0;
char riadok[LINE_SIZE];
memset(riadok, 0,LINE_SIZE);
char* r = fgets(riadok,LINE_SIZE,stdin);
if (r == NULL)
{
printf("Chyba: Zlyhalo nacitvanaie vstupu.\n");
exit(0);
}
double x;
if (sscanf(riadok, "%lf", &x) != 1)
{
// printf("Chyba: vstup NIE je cislom.\n");
printf("Nepodarilo sa nacitat zaklad x\n");
exit(0);
}
bool trebaPrvyKoeficient = true;
//fgets vracia NULL, ak sa dostane na koniec suboru ('EOF' situsacia)
while (fgets(riadok, LINE_SIZE, stdin) != NULL)
{
//ak konec riadku
if (riadok[0] == '\n')
{
break;
}
double koeficient;
poradie += 1;
if (sscanf(riadok, "%lf", &koeficient) == 1)
{
if (trebaPrvyKoeficient)
{
vysledok = koeficient;
trebaPrvyKoeficient = false;
}
else
{
vysledok = (vysledok * x) + koeficient;
}
}
else
{
printf("Nepodarilo sa nacitat polynom na %d mieste.\n", poradie);
// printf("Chyba: Neplatny vstup v riadku č.%d\n", poradie);
exit(0);
}
}
printf("Vysledok je: %.2f\n", vysledok);
return 0;
}
// #include <assert.h>
// #include <stdio.h>
// int main() {
// return 0;
// char riadok[LINE_SIZE];
// memset(riadok, 0,LINE_SIZE);
// //zaciatok riadku - resp. zaciatocne pismeno
// char* r = fgets(riadok,LINE_SIZE,stdin);
// if (r == NULL) { exit(EXIT_FAILURE); }
// while (r != '\0' || r != EOF)
// {
// if (r == ' ') {break;}
// r++;
// if ()
// }#include <assert.h>
// #include <stdio.h>
// int main() {
// return 0;
// char riadok[LINE_SIZE];
// memset(riadok, 0,LINE_SIZE);
// //zaciatok riadku - resp. zaciatocne pismeno
// char* r = fgets(riadok,LINE_SIZE,stdin);
// if (r == NULL) { exit(EXIT_FAILURE); }
// while (r != '\0' || r != EOF)
// {
// if (r == ' ') {break;}
// r++;
// if ()
// }