[Lekcja 15] zadanie domowe - problem
Ostatnio zmodyfikowano 2011-11-15 09:22
Drraven  | 
» 2011-11-08 06:47:58 Przecież ci napisałem jak.   | 
 | 
pawel93 Temat założony przez niniejszego użytkownika  | 
» 2011-11-08 07:48:51 no właśnie tylko nie zabardzo wiem jak to wstawić DO musze wstawić zaraz po moim int main() ?? czy gdzies dalej?? a while dac na sam koniec??  | 
 | 
SeaMonster131  | 
» 2011-11-08 17:58:21 do {                    if( koniec )          break;       } while( 1 ); 
 
   | 
 | 
pawel93 Temat założony przez niniejszego użytkownika  | 
» 2011-11-08 19:22:54 nie wiem ja to zrobiłem tak i jakoś działa #include <iostream> using namespace std; int main()
 
  {     int a;     int b;     int wynik;     int liczba;          do     {                           cout << "witaj w programie kalkulator" << endl;         cout << "co chcesz teraz zrobic?" << endl;         cout << "jesli chcesz:" << endl;         cout << "dodac wybierz [1]" << endl;         cout << "odejmowac wybierz [2]" << endl;         cout << "mnozyc wybierz [3]" << endl;         cout << "dzielic wybierz [4]" << endl;         cout << "zrezygnowac wybierz [5]" << endl;         cin >> liczba;         cin.clear();         cin.sync();                                             switch( liczba )         {                      case 1:             {                                  cout << "wpisz pierwsza liczbe" << endl;                 cin >> a;                 bool x = cin.good();                 cin.clear();                 cin.sync();                 cout << "wpisz druga liczbe" << endl;                 cin >> b;                 bool y = cin.good();                 cin.clear();                 cin.sync();                 wynik = a + b;                 cout << "czy udalo sie wczytac liczbe?" << x << endl;                 cout << "czy udalo sie wczytac liczbe?" << y << endl;                 cout << "wynik =" << wynik << endl;                                  break;             }         case 2:             {                                  cout << "wpisz pierwsza liczbe" << endl;                 cin >> a;                 bool x = cin.good();                 cin.clear();                 cin.sync();                 cout << "wpisz druga liczbe" << endl;                 cin >> b;                 bool y = cin.good();                 cin.clear();                 cin.sync();                 wynik = a - b;                 cout << "czy udalo sie wczytac liczbe?" << x << endl;                 cout << "czy udalo sie wczytac liczbe?" << y << endl;                 cout << "wynik =" << wynik << endl;                                  break;                              }                      case 3:             {                                  cout << "wpisz pierwsza liczbe" << endl;                 cin >> a;                 bool x = cin.good();                 cin.clear();                 cin.sync();                 cout << "wpisz druga liczbe" << endl;                 cin >> b;                 bool y = cin.good();                 cin.clear();                 cin.sync();                 wynik = a * b;                 cout << "czy udalo sie wczytac liczbe?" << x << endl;                 cout << "czy udalo sie wczytac liczbe?" << y << endl;                 cout << "wynik =" << wynik << endl;                                  break;             }                      case 4:             {                                  cout << "wpisz pierwsza liczbe" << endl;                 cin >> a;                 bool x = cin.good();                 cin.clear();                 cin.sync();                 cout << "wpisz druga liczbe" << endl;                 cin >> b;                 bool y = cin.good();                 cin.clear();                 cin.sync();                 wynik = a / b;                 cout << "czy udalo sie wczytac liczbe?" << x << endl;                 cout << "czy udalo sie wczytac liczbe?" << y << endl;                 cout << "wynik =" << wynik << endl;                                  break;             }                                   case 5:             {                                                   cout << "koniec programu" << endl;                 break;             }                          default:             cout << "wpisz poprawna liczbe" << endl;             break;         }              } while( liczba != 5 );          return 0; }
  tylko mam jeszcze jedno pytanie odnośnie tego programu czemu jak np dodaje 2 liczby i zamiast liczbe napisze np literke "a" to wynik wyskakuje np 4545 a powinno chyba 0 wyjsc  i jeszcze taka drobnostka gdzie musze dac to cin.clear(); zeby mi sie ekran po każdej wykonanej pętli czyścił?  | 
 | 
malan  | 
» 2011-11-12 21:21:56 czemu jak np dodaje 2 liczby i zamiast liczbe napisze np literke "a" to wynik wyskakuje np 4545
  |  
 Ponieważ sprawdzasz, czy poprawnie wczytano dane, ale nic więcej z tym nie robisz. W przypadku błędnych danych żadne obliczenia  nie powinny się wykonać. gdzie musze dac to cin.clear(); zeby mi sie ekran po każdej wykonanej pętli czyścił?
  |  
 O.o Ta metoda nie służy do czyszczenia ekranu! Gdzie Ty to wyczytałeś? Musiałbyś dodać niestandardową/dodatkową bibliotekę (np.  ddtconsole lub  PDCurses), aby móc czyścić ekran.  | 
 | 
jfr  | 
» 2011-11-12 22:02:50 Przecież Drraven już napisał na poprzedniej stronie jak się czyści ekran. system("cls"); z biblioteki cstdlib  | 
 | 
Drraven  | 
» 2011-11-12 22:32:50 to na windowsie, na linuxie  system( "clear" );  Użyj  #dyrektyw .  | 
 | 
pawel93 Temat założony przez niniejszego użytkownika  | 
» 2011-11-15 09:22:30 dobra dzięki za pomoc już wiem wszystko 
  pozdrawiam  | 
 | 
| 1 « 2 »  |