Commit e4c45302 by Jürgen Hein

Õigesti töötav versioon. Lisatud muutuja Kontroll, sisestus ümber tehtud. Kodutoo1.c

parent df249264
Showing with 20 additions and 14 deletions
/*Antud on funktsioon ja teatud algväärtused. /*Antud on funktsioon ja teatud algväärtused.
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
int main(void) int main(void)
{ {
//Algväärtustamine
double A; //argumendi x algväärtus A double A; //argumendi x algväärtus A
double H; //Samm double H; //Samm
double C; //Sammu koefitsent double C; //Sammu koefitsent
...@@ -20,51 +21,56 @@ int main(void) ...@@ -20,51 +21,56 @@ int main(void)
double x; //Ajutine väärtus x väärtuste leidmiseks double x; //Ajutine väärtus x väärtuste leidmiseks
int i; //Järjenumber int i; //Järjenumber
double puudub[rida]; //Massiiv, et näidata x väärtusi, mille korral y väärtus puudub. double puudub[rida]; //Massiiv, et näidata x väärtusi, mille korral y väärtus puudub.
int Kontroll; //Muutuja, mis näitab mitu sisendväärtust omistati kindlale muutujale
//Sisestus //Sisestus
do do
{ {
printf("Sisestage argumendi x algväärtus A \n"); printf("Sisestage argumendi x algväärtus A \n");
if(scanf("%lf", &A) != 1) Kontroll = scanf("%lf", &A); //Kontroll näitab mitu väärtust omistati muutujale
//Antud juhul 0 (sisestatud väärtus pole double) või 1.
if(Kontroll == 0) //Sisestati väärtus, mis pole reaalarv.
{ {
printf("Sisestatud väärtus ei sobi, sisestage reaalarv."); printf("Sisestatud väärtus ei sobi, sisestage reaalarv.");
scanf("%*s"); //Kui väärtus pole reaalarv, ei anta A-le väärtust. scanf("%*s"); //Kui väärtus pole reaalarv, ei anta A-le väärtust.
} //Ehk sisestatud väärtust ei arvestata. Vastasel juhul loop ei lõpeks. } //Ehk sisestatud väärtust ei arvestata. Vastasel juhul loop ei lõpeks.
} while(scanf("%lf", &A) != 1); //Kontroll, kas sisestatud on reaalarv, } while(Kontroll == 0); //Kontroll, kas sisestatud on reaalarv,
/*Kui ...=0, siis A-le ei ole määratud väärtust ehk /*Kui ...=0, siis A-le ei ole määratud väärtust ehk
*(A ei ole double väärtus), kui ...=1, siis on.*/ *(A ei ole double väärtus), kui ...=1, siis on.*/
do do
{ {
printf("Sisestage samm H \n"); printf("Sisestage samm H \n");
if(scanf("%lf", &H) != 1 || H<=0 ) Kontroll = scanf("%lf", &H);
if(Kontroll == 0 || H<=0) //H ei saa olla väiksem kui 0, peab olema reaalarv.
{ {
printf("Sisestatud väärtus ei sobi, sisestage reaalarv, mis on suurem kui 0"); printf("Sisestatud väärtus ei sobi, sisestage reaalarv, mis on suurem kui 0");
scanf("%*s", &H); scanf("%*s");
} }
} while(scanf("%lf", &H) != 1 || H<=0); //H ei saa olla väiksem kui 0. } while(Kontroll == 0 || H<=0); //H ei saa olla väiksem kui 0.
//H peab olema reaalarv. //H peab olema reaalarv.
do do
{ {
printf("Sisestage sammu koefitsent C (C>=1) \n"); printf("Sisestage sammu koefitsent C (C>=1) \n");
if(scanf("%lf", &C) != 1 || C<0) Kontroll = scanf("%lf", &C);
if(Kontroll == 0 || C<0)
{ {
printf("Sisestatud väärtus ei sobi, sisestage reaalarv."); printf("Sisestatud väärtus ei sobi, sisestage reaalarv, mis on suurem või võrdne kui 1");
scanf("%*s", &C); scanf("%*s");
} }
} while(C<0 || scanf("%lf", &C) != 1); //C<0 ja reaalarv kontroll } while(C<0 || Kontroll == 0); //C<0 ja reaalarv kontroll
do do
{ {
printf("Sisestage funktsiooni väärtuse y ülempiir YM \n"); printf("Sisestage funktsiooni väärtuse y ülempiir YM \n");
if(scanf("%lf", &YM) != 1) Kontroll =scanf("%lf", &YM);
if(Kontroll == 0)
{ {
printf("Sisestatud väärtus ei sobi, sisestage reaalarv."); printf("Sisestatud väärtus ei sobi, sisestage reaalarv.");
scanf("%*s", &YM); scanf("%*s");
} }
} while(scanf("%lf", &YM) != 1); //reaalarvu kontroll } while(Kontroll == 0); //reaalarvu kontroll
//Töötlus //Töötlus
//x väärtuste leidmine //x väärtuste leidmine
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment