View Single Post
Old 13-06-2010, 20:23   #1
enrico.pix
Senior Member
 
Iscritto dal: May 2008
Città: Messina
Messaggi: 548
[C++] "vuoi eseguire un'altra operazione?"

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?
Codice:
#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'); 
}
__________________
Cosa c'è in tv? corto sulla tv trash!
Concluse le trattative di vendita/scambio positivamente con Ares17, gigarobot, Ale29, Amiga1200 e manga81
conclusa la trattativa di acquisto positivamente con rambdco.
enrico.pix è offline   Rispondi citando il messaggio o parte di esso