Kirjoita funktio, joka pyytää käyttäjältä luvun annetulta väliltä ja tarkistaa luvun kelvollisuuden.
Mikäli luku ei ole annetulla välillä tai se ei ole numeerinen, sitä pyydetään funktiossa uudelleen. '
Funktio palauttaa kutsujalleen käyttäjän syöttämän luvun.
Funktiota kutsutaan seuraavasti:
luku = pyyda_luku_valilta (alaraja, ylaraja);
Käytä funktiossa sscanf()-funktion palauttamaa arvoa, joka ilmaisee onnistuneiden syötteiden lukumäärän:
gets (rivi); onnistui = sscanf (rivi,"%f",&syote); while (onnistui != 1 /* tai luku ei ole välillä */) { printf ("Virheellinen syöte!") /* tässä täytyy lukea uudelleen */ }
Jos sscanf() onnistuu lukemaan yhden syötteen, onnistui-muuttuja saa arvon 1. Jos arvoksi tulee 0, syöte ei ole numeerinen. Mikäli käyttäjä antaa syötteeksi pelkän ENTER:n painalluksen, sscanf() palauttaa arvon -1.