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

    [C++] Programma istruzione SWITCH

    Ciao raga, sto provando a fare un programmino che inserendo il giorno della settimana mi dice l'orario scolastico...ho provato con il costrutto switch però ho dei dubbi...questo è il codice:

    codice:
    int main(){
    	int giorno;
    	
    		cout<<"Orario scolastico."<<endl;
    		cout<<"Di quale giorno vuoi vedere l'orario?"<<endl;
    		cout<<"1. Lunedi"<<endl;
    		cout<<"2. Martedi"<<endl;
    		cin>>giorno;
    		switch (giorno){ 																				
    			case '1':
                              cout<<"orario lunedi"<<endl;
                              break;
                            case '2':
                               cout<<"orario martedi"<<endl;
                              break;
                            default:
                               cout<<"Non c'è scuola"<<endl;
                            break;
                        }
    se lo compilo così funziona e va bene...però il mio dubbio era: Invece di inserire i numeri associati al giorno è possibile inserire proprio il giorno, ad esempio scrivere LUNEDI e poi ricevere in stampa l'orario del lunedì???

    ho provato a farlo così:
    codice:
    int main(){
    	char giorno;
    	
    		cout<<"Orario scolastico."<<endl;
    		cout<<"Di quale giorno vuoi vedere l'orario?"<<endl;
    		cout<<"lunedi"<<endl;
    		cout<<"martedi"<<endl;
    		cin>>giorno;
    		switch (giorno){ 																				
    			case lunedi:
                              cout<<"orario lunedi"<<endl;
                              break;
                            case martedi:
                               cout<<"orario martedi"<<endl;
                              break;
                            default:
                               cout<<"Non c'è scuola"<<endl;
                            break;
                        }
    in questo modo il programma non va...cosa sbaglio??? anche se dichiaro le risposte lunedi e martedi, non me lo compila...come mai?? grazie

  2. #2
    Utente di HTML.it L'avatar di linoma
    Registrato dal
    Mar 2010
    Messaggi
    1,346
    usa enum
    Per gli Spartani e Sparta usa spartan Il mio github

  3. #3
    ho provato ma non capisco come usarlo:

    codice:
    int main()
    {
          enum giornoS 
             { 
             lunedi, 
             martedi
             };
        
        giornoS giorno;
        char giorno;
        
        cout<<"Inserisci il giorno della settimana:"<<endl;
        cout<<"1. Lunedì"<<endl;
        cout<<"2. Martedì"<<endl;
        cin>>giorno;
        
       
                             
        switch(giorno) 
        {
               case lunedi:
                    cout<<"Pinco"<<endl;
                    break;
               case martedi:
                    cout<<"panco"<<endl;
                    break;
               default:
               cout<<"scemo chi legge."<<endl;
               break;
               }
    mi da un errore con la variabile char giorno

  4. #4
    Utente di HTML.it L'avatar di sotoli
    Registrato dal
    Mar 2008
    Messaggi
    150
    Hai dichiarato 2 volte la variabile giorno:
    codice:
    giornoS giorno;
    char giorno;
    Devi usare nomi diversi.
    Crestron Control Systems and AMX Control Systems Programmer

  5. #5
    Innanzitutto
    char giorno;
    ti dichiara una variabile di tipo char (un solo carattere).
    Quindi se tu nel cin metti "lunedi" è ovvio che non ti funziona.

    Volendo puoi usare le stringhe:
    #include <string>

    string giorno;
    getline(cin,giorno);

    ma NON puoi usare lo switch: lui funziona solo con valori numerici interi (un char in realtà è un intero, per questo nel case funziona).
    if(giorno=="lunedi")
    cout<<"pinco"<<endl;
    else if(giorno=="martedi")
    cout<<"panco"<<endl;

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.