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

Kalkulator/ uzycie petli

Ostatnio zmodyfikowano 2014-11-28 22:48
Autor Wiadomość
nvkk
Temat założony przez niniejszego użytkownika
Kalkulator/ uzycie petli
» 2014-11-28 19:53:03
Witam. Jestem początkującym programista( jezeli moge tak sie nazwac :D ) pisze banalny kalkulator za pomocą switch i case.. Chciałbym aby po każdym wykonaniu działanie program "działał od początku" czyli żeby wyświetlilo się menu z wyborem możliwych działań.. Wiem że to trzeba zrobić za pomocą pętli. Myślałem aby zrobić to za pomocą do..while.
Zresztą sami zobaczcie kod, niestety to nie działa i nie wiem co musze naprawić :(
C/C++
#include <iostream>

using namespace std;

int main()

{
   
    int wyjsc;
    do {
        cout << "Witaj w Kalkulatorze !\n";
        cout << " Co chcesz obliczyc?\n[1].Dodawanie\n[2].Odejmowanie\n[3].Mnozenie\n[4].Dzielenie\n[5].Potegowanie\n[6]Wyjdz z programu";
       
        int obl;
        cin >> obl;
       
        switch( obl )
        {
        case 1:
            cout << "\nPodaj liczby ktore chcesz dodac :\n";
            int pier;
            int wyndod;
            int drug;
            cin >> pier;
            cout << "Teraz podaj 2 liczbe\n";
            cin >> drug;
            wyndod = pier + drug;
            cout << "Wynik tego dodawania to " << wyndod << " .\n";
            break;
           
           
        case 2:
            int pierod;
            int druod;
            int wynod;
           
            cout << "\nPodaj liczbe od ktorej chcesz cos odjac :\n";
            cin >> pierod;
            cout << "Teraz podaj licze ktora chcesz odjac od liczby pierwszej\n";
            cin >> druod;
            wynod = pierod - druod;
            cout << "Roznica wynosi : " << wynod << " .\n";
            break;
           
           
        case 3:
            int piermno;
            int drumno;
            int wynmno;
            cout << "Podaj pierwsza liczbe do mnozenia ! \n";
            cin >> piermno;
            cout << "Podaj druga liczbe do mnozenia : !\n";
            cin >> drumno;
            wynmno = piermno * drumno;
            cout << "Wynik tego mnożenia wynosi " << wynmno << " .";
            break;
           
           
        case 4:
            int pierdzi;
            int drudzi;
            int wyndzi;
            cout << "Podaj pierwsza liczbe do dzielenia :\n";
            cin >> pierdzi;
            cout << "Podaj druga liczbe do dzielenia : \n";
            cin >> drudzi;
            wyndzi = pierdzi / drudzi;
            cout << "Wynik z tego dzielenia wynosi  " << wyndzi << ".";
            break;
           
           
        case 5:
            int pierpot;
            int drupot;
            int wynpot;
            cout << "Podaj liczbe ktora mam podniesc do potegi : \n";
            cin >> pierpot;
           
            wynpot = pierpot * pierpot;
            cout << "wynik potegowania to " << wynpot << ".";
            break;
        }
        while( obl == 6 );
       
        cout << ".";
       
       
       
    }
   
}
P-121646
wilkoo13
» 2014-11-28 19:59:45
do while używa się tak
do
{
 costam
}while(warunek)

a ty dałeś while, hmm zaraz po zamnieciu switcha
P-121647
nvkk
Temat założony przez niniejszego użytkownika
czyli jak?
» 2014-11-28 20:02:54
Czyli jak mam to zmienić? zamieścić while jeszcze pod case bez używania } ???
P-121648
NopeDotAvi
» 2014-11-28 20:07:36
Jak tam masz
cin >> obj
 zrób tak:

C/C++
while( cin >> obj )
{
    //twój kod
   
} //ta klamra po break w  "case 5:" i usuń tamto while(obl == 6);
P-121650
nvkk
Temat założony przez niniejszego użytkownika
Kurde.. Nie wiem czy aż tak dzisiaj nie ogarniam :D
» 2014-11-28 20:13:29
Albo dzisiaj mam jakiś gorszy dzień albo w ogóle jakiś nie udany jestem :D
teraz nie działa mi switch i case. Mimo wpisywania np. 4 i nacisniecie entera nic sie nie dzieje. Dawalem while na samym początku (wczesniej napisalem int obl) nie działa. dałem zaraz przed switch. tam gdzie miałem właśnie cin>>obl; a tak samo w switch i nic nie działa :/
C/C++
#include <iostream>

using namespace std;

int main()

{
    int obl;
   
   
    int wyjsc;
   
    cout << "Witaj w Kalkulatorze !\n";
    cout << " Co chcesz obliczyc?\n[1].Dodawanie\n[2].Odejmowanie\n[3].Mnozenie\n[4].Dzielenie\n[5].Potegowanie\n[6]Wyjdz z programu";
   
   
    while( cin >> obl );
   
    switch( obl )
    {
       
    case 1:
        cout << "\nPodaj liczby ktore chcesz dodac :\n";
        int pier;
        int wyndod;
        int drug;
        cin >> pier;
        cout << "Teraz podaj 2 liczbe\n";
        cin >> drug;
        wyndod = pier + drug;
        cout << "Wynik tego dodawania to " << wyndod << " .\n";
        break;
       
       
    case 2:
        int pierod;
        int druod;
        int wynod;
       
        cout << "\nPodaj liczbe od ktorej chcesz cos odjac :\n";
        cin >> pierod;
        cout << "Teraz podaj licze ktora chcesz odjac od liczby pierwszej\n";
        cin >> druod;
        wynod = pierod - druod;
        cout << "Roznica wynosi : " << wynod << " .\n";
        break;
       
       
    case 3:
        int piermno;
        int drumno;
        int wynmno;
        cout << "Podaj pierwsza liczbe do mnozenia ! \n";
        cin >> piermno;
        cout << "Podaj druga liczbe do mnozenia : !\n";
        cin >> drumno;
        wynmno = piermno * drumno;
        cout << "Wynik tego mnożenia wynosi " << wynmno << " .";
        break;
       
       
    case 4:
        int pierdzi;
        int drudzi;
        int wyndzi;
        cout << "Podaj pierwsza liczbe do dzielenia :\n";
        cin >> pierdzi;
        cout << "Podaj druga liczbe do dzielenia : \n";
        cin >> drudzi;
        wyndzi = pierdzi / drudzi;
        cout << "Wynik z tego dzielenia wynosi  " << wyndzi << ".";
        break;
       
       
    case 5:
        int pierpot;
        int drupot;
        int wynpot;
        cout << "Podaj liczbe ktora mam podniesc do potegi : \n";
        cin >> pierpot;
       
        wynpot = pierpot * pierpot;
        cout << "wynik potegowania to " << wynpot << ".";
        break;
    }
   
    cout << ".";
   
   
   
}[ \c pp ]
P-121651
NopeDotAvi
» 2014-11-28 20:19:49
po while dałeś średnik, a miałeś klamerki dać
P-121652
nvkk
Temat założony przez niniejszego użytkownika
» 2014-11-28 20:22:44
Dzięki wielkie :) Nie no dałem po prostu ; bo mi wyskakiwał błąd i myślałem że ty po prostu nie napisałeś :)
Tylko chce się upewnić. zeby użyć system("cls") - bo to z tego co pamiętam to była komenda na wyczyszczenie konsoli- chyba ze źle pamiętam :)  Musze jeszcze dopisać
#include<iostream> #include < windows.h>.......
P-121653
NopeDotAvi
» 2014-11-28 20:26:09
Tak, musisz dodać
#include <windows.h>
. Tylko nie zapominaj, że wszystkie funkcje
system( "" );
 działają jedynie na windowsie.
P-121654
« 1 » 2
  Strona 1 z 2 Następna strona