atrybuty, wartości case w C++
Ostatnio zmodyfikowano 2020-06-25 00:04
alvarium Temat założony przez niniejszego użytkownika |
atrybuty, wartości case w C++ » 2020-06-23 22:44:29 Witam mam krótkie pytanie, pisałem sobie mój pierwszy program i miał być on kalkulatorem i chciałem sie zapytać czy w funkcji case atrybutami mogą być tylko liczby? używałem tego '' znaku ale nie działało dziekuje za odpowiedzi. |
|
jankowalski25 |
» 2020-06-23 23:06:54 Nie tylko liczby, znaki też mogą być. Ale całe napisy już nie. Czyli na przykład jeśli wczytasz znak działania i dasz '+' wewnątrz case , to zadziała. |
|
alvarium Temat założony przez niniejszego użytkownika |
Nie rozumiem efektu kodu » 2020-06-24 15:24:10 "#include <iostream>
using namespace std; int main() { char liczba1, liczba2, dzialanie; cout << "podaj pierwsza liczbe" << endl; cin >> liczba1; cout << "jakie dzialanie chcesz wykonac" <<endl; cin >> dzialanie; cout << "podaj druga liczbe" << endl; cin >> liczba2;
switch( dzialanie ) { case '+': cout << "twoja liczba to" << liczba1+liczba2; break; } return 0; }" To jest mój kod i wydaje mi się że wszystko dobrze napisałem ale gdy wpisze obliczenie 0 + 0 to wynik wychodzi 96, jeśli wartość obu liczb zwiekszy się o x to ta wartość dodaje się do 96. przy odejmowaniu to nie występuje. |
|
jankowalski25 |
» 2020-06-24 16:10:18 Bo dodajesz znaki. Zauważ, że możesz nawet wpisać "a+b" i też otrzymasz jakąś liczbę jako wynik. Typ char oznacza pojedynczy znak, więc jeśli którakolwiek z dodawanych liczb będzie choćby dwucyfrowa, to już to nie zadziała. Do działań na liczbach służą inne typy danych, na przykład int . Co do 96, to bierze się to stąd, że kod znaku '0' wynosi 48 , zatem 48 + 48 = 96 . Przy odejmowaniu to nie występuje, bo wtedy z kolei 48 - 48 = 0 . |
|
alvarium Temat założony przez niniejszego użytkownika |
» 2020-06-25 00:04:24 Dziękuje bardzo za wyjaśnienie mojego problemu : ) |
|
« 1 » |