#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { float a; float b; float wynik; char znak; cout<<"podaj pierwsza liczbe: "; cin>>a; cout<<"podaj druga liczbe: "; cin>>b; cout<<"--------------------------"<<endl; cout<<"podaj znak dzialania: "<<endl; cout<<""<<endl; cout<<"+ | dodawanie"<<endl; cout<<"- | odejmowanie"<<endl; cout<<"* | mnozenie"<<endl; cout<<"/ | dzielenie"<<endl; cout<<""<<endl; cout<<"twoj wybor: "; cin>>znak; switch (znak) { //dodawanie case '+': wynik=a+b; if (b<0) { cout<<"twoj wynik: "<<a<<znak<<"("<<b<<")"<<"="<<wynik<<endl; break; } if (a<0) { cout<<"twoj wynik: "<<"("<<a<<")"<<znak<<b<<"="<<wynik<<endl; break; } cout<<"twoj wynik: "<<a<<znak<<b<<"="<<wynik<<endl; break; //odejmowanie case '-': wynik=a-b; if (b<0) { cout<<"twoj wynik: "<<a<<znak<<"("<<b<<")"<<"="<<wynik<<endl; break; } if (a<0) { cout<<"twoj wynik: "<<"("<<a<<")"<<znak<<b<<"="<<wynik<<endl; break; } cout<<"twoj wynik: "<<a<<znak<<b<<"="<<wynik<<endl; break; //mnozenie case '*': if (b<0) { cout<<"twoj wynik: "<<a<<znak<<"("<<b<<")"<<"="<<wynik<<endl; break; } if (a<0) { cout<<"twoj wynik: "<<"("<<a<<")"<<znak<<b<<"="<<wynik<<endl; break; } wynik=a*b; cout<<"twoj wynik: "<<a<<znak<<b<<"="<<wynik<<endl; break; //dzielenie case '/': if (b==0) { cout<<"nie dzieli sie przez 0!"<<endl; break; } if (b<0) { cout<<"twoj wynik: "<<a<<znak<<"("<<b<<")"<<"="<<wynik<<endl; break; } if (a<0) { cout<<"twoj wynik: "<<"("<<a<<")"<<znak<<b<<"="<<wynik<<endl; break; } wynik=a/b; cout<<"twoj wynik: "<<a<<znak<<b<<"="<<wynik<<endl; break; } system("PAUSE"); return EXIT_SUCCESS; }
jak zrobić żeby po caseach czyli po załamaniu instrukcji wyboru przez "break" wywołać opcję "czy chcesz liczyć dalej?" która to przeniesie na górę i zacznie od wprowadzania na nowo danych a i b?
myślałem żeby obrać to w do () {}while.. ale wtedy musiałbym definiować zmienną do while na samym początku a to ma być po pierwszym przeprowadzonym liczeniu.. może ktoś ma pomysł ??
[ Dodano: 22-09-2009, 20:30 ]
generalnie mozna zrobić coś takiego, tylko jak wyskoczyć na górę
cout<<"liczyc dalej? (t- tak, n-nie) : "; char odp; cin>>odp;