candaluar ha scritto:
while(a != 'e' || a != 'E');
sei sicuro di questo test?
Dici che può essere proprio questo l'errore? Non dovrebbe uscire una volta inserito E?
E' relativo al suo non tornare in cima?
EDIT: hai ragione tu. Ho appena provato a inserire la E ma il programma si impalla.
Però nonostante tutto ho il dubbio su cosa inserire lì.
Altro Edit: Ok, l'ho riscritto così e spero vada bene:
#include <stdio.h>
#include <stdlib.h>
int main(){
int salvadanaio=50;
int prel, ins, ciclo=1;
char a;
printf("Cosa vuoi fare?\n");
printf("P per prelevare, I per inserire, E per uscire\t");
do{
a = getchar();
if(a=='P' || a=='p'){
printf("Quanto vuoi prelevare?\t");
scanf("%d",&prel);
if(prel>salvadanaio){
printf("Non ci sono cosi' tanti soldi nel salvadanaio!\n");}
else{
salvadanaio = salvadanaio - prel;
printf("Fatto! Adesso ci sono %d euro nel tuo salvadanaio",salvadanaio);}
}
else if(a=='I' || a=='i'){
printf("Quanto vuoi inserire nel portafogli?\t");
scanf("%d",&ins);
salvadanaio += ins;
printf("Adesso ci sono %d euro nel salvadanaio!\t",salvadanaio);
}
else if(a=='E' || a=='e'){
printf("Hai scelto di chiudere, ciao!\n");
return 0;
}
}while(ciclo=1);
return 0;
}
Ma, anche se stavolta riesce ad uscire dal programma, effettuando le altre operazioni non torna in cima al ciclo.