Scusa ma dove le vedi le due classi? :rollo:codice:#include <iostream> #include <string> using namespace std; string genere; void musica(char c) { //string genere; switch(c) { case 'm': genere = "Heavy Metal!"; break; case 'j': genere = "Jazz!"; break; case 'r': genere = "Rock!"; break; case 'p': genere = "Pop!"; break; case 'b': genere = "Blues!"; break; case 'a': genere = "Progressive!"; break; default: genere = "La musica che ascolti fa schifo!"; break; } } int main() { cout << "Premi m per scegliere Heavy Metal \n"; cout << "Premi j per scegliere Jazz \n"; cout << "Premi r per scegliere Rock \n"; cout << "Premi p per scegliere Pop \n"; cout << "Premi b per scegliere Blues \n"; cout << "Premi a per scegliere Progressive \n"; //char c=cin.get(); char c; //string genere; cin >> c; musica(c); cout << "Hai scelto: " << genere << endl; return(0); }
Quello che stai usando tu sono due metodi, il metodo main è il metodo principale, ovvero da dove inizia il programma. Se tu come argomento ci metti un riferimento stringa e dentro il corpo del metodo chiami genere, la variabile visualizzata sarà genere passata al main, che in questo caso è sempre vuota.
Gli altri problemi erano che il metodo musica non ritorna alcun tipo di dato, quindi va specificato come void e non come char.
Inoltre nel tuo codice il metodo musica non veniva mai chiamatoquindi anche genere globale non veniva modificato.


 
			
			 
					
					
					
						 Rispondi quotando
  Rispondi quotando