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ść
pawel93
Temat założony przez niniejszego użytkownika
[Lekcja 15] zadanie domowe - problem
» 2011-11-06 18:40:34
witam

Od razu mówię że jestem początkujący i mam problem ze zrobieniem zadania domowego z rozdziału 15. Myślę myśle i myślę ale nie umiem wymyślić ... :/ Otóż mój program wygląda tak :

C/C++
#include <iostream>
using namespace std;
int main()
{
   
    int liczba;
   
    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 << "zrozygnowac wybierz [5]" << endl;
    cin >> liczba;
   
    switch( liczba )
    {
       
    case 1:
        {
            int a;
            int b;
            int wynik;
           
            cout << "wpisz pierwsza liczbe" << endl;
            cin >> a;
            cout << "wpisz druga liczbe" << endl;
            cin >> b;
            wynik = a + b;
            cout << "wynik =" << wynik << endl;
           
            break;
        }
    case 2:
        {
            int a;
            int b;
            int wynik;
           
            cout << "wpisz pierwsza liczbe" << endl;
            cin >> a;
            cout << "wpisz druga liczbe" << endl;
            cin >> b;
            wynik = a - b;
            cout << "wynik =" << wynik << endl;
           
            break;
           
        }
       
    case 3:
        {
            int a;
            int b;
            int wynik;
           
            cout << "wpisz pierwsza liczbe" << endl;
            cin >> a;
            cout << "wpisz druga liczbe" << endl;
            cin >> b;
            wynik = a * b;
            cout << "wynik =" << wynik << endl;
           
            break;
        }
       
    case 4:
        {
            int a;
            int b;
            int wynik;
           
            cout << "wpisz pierwsza liczbe" << endl;
            cin >> a;
            cout << "wpisz druga liczbe" << endl;
            cin >> b;
            wynik = a / b;
            cout << "wynik =" << wynik << endl;
           
            break;
        }
       
       
    case 5:
        {
           
           
            cout << "koniec programu" << endl;
            break;
        }
       
        default:
        cout << "wpisz poprawna liczbe" << endl;
        break;
    }
   
   
   
    return 0;
}

i teraz gdy go uruchomimy będzie nam działał tylko nie wiem jak zrobić żeby po wykonaniu działań przechodziło spowrotem do menu i żeby można było jeszcze raz obliczyć. Próbowałem z GOTO ale wyczytałem że się tak nie powinno robić ponieważ zaburza strukture programu czy coś

i nie wiem jak zrobić że jak będę tym " złym użytkownikiem" i zamiast liczby wpisze litere to pojawi się komunikat np " wpisz poprawna liczbę"

i jakie macie uwagi dotyczące tego programu

z góry bardzo dziękuje za pomoc

pozdrawiam
P-43466
SeaMonster131
» 2011-11-06 19:18:07
pętla, np do {}while; oraz cin.clear() i cin.sync() połączone z instrukcją if. :)
P-43480
pekfos
» 2011-11-06 19:21:54
..i wstaw kod w [cpp][/cpp]
P-43483
pawel93
Temat założony przez niniejszego użytkownika
» 2011-11-07 07:22:47
SeaMonster131  a czy móglbys mi to wstawić do tego programu bo męczę się i męczę i cały czas mi błędy wyskakują nie wiem czy to dobrze robię :/
P-43525
SeaMonster131
» 2011-11-07 17:21:33
P-43534
pawel93
Temat założony przez niniejszego użytkownika
» 2011-11-07 20:35:16
no właśnie z tego się uczę cały czas z tej lekcji ze strumienia wejściowego sobie poradzę jakoś, lecz gorzej właśnie z tą funkcja do while żeby się ten program cały czas powtarzał a nie po wykonaniu działania gdyby ktoś mi to wsadził w odpowidnie miejsca w ten mój program to bym to zrozumiał na pewno
P-43557
Drraven
» 2011-11-07 20:46:18
wszystkie zmienne daj na początek main;
daj zmienną bool done = false;
wszystko co ci pozostało po wywaleniu daj w while(!done)
i na początku pętli wyłołuj: system("clr"); czy tam cls (chodzi o czyszczenie ekranu na windowsie).
Pod koniec pętli daj:
C/C++
if( jakas - tam - zmienna == 0 )
{
    done = true;
}
 Przeanalizuj co ci napisałem i wykonaj.
P-43560
pawel93
Temat założony przez niniejszego użytkownika
» 2011-11-07 21:04:09
teraz to wyglada u mnie tak

C/C++
#include <iostream>
using namespace std;
int main()


{
    int a;
    int b;
    int wynik;
    int liczba;
   
   
    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 << "zrozygnowac wybierz [5]" << endl;
    cin >> liczba;
   
   
    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;
    }
   
   
    return 0;
}

brakuje mi jeszcze tego powtarzania ze jak sie wykona dzialanie to powraca do menu jak trzeba ta pętle do while wstawić :<
P-43563
« 1 » 2
  Strona 1 z 2 Następna strona