Ja tez mam problem z kalkulatorem
Ostatnio zmodyfikowano 2012-06-16 14:54
zoranka Temat założony przez niniejszego użytkownika |
Ja tez mam problem z kalkulatorem » 2012-06-15 23:57:47 Usiłuję napisać kalkulator.Piszę go stopniowo i włączam kolejne instrukcje po kolei.Na tym etapie nie jest jeszcze pełny, jeszcze nie dodałam instrukcji które by przerwały jego działania kiedy któraś z liczb będzie równa 0 więc nie pytajcie dlaczego ich nie ma.Mój program jest pewnie nieporadny (proszę nie śmiejcie się i nie krytykujcie za ostro) ale w miarę do tej pory działa tak jak powinien,przynajmniej dopóki wpisuje się do niego 2 liczby tak jak powinno być. Niestety kiedy zamiast którejś z liczb wpisuję literę program zaczyna wariować. Chciałabym żeby w takim wypadku od nowa wypisywał nazwę liczby (a albo b) i pytał o nią. Ale on wypisuje nazwę liczby i ..... wypisuje ją w kółko zamiast przejść do pytania. Czy mógłby ktoś mnie naprowadzić co jest nie tak?
# include <iostream> int main() { int a; int b; bool adobrze = 0; bool bdobrze = 0; std::cout << " \tKalkulator" << std::endl << std::endl; do { std::cout << "a" << std::endl << std::endl; std::cin >> a; adobrze = std::cin.good(); } while( adobrze == 0 ); std::cin.clear(); std::cin.sync(); do { std::cout << " \nb" << std::endl << std::endl; std::cin >> b; bdobrze = std::cin.good(); } while( bdobrze == 0 ); std::cin.clear(); std::cin.sync(); std::cout << "\n Wybierz działanie" << std::endl; std::cout << "\n1-dodawanie"; std::cout << "\n2-odejmowanie"; std::cout << "\n3-mnożenie"; std::cout << "\n4-dzielenie"; std::cout << "\n5-dzielenie z resztą" << std::endl << std::endl; int znak; std::cin >> znak; switch( znak ) { case 1: std::cout << "\na+b=" << a + b; break; case 2: std::cout << "\na-b=" << a - b; break; case 3: std::cout << "\na*b=" << a * b; break; case 4: std::cout << "\na/b=" << a / b; break; case 5: std::cout << "\na%b=" << a % b; break; } return 0; }
|
|
OSA_PL |
» 2012-06-16 00:32:43 Kod daj w [cpp][/cpp] Co do problemu: std::cin.clear(); std::cin.sync(); to daj do środka tych pętli do while, bo tak to wraca do początku z zaśmieconym strumieniem. |
|
zoranka Temat założony przez niniejszego użytkownika |
» 2012-06-16 14:22:36 dzięki. Zrobiłam tak i teraz wszystko gra:) |
|
jankowalski25 |
» 2012-06-16 14:54:37 Jeśli problem rozwiązany, to zamknij temat. |
|
« 1 » |