Kalkulator nie pokazuje wyniku
Ostatnio zmodyfikowano 2011-07-18 18:23
Holdysz Temat założony przez niniejszego użytkownika |
Kalkulator nie pokazuje wyniku » 2011-07-18 17:37:38 No dobra, postanowiłem zrobić kalkulator w c++ na razie tylko dodawanie i odejmowanie no ale program nie pokazuje wyniku :/ oto mój kod: #include <iostream> using namespace std;
int main() { int dodawanie, odjecie, dzialanie; cout << "[1] Dodawanie " << endl << "[2] Odejmowanie " << endl; cin >> dzialanie; switch( dzialanie ) { case 1: cout << "Podaj liczby do dodania: " << endl; cin >> dodawanie; break; case 2: cout << "Podaj liczby do odjecia: " << endl; cin >> odjecie; break; default: cout << "Musisz wybrac liczbe 1 lub 2!" << endl; break; } switch( dodawanie ) { int liczby[ 2 ], suma; std::cout << "Podaj dzialanie:"; std::cin >> liczby[ 0 ] >> liczby[ 1 ]; suma = liczby[ 0 ] + liczby[ 1 ]; std::cout << "Suma trzech liczb wynosi:" << suma << std::endl; } switch( odjecie ) { int cyfry[ 2 ], wynik; cout << "Podaj skladniki do odjecia: "; cin >> cyfry[ 0 ] >> cyfry[ 1 ]; wynik = cyfry[ 0 ] - cyfry[ 1 ]; cout << "Suma liczb wynosi:" << wynik << endl; } system( "pause>nul" ); } Jeżeli kod jest zły poprawcie mnie! |
|
szyx_yankez |
» 2011-07-18 17:44:36 Pomieszałeś switch z case. Powinno być: switch( dzialanie ) { case 1: break; case 2: } |
|
Holdysz Temat założony przez niniejszego użytkownika |
Prawie dobrze » 2011-07-18 17:51:32 Teraz kod wygląda tak: #include <iostream> using namespace std;
int main() { int dodawanie, odjecie, dzialanie, suma, wynik; cout << "[1] Dodawanie " << endl << "[2] Odejmowanie " << endl; cin >> dzialanie; switch( dzialanie ) { case 1: int liczby[ 2 ]; std::cout << "Podaj dzialanie:"; std::cin >> liczby[ 0 ] >> liczby[ 1 ]; suma = liczby[ 0 ] + liczby[ 1 ]; cout << "Suma liczb wynosi:" << suma << endl; break; case 2: int cyfry[ 2 ]; cout << "Podaj skladniki do odjecia: "; cin >> cyfry[ 0 ] >> cyfry[ 1 ]; wynik = cyfry[ 0 ] - cyfry[ 1 ]; cout << "Suma liczb wynosi:" << wynik << endl; break; default: cout << "Musisz wybrac liczbe 1 lub 2!" << endl; break; } system( "pause>nul" ); } Dodawanie działa ale jak naprzykład wybiorę odejmowanie i wpiszę 2-1 to wynik =3 !!! |
|
akwes |
» 2011-07-18 18:07:46 Użyj klamer case 1: { grupa instrukcji; } break; case 2: { grupa instrukcji; } break;
I przy odejmowaniu nie mamy "sumy liczb" tylko "różnicę liczb". I nie musisz używać osobnych tablic. Nie musisz robić cyfry[2] i liczby[2], wystarczy jedna z nich użyta dwa razy. |
|
Holdysz Temat założony przez niniejszego użytkownika |
» 2011-07-18 18:21:23 Zrobiłem jak napisałeś tylko oprócz tej "różnicy liczb" nie bardzo rozumiem... |
|
jaupl |
» 2011-07-18 18:22:09 1. Dlaczego nie kolorujesz składni ?? [ cpp] twoj kod [/cpp] //tylko bez tej spacji ^^ 2. bądź konsekwentny : jeśli na początku programu piszesz using namespace std; to nie pisz już std::cout tylko samo cout :) |
|
DejaVu |
» 2011-07-18 18:23:41 Odejmowanie: 10 - (-7) = 10 + 7 = 17
Dodawanie: 10 + (-7) = 10 - 7 = 3
To co powyżej wynika z matematyki, a nie z C++.
|
|
« 1 » |