Problema di inserimento CASE in switch

di il
25 risposte

Problema di inserimento CASE in switch

Salve a tutti sto cercando di compilare un codice nel quale il case voglio che contenga sia un numero sia una parola ma non capisco come fare, ogni volta mi riporta un errore "[Warning] character constant too long for its type"



#include<iostream>
 using namespace std;
 int main(){
 
 	float somma=0.0;
	 float media=0.0;
 	char mese;
 	float temp[31];

	
	cout<<"Di quale mese vuoi inserire le temperature? ";
	cin>>mese;
	
    switch(mese){
	
	case '1'||'Gennaio':


	for (int i=0;i<31;i++){
	
	cout<<" inserisci temperatura: "<<endl;
	cin>>temp[i];
}
	break;
		case 2:
		for (int i=0;i<28;i++){
		cout<<"Inserisci temperatura: ";
		cin>>temp[i];
		}
		break;

25 Risposte

  • Re: Problema di inserimento CASE in switch

    In codice mettilo nel tag code.
    Nel case puoi mettere solo interi o singoli caratteri, non stringhe.
  • Re: Problema di inserimento CASE in switch

    Per cominciare, quando posti del codice nel forum usa i tag CODE o non si capisce molto.

    In secondo luogo, ci sono parecchi errori.

    1) non puoi usare stringhe nei case ma solo valori integrali (interi, char, enumerazioni), ripassa la sintassi dello switch case ... quello che vuoi fare è impossibile

    2) la stringa "Gennaio" non potrà mai essere contenuta in una variabile char

    3) non puoi usare l'operatore | in quel modo
  • Re: Problema di inserimento CASE in switch

    Ok magari è impossibile. Ma se volessi fare che quando l'utente sceglie il numero 1 (ossia Gennaio) o scrive Gennaio, il programma intende tali risposte primo caso ? COme posso??? Utilizzando queste funzioni?
  • Re: Problema di inserimento CASE in switch

    Purtroppo non c'è altro modo che usare if... else if.
    O altrimenti chiedere all'utente il mese solo in formato numerico.
  • Re: Problema di inserimento CASE in switch

    Alexv ha scritto:


    Purtroppo non c'è altro modo che usare if... else if.
    O altrimenti chiedere all'utente il mese solo in formato numerico.
    Come sarebbe con if ed else? esempio?
  • Re: Problema di inserimento CASE in switch

    Non conosci if e else?
  • Re: Problema di inserimento CASE in switch

    Alexv ha scritto:


    Non conosci if e else?
    conosco, ma vorrei un esempio in questo caso
  • Re: Problema di inserimento CASE in switch

    Ma perché non provi tu a scrivere qualcosa in base al suggerimento al posto di attendere la pappa pronta?
  • Re: Problema di inserimento CASE in switch

    oregon ha scritto:


    Ma perché non provi tu a scrivere qualcosa in base al suggerimento al posto di attendere la pappa pronta?

    Grazie dell'aiuto. Ho provato la "pappa" con if e non va, l'unica soluzione che mi viene è di fare 36 casi specificando un caso per Gennaio, uno per gennaio e così via
  • Re: Problema di inserimento CASE in switch

    Con l'or ne bastano meno di if. Più di un mese hanno 31 o 30 giorni.
  • Re: Problema di inserimento CASE in switch

    MrMind6767 ha scritto:


    oregon ha scritto:


    Ma perché non provi tu a scrivere qualcosa in base al suggerimento al posto di attendere la pappa pronta?

    Grazie dell'aiuto. Ho provato la "pappa" con if e non va, l'unica soluzione che mi viene è di fare 36 casi specificando un caso per Gennaio, uno per gennaio e così via
    Intanto prova a scrivere qualcosa con la if per Gennaio e poi vediamo ....
  • Re: Problema di inserimento CASE in switch

    oregon ha scritto:


    MrMind6767 ha scritto:


    oregon ha scritto:


    Ma perché non provi tu a scrivere qualcosa in base al suggerimento al posto di attendere la pappa pronta?

    Grazie dell'aiuto. Ho provato la "pappa" con if e non va, l'unica soluzione che mi viene è di fare 36 casi specificando un caso per Gennaio, uno per gennaio e così via
    Intanto prova a scrivere qualcosa con la if per Gennaio e poi vediamo ....
    Ho specificato che ho già usato if e non va. Non mi viene nulla in mente che possa dare come risultato ciò che voglio
  • Re: Problema di inserimento CASE in switch

    Ma che vuol dire "non va"

    Se mese è una stringa, cosa non va in

    if(mese == "Gennaio")
  • Re: Problema di inserimento CASE in switch

    Posta il codice, anche per solo un mese.
Devi accedere o registrarti per scrivere nel forum
25 risposte