Domanda Risolto Aiuto!! non rieco a far funzionare lo switch :(

DanyDollaro

Utente Electrum
14 Luglio 2018
148
41
58
138
Ultima modifica:
Salve a tutti, ultimamente mi stavo cimentando con il comando " Switch" in C++ , inizialmente ho iniziato a fare switch con dei semplici numeri:

case 1: cout << "hai scelto 1" << endl;

e da li tutto bene, poi ho iniziato a farlo con delle parole:

case 'ciao': cout << "hai scelto ciao" << endl;

e qui sorge il problema, ho creato un piccolo codice per vedere se funzionava:
Codice:
#include <iostream>
using namespace std;

int main() {

    char test;
    cin >> test;

    switch (test)
    {
        case 's':
        case 'S':
            cout << " S " << endl;
            break;

    case 'test':
        cout << "test" << endl;
        break;
    }
    system("pause");
}

il primo codice dello Switch "S" funziona dato che l'ho preso da internet e riadattato, e poi ho scritto il secondo Switch "test" che appunto avendolo creato io non capisco il perchè non funzioni, semplicemente non esegue il comando imposto, qualcuno di voi saprebbe dirmi perchè non va :\ ?

(come compilatore uso visual studio 2017)
 
quindi dovrei fare:

case "test": cout << "test" << endl;

ma se faccio così mi dice chè è il primo test è sbagliato e non posso debbugarlo, potresti farmi un'esmpio?
 
Prova a met
quindi dovrei fare:

case "test": cout << "test" << endl;

ma se faccio così mi dice chè è il primo test è sbagliato e non posso debbugarlo, potresti farmi un'esmpio?
Prova a mettere tutto con i doppi apici,io i singoli non li ho mai usati
Messaggio unito automaticamente:

Inoltre la variabile test deve essere di tipo stringa
 
  • Mi piace
Reazioni: J4ck0xFF
Ultima modifica:
eh lo so, ho provato a metterlo di tipo stringa ma (includendo anche la libreria <string>) ma riceveo lo stesso degli errori
Messaggio unito automaticamente:

Ho risolto, il problema è che lo switch funziona solo con variabili, e un char non viene definita come varibile, comunque grazie lo stesso per il tuo impegno :)
 
eh lo so, ho provato a metterlo di tipo stringa ma (includendo anche la libreria <string>) ma riceveo lo stesso degli errori
Messaggio unito automaticamente:

Ho risolto, il problema è che lo switch funziona solo con variabili, e un char non viene definita come varibile, comunque grazie lo stesso per il tuo impegno :)
In realtà char è una variabile...solo che occupa un carattere, non puoi inserire la stringa ciao in una variabile char
 
Ultima modifica:
uh, grazie mille per questa tua informazione :)
Messaggio unito automaticamente:

ah ma, dato che per le stringhe il comando "Cin <<" non funziona sapresti dirmi come assegnarli un valore?
ah fatto, dovevo includere la libreria <string>