nyt voi mua viissammat vähän helppiä ja sanoa että miten voisin toteuttaa helposti tarkistuksen syötteelle kun jos syöte on väärä niin se aiheuttaa ylipuskurivuodon eikä se oo kovinkaa toivottu tilanne ohjelmassa ja yleensä viellä se sekoaa aika lailla samalla... itse olen miettiny seuraavia poikeukset eli try tai sitten ihan if lauseilla vai onko jotain paremaa tapaa... pieni esimerkki ei oo pahaks
miten voisin toteuttaa
jea
4372
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 4
Vanhimmat
mistä syöte tulee, ja millä sitä luet ?
jos ei muuta niin lue merkki/tavu kerrallaan.
jos luen syöte tulee käyttäjältä vaikka
int muuttuja;
cin >> muuttuja; jo jos tossa syöttää sellasen luvun mikä ei mahu int muuttujaan tai sitten syöttää vahingossa kirjaimen. nii millä voisin controlloida joko ohjelman hallitusti alas tai saada sen kysymään uudestaan tuota muuttujaa niin kauan että käyttäjä antaa hyväksytyn syötteen
Käsittääkseni liian suuri aiheuttaa virheen, jonka voi tarkistaa cin.fail()-metodilla.
Virheen jälkeen täytyy kutsua cin.clear()-metodia jotta flagit poistetaan ja seuraavat cin-kutsut onnistuisivat.
Eli lyhyesti onnistuneen syötteen haku voisi toimia seuraavasti
do
{
cin.clear();
cin >> muuttuja;
}
while (cin.fail());
joo no nyt selviskin kiitti