diff --git a/du1/program.c b/du1/program.c index 29c2c70..b2366e5 100644 --- a/du1/program.c +++ b/du1/program.c @@ -16,25 +16,64 @@ int vyhodnot_vstup (float *num){ char *ukoncovaci; float hodnota = strtof (vstup, &ukoncovaci); + if (ukoncovaci == vstup) return -3; //-3 ak sa nenacitalo nic - - - - + *num = hodnota; //updatnem float s realnou hodnotou z stdin + return 1; } int main(){ float num = 0; + printf ("Pre ake x sa ma ratat horner?"); //prepis vstupu do premennej int vyhodnotenie = vyhodnot_vstup(&num); //vyhodnotenie vysledkov pomocnej funkcie - + if (vyhodnotenie == -1) { + printf("Vstupny input je NULL\n"); + exit(); + } + if (vyhodnotenie == -2) { + printf("Vstupny input je prazdny\n"); + exit(); + } + if (vyhodnotenie == -3) { + printf("Vstupny input sa nepodarilo precitat\n"); + exit(); + } //nejak horner + float vysledok = 0; + float koeficient[LINE_SIZE]; + memset (koeficient, 0, LINE_SIZE); + int idx = 0; + + while (1) { + + int vyhodnotenie = vyhodnot_vstup(&koeficient[idx]); + if (vyhodnotenie == 0 || vyhodnotenie == -2) { + break; + } else + if (vyhodnotenie == -1) { + printf("Vstupny input je NULL\n"); + exit(); + } else + if (vyhodnotenie == -3) { + printf("Vstupny input sa nepodarilo precitat\n"); + exit(); + } else { + idx++; + } + + } + + if (idx == 0) { + printf("Nebol nacitany ziaden vstup\n"); + exit(); + } //vysledok