Rozdział 15
Ostatnio zmodyfikowano 2012-08-09 18:22
cogielusz Temat założony przez niniejszego użytkownika |
Rozdział 15 » 2012-08-08 19:43:47 Hi. Mam pytanie jak zrobić, gdy jest wprowadzona liczba "0" miała się kończyć program? #include<iostream> using namespace std; int main() { int m, w; int x = 0; do { do { cin.clear(); cin.sync(); cout << "\nPodaj liczbe: "; cin >> w; cin.fail(); if( cin == 0 || w == 0 ) cout << "Blad lub zero\n" << endl; } while( cin == 0 ); cout << "Co chcesz zrobic?" << endl; cout << "1.dodawanie" << endl; cout << "2.odejmowanie" << endl; cout << "3.mnozenie" << endl; cout << "4.dzielenie" << endl; cout << "5.zakoncz" << endl; cin >> m; switch( m ) { case 1: cout << "Wynik= " <<( x += w ) << endl; break; case 2: cout << "Wynik= " <<( x -= w ) << endl; break; case 3: cout << "Wynik= " <<( x *= w ) << endl; break; case 4: cout << "Wynik= " <<( x /= w ) << endl; break; default: cout << "Nic nie wybrales " << endl; break; } } while( m != 5 ); return 0; }
|
|
tirou |
» 2012-08-08 20:41:07 Nie uczyłem się tego kursu, jednak jeżeli to miałbyć kalkulator, to raczej jest błędnie zrobiony.
switch( m ) { case 1: cout << "Wynik= " <<( x += w ) << endl; break; case 2: cout << "Wynik= " <<( x -= w ) << endl; break; case 3: cout << "Wynik= " <<( x *= w ) << endl; break; case 4: cout << "Wynik= " <<( x /= w ) << endl; break; default: cout << "Nic nie wybrales " << endl; break; }
co twoim zdaniem robią ta case'y ? bo zauważ, że zdeklarowales x = 0 ?
A kończyć program za pomocą błędnego wpisania, tak jak chciałeś np po wpisaniu "0" to komenda: break; po warunku : if( cin == 0 || w == 0 ) pozwoli ci wyjść z pętli.
Tylko nie pamiętam dokładnie czy to wychodzić z jednej w tym przypadku wewnętrznej pętli, czy z wszystkich. |
|
DejaVu |
» 2012-08-08 21:17:09 |
|
cogielusz Temat założony przez niniejszego użytkownika |
» 2012-08-08 22:14:59 Nom dzięki za pomoc :) o to poprawiony kod i co o nim myślicie?
#include<iostream> #include <cstdlib> using namespace std; int main() { int m, w; int x = 0; do {
do { system("CLS"); cout << "Obecny wynik: "; cout << x << endl << endl; cin.clear(); cin.sync(); cout << "Podaj liczbe: "; cin >> w; cin.fail(); if( cin == 0 );
} while( cin == 0 ); if(w!=0){ cout << "Co chcesz zrobic?" << endl; cout << "1.dodawanie" << endl; cout << "2.odejmowanie" << endl; cout << "3.mnozenie" << endl; cout << "4.dzielenie" << endl; cin >> m; switch( m ) { case 1: ( x += w ); break; case 2: ( x -= w ); break; case 3: ( x *= w ); break; case 4: ( x /= w ); break; default: cout << "Wybierz od 1 do 4!" << endl;} } } while( w&&m != 0 ); cout << "Koniec."; return 0; }
|
|
kubawal |
» 2012-08-09 18:22:34 if( cin == 0 ) to chyba nie jest dobry pomysł. Raczej if( cin ) |
|
« 1 » |