Problema semplice

di il
5 risposte

Problema semplice

Salve ragazzi, sono un utente nuovo!
Piacere di conoscervi.Credo che in futuro avremo molto a che fare xD
Vabbè dai passiamo al dunque.

In pratica, non riesco a scrivere un codice che, data una risposta Da Tastiera, si distinguono due casi:
1°) se si risponde si, stampo a video una certa frase;
2°)se si risponde no,stampo a video una seconda frase;

ho provato vari tipi di codice come il switch case, un doppio if, un do while (peggiore dei tre ) ma niente, nel migliore dei casi stampava a video sempre e soltanto la prima frase indipendentemente dalla risposta!

grazie in anticipo

5 Risposte

  • Re: Problema semplice

    
    #include <iostream>
    using namespace std;
    int _tmain(int argc, _TCHAR* argv[])
    {
    	char c; c=' ';
    	while (c != 's' || c!= 'n')
    	{
    			 cin >> c;
    			 if ( c=='s') { cout << "questo"; return 0; }
    			 if ( c=='n') { cout << "altro"; return 0; }
    }
    	return 0;
    }
    
  • Re: Problema semplice

    Wuau grazie mille!
    Ha molto più senso come hai cosificato tu!
    Ogni riga che scrivevo era un macello hhahaah

    Grazie mille!
  • Re: Problema semplice

    Quel codice controlla solamente il primo carattere della risposta, non le parole "si" o "no".
  • Re: Problema semplice

    Grazie ancora ragazzi, mi è venuto!

    però per sicurezza, potete spiegarmi secondo quale criterio avete scritto la condizione del ciclo while?
    Per favore?
    Grazie
  • Re: Problema semplice

    A parte la faccenda del "si" e "no" di cui ti ho scritto e che non hai neanche commentato, quel codice è sbagliato.

    Se non vuoi che il programma termini mai il ciclo deve essere infinito e non deve prevedere i return
    
       while (1)
       {
              cin >> c;
              if ( c=='s') cout << "questo";
              if ( c=='n') cout << "altro";
       }
    
    se vuoi che termini solamente con s o n allora la while deve essere diversa
    
       while (c != 's' && c!= 'n')
       {
              cin >> c;
              if ( c=='s') cout << "questo";
              if ( c=='n') cout << "altro";
       }
    
Devi accedere o registrarti per scrivere nel forum
5 risposte