c-kielinen funktio jossa luetaan käyttäjältä yksi positiivinen 10-järjestelmän kokonaisluku. Funktiossa tarkastetaan, että luku sisältää vain merkejä 0-9.
Osaisiko kukaan auttaa kun ei oo itellä oikein vielä ohjelmoinnit tarpeeksi hallussa tämmöisen ratkaisemiseksi.
Kiitos avusta
Osaisiko kukaan auttaa kun ei oo itellä oikein vielä ohjelmoinnit tarpeeksi hallussa tämmöisen ratkaisemiseksi.
Kiitos avusta
Vastaukset 5
Vanhimmat
miten niin ei ole hallussa? mitä kohtaa siinä et osaa? kukaan ei tule kirjottamaan sulle valmista vastausta johonkin kotiläksyyn.
usein löytyy joku "guru" jolla on liikaa valmista aikaa että naputtaa toiselle vastauksen tarjottimella
mietiskelin että jos löytyis käsky jolla voisi testata josko käyttäjän syöttämä merkki on kokonaisluku.
ctype.h: int isdigit(int c)
palauttaa 1 jos c on '0'-'9', muutoin 0
Kyllä niitä valmiita funktioita varmaan löytyy monista kirjastoista mutta sen tekeminen itse onnistuu kyllä aloitteliaaltakin. Oikeastaan se onnistuu yhdellä if lauseella ;)
Voisin antaa pari vinkkiä:
Kaikki käyttäjän syöttämä teksti koostuu ascii-kirjaimista. Näinollen kaikki merkit näppäimistöllä vastaa jotakin numeroa ja vertaamalla näitä numeroita voidaan päätellä mitä käyttäjä on syöttänyt.
Täältä löytyy kätevä ASCII-taulukko http://www.asciitable.com/ .
Punaisella merkityt kirjaimet vastaavat käyttäjän syöttämiä merkkejä kun taas Dec kolumnin alta löydät vastaavan numeron.