controllo input in c++
  • In diretta da GamesVillage.it
    • News
    • -
    • In Evidenza
    • -
    • Recensioni
    • -
    • RetroGaming
    • -
    • Anteprime
    • -
    • Video
    • -
    • Cinema

Visualizzazione risultati da 1 a 11 di 11

Discussione: controllo input in c++

Cambio titolo
  1. #1
    dudley
    Ospite

    Sorriso controllo input in c++

    Come posso effettuare in c++ un controllo input del genere es:
    devo acquisire un numero da 0 a 9 (e quindi escludere tutti i caratteri MAIUSCOLI e minuscoli, la punteggiatura, altri caratteri tipo tab,ecc.).

    Credo che esistono delle funzioni già predefinite ma come funzionano?
    Potete inserire degli spezzoni di codice?
    Grazie!

  2. #2
    SeeYouInSpaceCowboy... L'avatar di balmung91
    Registrato il
    10-04
    Località
    Nei miei Trip
    Messaggi
    879
    mmn non basta un if ?

    ti faccio un esempio in c che il c++ non lo so:

    ValScelta = 1;
    while(ValScelta == 1)
    {
    printf("inserisci....");
    scanf("%d",&numero);
    if(numero < 1 || numero > 9)
    {
    printf("scelta non valida!");
    ValScelta = 1;
    }
    else
    {
    ValScelta = 0;
    printf("scelta valida");
    }
    }


    credo funzioni XD


    www.webapocalypse.org
    In ottimo stile web 2.0 ho anchio un ombra sotto di me. Sono uscito dalla fabbrica così ben 17 anni fa.[cit.]


  3. #3
    dudley
    Ospite
    (io parlo del c++, cmq) Se metti una lettera il programma o ti va in loop oppure ti fa cose strane.

  4. #4
    SeeYouInSpaceCowboy... L'avatar di balmung91
    Registrato il
    10-04
    Località
    Nei miei Trip
    Messaggi
    879
    mmh...allora forse si pu&#242; risolvere dichiarando la variabile numerica come char e cambiando le cose dovute (numeri tra apici ecc.) credo funzioni.

    avevo letto parlavi di c++ ma io so il c, sono molto simili e la logica &#232; quella


    www.webapocalypse.org
    In ottimo stile web 2.0 ho anchio un ombra sotto di me. Sono uscito dalla fabbrica così ben 17 anni fa.[cit.]


  5. #5
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.310
    puoi usare la funzione isdigit() contenuta nella libreria ctype.h
    isdigit() ritorna un valore diverso da 0 se il carattere passato come parametro &#232; una cifra

  6. #6
    dudley
    Ospite
    Citazione devilheart
    puoi usare la funzione isdigit() contenuta nella libreria ctype.h
    isdigit() ritorna un valore diverso da 0 se il carattere passato come parametro è una cifra
    OK, puoi farmi un esempio?
    Quanti argomenti devo passare?

  7. #7
    Utente L'avatar di devilheart
    Registrato il
    01-03
    Messaggi
    28.310
    isdigit prende un solo parametro: il carattere da controllare che deve essere di tipo unisgned char
    Codice:
    unsigned char c;
    cin>>c;
    if (isdigit(c)!=0)
    cout<<"c &#232; una cifra";
    else
    cout<<"c non &#232; una cifra";
    ricorda che se gli dai in input un numero o un misto invece che una cifra il controllo sar&#224; effettuato solo sulla cifra pi&#249; a sinistra dato che char ne coniene solo una
    ad esempio
    10 &#232; considerato cifra
    3z &#232; considerato cifra
    Ultima modifica di devilheart; 18-09-2006 alle 20:30:50

  8. #8
    Dendrofilia L'avatar di Bigville
    Registrato il
    02-05
    Messaggi
    22.651
    Citazione balmung91
    mmn non basta un if ?

    ti faccio un esempio in c che il c++ non lo so:

    ValScelta = 1;
    while(ValScelta == 1)
    {
    printf("inserisci....");
    scanf("%d",&numero);
    if(numero < 1 || numero > 9)
    {
    printf("scelta non valida!");
    ValScelta = 1;
    }
    else
    {
    ValScelta = 0;
    printf("scelta valida");
    }
    }


    credo funzioni XD
    mmmmmmmm........... premetto che non so il c, ma non si mette if(numero < '1' || numero > '9') ?


  9. #9
    SeeYouInSpaceCowboy... L'avatar di balmung91
    Registrato il
    10-04
    Località
    Nei miei Trip
    Messaggi
    879
    Citazione Bigville
    mmmmmmmm........... premetto che non so il c, ma non si mette if(numero < '1' || numero > '9') ?
    io quello l'avevo scritto pensandoli dichiarati int quindi non serviva ''...
    se li dichiaravo char si


    www.webapocalypse.org
    In ottimo stile web 2.0 ho anchio un ombra sotto di me. Sono uscito dalla fabbrica così ben 17 anni fa.[cit.]


  10. #10
    Dendrofilia L'avatar di Bigville
    Registrato il
    02-05
    Messaggi
    22.651
    Citazione balmung91
    io quello l'avevo scritto pensandoli dichiarati int quindi non serviva ''...
    se li dichiaravo char si
    ah, non lo sapevo


  11. #11
    dudley
    Ospite
    OKAY, ma se io volessi fare il controllo su stringhe varie (caratteri di vario generi)?

Regole di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •