Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Lekcja 15] zadanie domowe - problem

Ostatnio zmodyfikowano 2011-11-15 09:22
Autor Wiadomość
Drraven
» 2011-11-08 06:47:58
Przecież ci napisałem jak.
P-43567
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??
P-43568
SeaMonster131
» 2011-11-08 17:58:21
C/C++
do
{
    //czesc kodu ktora ma sie wykonywac caly czas
    // np wyswietlanie menu, rozne obliczenia
   
    if( koniec )
         break; //zakonczenie petli
   
} while( 1 ); //1 to true, czyli petla nieskonczona

P-43583
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

C/C++
#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ł?
P-43593
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.
P-43892
jfr
» 2011-11-12 22:02:50
Przecież Drraven już napisał na poprzedniej stronie jak się czyści ekran.
system("cls"); z biblioteki cstdlib
P-43896
Drraven
» 2011-11-12 22:32:50
to na windowsie, na linuxie
system( "clear" );
 Użyj
#dyrektyw
.
P-43900
pawel93
Temat założony przez niniejszego użytkownika
» 2011-11-15 09:22:30
dobra dzięki za pomoc już wiem wszystko

pozdrawiam
P-44068
1 « 2 »
Poprzednia strona Strona 2 z 2