previous next Up Title Contents Index

Tehtävä 21

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.

previous next Up Title Contents Index