enrico.pix
13-06-2010, 20:23
problemino semplice semplice, il titolo č esplicativo. č una specie di esercizio while learning....
mi ritrovo con un programma-calcolatrice. si scrive l'operazione che si vuole effettuare, e il programma pensa a stampare il risultato.
dopo l'operazione, perņ, vorrei che l'utente scegliesse se effettuare un'altra operazione.
ho provato con il do while, impostando che alla pressione del tasto n, presumibilmente subito dopo la domanda, il programma non ciclasse, altrimenti ciclasse. questa soluzione non si č rivelata perņ efficace, infatti se non viene premuto alcun tasto, non viene premuta nemmeno la n, quindi ripete il do...
ecco il codice. che soluzione posso adottare?
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
char op;
do {
float a;
float b;
float res;
cout<<"benvenuto nella calcolatrice by balsick\n\nscrivi l'operazione da eseguire\n\n";
cin>>a;
cin>>op;
switch (op){
case '+' : {
cin>>b;
res=a+b;
break;
}
case '-' : {
cin>>b;
res=a-b;
break;
}
case '/' : {
cin>>b;
if (b=0){
cout<<"operazione impossibile";
}
else{
res=a/b;
}
break;
}
case '*' : {
cin>>b;
res=a*b;
break;
}
}
cout<<"il risultato e':"<<res;
cout<<"\n\n";
cout<<"vuoi eseguire altre operazioni?(s/n)\n";
}
while ((tolower(getchar()))!='n');
}
mi ritrovo con un programma-calcolatrice. si scrive l'operazione che si vuole effettuare, e il programma pensa a stampare il risultato.
dopo l'operazione, perņ, vorrei che l'utente scegliesse se effettuare un'altra operazione.
ho provato con il do while, impostando che alla pressione del tasto n, presumibilmente subito dopo la domanda, il programma non ciclasse, altrimenti ciclasse. questa soluzione non si č rivelata perņ efficace, infatti se non viene premuto alcun tasto, non viene premuta nemmeno la n, quindi ripete il do...
ecco il codice. che soluzione posso adottare?
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
char op;
do {
float a;
float b;
float res;
cout<<"benvenuto nella calcolatrice by balsick\n\nscrivi l'operazione da eseguire\n\n";
cin>>a;
cin>>op;
switch (op){
case '+' : {
cin>>b;
res=a+b;
break;
}
case '-' : {
cin>>b;
res=a-b;
break;
}
case '/' : {
cin>>b;
if (b=0){
cout<<"operazione impossibile";
}
else{
res=a/b;
}
break;
}
case '*' : {
cin>>b;
res=a*b;
break;
}
}
cout<<"il risultato e':"<<res;
cout<<"\n\n";
cout<<"vuoi eseguire altre operazioni?(s/n)\n";
}
while ((tolower(getchar()))!='n');
}