[Code::Blocks] Praca Domowa.
Ostatnio zmodyfikowano 2013-01-31 20:49
Fresh Temat założony przez niniejszego użytkownika |
[Code::Blocks] Praca Domowa. » 2013-01-31 17:53:02 Witam. Jestem przy pracy domowej z funkcji switch,case. Mam do zrobienia kalkulator obsługujący +,-,* oraz / dla dwóch liczb. Zrobiłem tak jak na razie ale dalej nie wiem co jest źle i jak prawidłowo to zadanie zrobić. Mógłby ktoś wytłumaczyć tak co jest źle,co trzeba poprawić i na co, tak żebym już rozumiał :D? A tu moja praca : #include <iostream> int main() { int liczba1; std::cout << "Podaj liczbe pierwsza: " << std::endl; std::cin >> liczba1; char mojaZmienna; std::cout << "Podaj znak (+,-,*,/): " << std::endl; std::cin >> mojaZmienna; int liczba2; std::cout << "Podaj liczbe druga: " << std::endl; std::cin >> liczba2; int wynik1; int wynik2; int wynik3; int wynik4; switch( mojaZmienna ) { case 1: char mojaZmienna; mojaZmienna = '+'; wynik1 = liczba1 + liczba2; std::cout << "Wynik z dodawania to: " << mojaZmienna << wynik1 << std::endl; break; case 2: char mojaZmienna2; mojaZmienna = '-'; wynik2 = liczba1 - liczba2; std::cout << "Wynik z odejmowania to: " << mojaZmienna << std::endl; case 3: char mojaZmienna3; mojaZmienna = '*'; wynik3 = liczba1 * liczba2; std::cout << "Wynik z mnozenia to: " << mojaZmienna << std::endl; break; case 4: char mojaZmienna4; mojaZmienna = '/'; wynik4 = liczba1 / liczba2; std::cout << "Wynik z dzielenia to: " << mojaZmienna << std::endl; break; } return 0; }
@Edit Dobra pozmieniałem trochę (edytowałem już na dobry)i działa. Lecz jak zrobić gdy po wpisaniu 1 liczby, znaku i 2 liczby wyświetlał się wynik ? Bo niestety się nie wyświetla -.- |
|
RazzorFlame |
» 2013-01-31 18:00:19 PODSTAWY! char mojaZmienna; mojaZmienna = '+'; |
Czemu cały czas tworzysz nowe zmienne "mojaZmienna"... Wywal te 2 operacje całkowicie (to co ci zacytowałem) i analogicznie z innymi operatorami arytmetycznymi -,*,/. I po co w switchu dajesz case '1'... Wywal to i napisz w case znak tzn. case '+' i analogicznie z innymi znakami. Dam ci przykład i przeanalizuj go:
int liczba1 = 0, liczba2 = 0, wynik = 0; char oper = 0;
cout << "Podaj liczbe1: "; cin >> liczba1; cout << "Podaj znak: "; cin >> oper; cout << "Podaj liczbe2: "; cin >> liczba2;
switch( oper ) { case '+' wynik = liczba1 + liczba2; cout << wynik << endl; break; default: cout << "Zly znak!" << endl; }
return 0;
}
|
|
Fresh Temat założony przez niniejszego użytkownika |
» 2013-01-31 18:06:06 Dobra, dzięki wielkie :D Działa ;) A jak zrobić że po podaniu wyniku,mogę liczyć dalej? Bo Wyliczy mi np 2+2, poda wynik i już tylko mogę wcisnąć klawisz do wyłączenia programu. |
|
RazzorFlame |
» 2013-01-31 20:49:16 Boże. Przeczytaj jeszcze raz kurs. To tak jak byś sie pytał jak napisać kawałek kodu w c++ i gdzie go umieścić. Pomyśl. Jeśli nie wiesz to program wykonuje polecenia po kolei. Tak jak np napiszesz: cout << "Pierwszy tekst" << endl; cout << "Drugi tekst" << endl;
to wiadomo że ciąg znaków "Pierwszy tekst" zostanie wyświetlony pierwszy. I nie dlatego że taki tekst się wyświetla bo gdyby miało takie polecenia: cout << "Drugi tekst" << endl; cout << "Pierwszy tekst" << endl;
To "Drugi tekst" wyświetli się pierwszy. Więc pomyśl gdzie dodać kod żeby wykonywał się po obliczeniach. TROCHE MYŚLENIA LUDZIE! |
|
« 1 » |