miten voisin toteuttaa

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
4372
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

mistä syöte tulee, ja millä sitä luet ?

jos ei muuta niin lue merkki/tavu kerrallaan.

Äänestä
  • 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

    Äänestä

  • jea kirjoitti:

    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());

    Äänestä

  • Vasenjalkainen kirjoitti:

    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

    Äänestä

Kommentoi aloitusta


jea kirjoitti:

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

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu