Wyrażenia logiczne w warunkach
Ostatnio zmodyfikowano 2014-09-22 14:55
Jozek Temat założony przez niniejszego użytkownika |
Wyrażenia logiczne w warunkach » 2014-09-21 23:09:09 Napisałem taki kod w ramach ćwiczenia: #include <iostream> using namespace std;
int main() { cout << "MENU" << endl; cout << " Dodawanie" << endl; cout << "Odejmowanie" << endl; cout << "Mnozenie" << endl; cout << "Dzielenie" << endl; cout << "Aby dodawac nacisnij - 1" << endl; cout << "Aby odejmowac nacisnij - 2" << endl; cout << "Aby monozyc nacisnij - 3" << endl; cout << "Aby dzielic nacisnij - 4" << endl; int cyfra; cyfra( >= 1 ||<= 4 ); cin >> cyfra; double liczba1, liczba2; liczba1, liczba2 != 0; switch( cyfra ) { case 1: cin >> liczba1; cout << endl; cin >> liczba2; cout << "liczba1 + liczba2 =" << liczba1 + liczba2 << endl; break; default: cout << "Wroc do Menu" << endl; break; } return 0; }
I otzymałem taki log: ytkownik\Documents\SZK. PROG. C++\Zad. dom. 2. do lekcji do ..while. kurs C++.cpp||In function 'int main()':| ytkownik\Documents\SZK. PROG. C++\Zad. dom. 2. do lekcji do ..while. kurs C++.cpp|16|error: expected primary-expression before '>=' token| ytkownik\Documents\SZK. PROG. C++\Zad. dom. 2. do lekcji do ..while. kurs C++.cpp|16|error: expected primary-expression before '<=' token| ytkownik\Documents\SZK. PROG. C++\Zad. dom. 2. do lekcji do ..while. kurs C++.cpp|16|error: 'cyfra' cannot be used as a function| ||=== Build finished: 3 errors, 0 warnings ===|
Nie rozumiem dlaczego nie mogę przypisać zmiennej wyrażenia logicznego? |
|
szyx_yankez |
» 2014-09-22 00:46:03 Po co ci tam <= i >= ? Po za tym nie do końca wiadomo co chcesz osiągnąć. |
|
Jacob99 |
» 2014-09-22 06:18:51 cyfra( >= 1 ||<= 4 ); Co to w ogóle jest? Po pierwsze do zmiennych logicznych stworzono bool(chociaż można przypisać go do int). Po drugie gdzie ty tu przypisujesz? Nie widzę tutaj operatora przypisania. A to jest błąd składni. Po trzecie: skoro chcesz przypisać tej zmiennej warunek logiczny, to po co w następnej linii wczytujesz do niej wartość ze strumienia? |
|
Jozek Temat założony przez niniejszego użytkownika |
Wyrażenie logiczne w warunkach » 2014-09-22 09:20:48 No tak. Prawdą jest, że zgubiłem operator przypisania w instrukcji przed wyrażeniem logicznym. Wcześniej jdnak pisząc i analizując ten kod wstawiłem tam przypisanie '=' ale i tak kompilator pokazywał mi ten sam błąd.Później poprawiając i kombinując zgubiłem go. Moim założeniem w tym kodzie było uzyskanie możliwości wczytania dowolnej liczby całkowitej między 1 a 4. Kod, który przedstawiam nie jest napisany w całości. Jest tylko jego pierwsza część czyli ' case 1' aby sprawdzić jak zadziała to wyrażenie logiczne w połączeniu ze zmienną 'int' oraz z możliwością wczytania 'cin'na bazie tej wartości logicznej. Innymi słowy jak wczytam 1, to wykona się blok instrukcji 'case 1'. Wiem, że zmienna bool obsługuje wartości logiczne ale, jak narazie, nigdzie nie doczytałem się by nie można było przypisać takiej logicznej warości do zmiennej 'int'. Tutaj podziękowanie dla Jacob99. Prosząc o komentaż do tego kodu nie upieram się przy niczym. Traktuję to jako ważną lekcję dla mnie. Zaczynam dopiero przygodę z programowaniem i każda informacja jest dla mnie ważna.
|
|
pekfos |
» 2014-09-22 09:26:00 Nie możesz tak używać tych operatorów. |
|
Jozek Temat założony przez niniejszego użytkownika |
Wyrażenia logiczne w warunkach » 2014-09-22 09:51:06 Pytanie do pefoks. Co jest nieprawidłowego w tych operatorach? |
|
michal11 |
» 2014-09-22 10:22:02 To są operatory dwuargumentowe a ty wywołujesz je tylko dla 1 argumentu. |
|
Jozek Temat założony przez niniejszego użytkownika |
Wyrażenia logiczne w warunkach » 2014-09-22 14:55:05 Chyba rozumiem o co chodzi. Dziekuję za wyjaśnienie. |
|
« 1 » |