Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki, iškilo problemėlė su programa. Aš noriu, kad limitas būtų tik teigiamas, todėl suku ciklą 'while' kol limitas neigiamas. Tačiau nuskaitinėjant kintamąjį limitas įvedus kokią nesąmonę, pvz. 'a' man užsisuka amžinas ciklas. Norėjau paklausti, kodėl kai įvedu 'a' programa prašoka šitą vietą: "cin >> limitas;"?

 

	
int limitas = -1;						
cout << "Įveskite amžiaus limitą: ";
cin >> limitas;
while(limitas < 0){
  cout << "Klaida! Toks amžius būti negali.\n";
  cin >> limitas; // prasoka
}

Redagavo Cibulinskis
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki, iškilo problemėlė su programa. Aš noriu, kad limitas būtų tik teigiamas, todėl suku ciklą 'while' kol limitas neigiamas. Tačiau nuskaitinėjant kintamąjį limitas įvedus kokią nesąmonę, pvz. 'a' man užsisuka amžinas ciklas. Norėjau paklausti, kodėl kai įvedu 'a' programa prašoka šitą vietą: "cin >> limitas;"?

 

	
int limitas = -1;						
cout << "Įveskite amžiaus limitą: ";
cin >> limitas;
while(limitas < 0){
  cout << "Klaida! Toks amžius būti negali.\n";
  cin >> limitas; // prasoka
}

 

cout << "Klaida! Toks amžius būti negali. Įvesk dar kart:\n", cin >> limitas ;

Redagavo xadidas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

sukasi limitas cikle be galo nes jo reiksme nesikeicia, cia tas pats kas: sukam cikla kol turim maziau nei du obuolius, cikle tik ziurom i obuolius, o ciklas ir sukas kadangi obuoliu nei padaugeja nei pamazeja. jeigu kas nors tau duotu obuoli, tai ir pasibaigtu ciklas po keliu iteraciju, ir isvis kam tau cia ciklas reikalingas?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

sukasi limitas cikle be galo nes jo reiksme nesikeicia, cia tas pats kas: sukam cikla kol turim maziau nei du obuolius, cikle tik ziurom i obuolius, o ciklas ir sukas kadangi obuoliu nei padaugeja nei pamazeja. jeigu kas nors tau duotu obuoli, tai ir pasibaigtu ciklas po keliu iteraciju, ir isvis kam tau cia ciklas reikalingas?

 

limitas reikšmė keičiasi, ji vis per naują nuskaitoma. Ciklas reikalingas, kad tol prašytų įvesti reikšmę, kol gausis tinkamą.

 

//------------------------------------

Išsisprendžiau problemą, įterpdamas į ciklą papildomus metodus

cin.clear();

ir

cin.ignore(1000,'\n');

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...