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

Poziom 2, Rozdział 15, Zadanie 2

Ostatnio zmodyfikowano 2018-07-24 20:26
Autor Wiadomość
Panniikt
Temat założony przez niniejszego użytkownika
Poziom 2, Rozdział 15, Zadanie 2
» 2018-07-23 22:23:53
Może ktoś podpowiedzieć dlaczego na samym początku program pobiera mi jakikolwiek znak??
Druga sprawa to jakieś uwagi co należało by tu zmienić??

C/C++
#include <iostream>
#include <cstdlib>

using namespace std;

int main( int argc, char * argv[] )
{
    int liczba1;
    int liczba2;
    int dzialanie;
    cout << "Kalkulator Vol_2" << endl;
   
   
    do
    {
        do {
            cin.clear();
            cin.ignore();
            cout << "Podaj pierwsza liczbe, liczba zero zakonczy program ";
            cin >> liczba1;
            if( cin.fail() )
                 cout << "Prosze podac liczbe calkowita " << endl;
           
        } while( cin.fail() );
       
       
        do {
            cin.clear();
            cin.ignore();
            cout << "Podaj druga liczbe ";
            cin >> liczba2;
            if( cin.fail() )
                 cout << "Prosze podac liczbe calkowita, liczba zero zakonczy program " << endl;
           
        } while( cin.fail() );
       
        if( liczba1 != 0 && liczba2 != 0 ) {
           
            cout << "Dostepne operacje " << endl;
            cout << "[1] Dodawanie" << endl;
            cout << "[2] Odejmowanie " << endl;
            cout << "[3] Mnozenie " << endl;
            cout << "[4] Dzielenie" << endl;
            cout << "[5] Koniec" << endl;
            cout << "Prosze wybrac jedna z opcji: ";
           
            do {
                cin.clear();
                cin.ignore();
                cin >> dzialanie;
                if( cin.fail() )
                     cout << "Prosze podac liczbe calkowita ";
               
            } while( cin.fail() );
           
            switch( dzialanie ) {
            case 1: {
                    cout << liczba1 + liczba2 << endl;
                    break;
                }
            case 2: {
                    cout << liczba1 - liczba2 << endl;
                    break;
                }
            case 3: {
                    cout << liczba1 * liczba2 << endl;
                    break;
                }
            case 4: {
                    cout << liczba1 / liczba2 << endl;
                    break;
                }
            case 5: {
                    cout << "Wybrales koniec programu " << endl;
                    exit( 0 );
                }
                default: {
                    cout << "nie ma takiej opcji" << endl;
                }
               
            }
           
           
        }
    } while( liczba1 != 0 && liczba2 != 0 );
   
    system( "pause" );
    return 0;
}
[ / cpp ]
P-171939
pekfos
» 2018-07-23 22:29:21
ignore() ignoruje jeden znak.
P-171940
Panniikt
Temat założony przez niniejszego użytkownika
» 2018-07-24 20:16:37
Jak możesz to rozwiń bardziej swoja wskazówkę:)
P-171951
pekfos
» 2018-07-24 20:26:45
ignore() odczytuje jeden znak i go ignoruje. I to nie była wskazówka, tylko odpowiedź wprost na twoje pytanie.
P-171954
« 1 »
  Strona 1 z 1