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

Problem z wczytywaniem zmiennej bool w komendzie switch

Ostatnio zmodyfikowano 2015-12-13 18:36
Autor Wiadomość
tak12345
Temat założony przez niniejszego użytkownika
Problem z wczytywaniem zmiennej bool w komendzie switch
» 2015-12-13 18:26:58
Witam, mam następujący problem: stworzyłem prosty kalkulator w C++, ale chciałem, aby przy wpisaniu błędnej liczby "wyrzucało" odpowiedni komunikat. Problem jest taki, że przy zaprogramowanym switchu, case w ogole nie widzi zmiennej bool, którą nadałem na początku programu
C/C++
#include <iostream>
using namespace std;
int main()
{
    int a;
    int b;
    int c;
    cout << "Witaj w kalkulatorze" << endl;
    cout << "=============================" << endl;
    cout << "Podaj pierwsza liczbe: " << endl;
    cin >> a;
    bool zmienna;
    zmienna = cin.good();
    cin.clear();
    cin.sync();
    cout << "Podaj druga liczbe: " << endl;
    cin >> b;
    bool zmienna2;
    zmienna2 = cin.good();
    cin.clear();
    cin.sync();
    cout << "=============================" << endl;
    cout << "Co chcesz zrobic z podanymi liczbami: " << endl;
    cout << "1. Dodac" << endl;
    cout << "2. Odjac" << endl;
    cout << "3. Pomnozyc" << endl;
    cout << "4. Podzielic" << endl;
    cout << "Wybierz opcje: ";
    cin >> c;
    cin.clear();
    cin.sync();
    switch( c )
    {
    case 1:
        {
           
           
           
            if(( zmienna = true ) &&( zmienna2 = true ) )
            {
                cout << "Wynik dodawania: " << a + b << endl;
            }
            else
            {
                cout << "Podales nieprawidlowe liczby!";
            }
            break;
        }
       
    case 2:
        {
            if(( zmienna = true ) &&( zmienna2 = true ) )
            {
                cout << "Wynik odejmowania: " << a - b << endl;
            }
            else
            {
                cout << "Podales nieprawidlowe liczby!";
            }
            break;
        }
    case 3:
        {
            if(( zmienna = true ) &&( zmienna2 = true ) )
            {
                cout << "Wynik mnozenia: " << a * b << endl;
            }
            else
            {
                cout << "Podales nieprawidlowe liczby!";
            }
            break;
        }
    case 4:
        {
            if(( zmienna = true ) &&( zmienna2 = true ) )
            {
                cout << "Wynik dzielenia: " << a / b << endl;
            }
            else
            {
                cout << "Podales nieprawidlowe liczby!";
            }
            break;
        }
        default:
        {
            cout << "Nie wybrales zadnej z powyzszych opcji!";
        }
       
    }
    return 0;
   
}

P-141907
carlosmay
» 2015-12-13 18:32:00
if(( zmienna = true ) &&( zmienna2 = true ) )
 Widzi tylko zamiast porównywać przypisujesz wartość 'bool'owską do zmiennej.
Różnica między '=' a '=='.
P-141908
tak12345
Temat założony przez niniejszego użytkownika
» 2015-12-13 18:36:41
Faktycznie, teraz zadziałało. Dzięki za pomoc!
P-141909
« 1 »
  Strona 1 z 1