Affinché il programma vada avanti con switch case solo se l'utente ha inserito uno dei quattro segni, io racchiuderei swtch in un if che verifichi il segno. Quindi, prima di "switch (segno).." metti if (segno=="+" | segno=="-" | segno =="*" | segno=="/") { switch (segno) ....con tutti i casi che hai scritto ... } else cout << "\nErrore segno\n";
oppure una soluzione più elegante è quella di far reinserire il segno se l'utente ha sbagliato, in questo caso racchiudi la parte dove prendi in input il segno in un ciclo while....
Poi la cosa che si butta subito nell'occhio è la mancanza di "break;" alla fine di ogni "case", come ha già detto tuttodiMC.
Per quanto riguarda la domanda di come far ripetere il programma, direi di fare un menu di questo tipo
int risp;
do
{ cout << "\n1. Calcolatrice;\n2. Esci\nDigitare l'opzione...\t"; cin >> risp;
if (risp==1)
{ //il corpo del tuo programma: prendo in input i dati, eseguo i calcoli...
}
}
while (risp!=2);
Ah poi io non ho capito, qunado tu scrivi int a(0); con "(0)" lo stai inizializzando? Perché per qunato ne sappia io, dovresti scrivere int a =0;
Spero di essere stata d'aiuto, e spero di non aver commesso errori
Ultima modifica effettuata da AdaBayer il 16/11/2014 alle 22:56 |