Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [C++] DO-WHILE e IF controllo di una risposta

    Buona sera a tutti vi posto un pezzo di codice che ho creato:
    codice:
     do //saldo di partenza
        {
            cout<<"hai un saldo di partenza?"<<endl;
            cin>>risp;
        }
        while (risp != si and risp != no and risp != No and risp != Si and risp != NO and risp != SI );
    
       if (risp == Si or risp == si or risp == SI)
        {
            cout<<"inserisci il saldo di partenza"<<endl;
            cin>>saldo_partenza;
        } //fine saldo di partenza
    in teoria dovrebbe fare una domanda,chiedere la risposta,verificare se la risposta è diversa da "si o no" se è diversa richiede di inserire la risposta altrimenti continua,ma invece qualsiasi cosa digito sulla tastiera mi rifà la domanda,come mai?

  2. #2
    Utente di HTML.it L'avatar di goatboy
    Registrato dal
    Mar 2011
    residenza
    Salerno
    Messaggi
    408
    Quando confronti qualcosa con una stringa si utilizzano, mi pare di ricordare, i doppi apici. Ad esempio se confronti risposta con si, dovresti scrivere "if risposta=="si". Ma poi, non sarebbe meglio utilizzare una strcmp per comparare due stringhe? La funzione strcmp si trova in string.h . Prova un pò.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Se in un codice scrivi

    si

    no

    queste saranno identificate come variabili non come costanti alfabetiche.

    A seconda di come hai dichiarato la variabile risp dovrai usare un metodo opportuno di confronto.

    == "si"

    se hai usato un oggetto string, oppure

    strcmp(risp, "si")

    se hai usato un semplice array di char.

    Se controlli su un libro del linguaggio, trovi tutto nei primi capitoli.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Originariamente inviato da oregon
    Se in un codice scrivi

    si

    no

    queste saranno identificate come variabili non come costanti alfabetiche.

    A seconda di come hai dichiarato la variabile risp dovrai usare un metodo opportuno di confronto.

    == "si"

    se hai usato un oggetto string, oppure

    strcmp(risp, "si")

    se hai usato un semplice array di char.

    Se controlli su un libro del linguaggio, trovi tutto nei primi capitoli.
    ho risolto usando l'"strcmp"! grazie

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Originariamente inviato da razielmitico
    ho risolto usando l'"strcmp"! grazie
    Meglio tardi che mai ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.