Powtarzanie się treści
Ostatnio zmodyfikowano 2017-03-02 15:31
kd224 Temat założony przez niniejszego użytkownika |
Powtarzanie się treści » 2017-03-01 18:53:59 Jak zrobić tak aby menu powtarzało się kiedy już mi jakieś działanie obliczyło w case 1 napisałem o co mi chodzi. Za pomocą funkcji. #include <iostream> #include <windows.h> #include <cstdlib>
using namespace std;
int liczba_DA, liczba_DB, liczba_OA, liczba_OB; int liczba_MA, liczba_MB, liczba_DZA, liczba_DZB;
float dodawanie( float A ); float odejmowanie( float B ); float mnozenie( float C ); float dzielenie( float D );
int main() { int kalk; cout << "[1]- Dodawanie" << endl; cout << "[2]- Odejmowanie" << endl; cout << "[3]- Mnozenie" << endl; cout << "[4]- Dzielenie" << endl; cout << "[5]- Wyjscie" << endl; cout << "Wybierz opcje: "; cin >> kalk; switch( kalk ) { case 1: cout << "Wybierz 1 liczbe: "; cin >> liczba_DA; cout << "Wybierz 2 liczbe: "; cin >> liczba_DB; cout << dodawanie(( liczba_DA, liczba_DB ) ); break; case 2: cout << "Wybierz 1 liczbe: "; cin >> liczba_OA; cout << "Wybierz 2 liczbe: "; cin >> liczba_OB; cout << odejmowanie(( liczba_OA, liczba_OB ) ); break; case 3: cout << "Wybierz 1 liczbe: "; cin >> liczba_MA; cout << "Wybierz 2 liczbe: "; cin >> liczba_MB; cout << mnozenie(( liczba_MA, liczba_MB ) ); break; case 4: cout << "Wybierz 1 liczbe: "; cin >> liczba_DZA; cout << "Wybierz 2 liczbe: "; cin >> liczba_DZB; cout << dzielenie(( liczba_DZA, liczba_DZB ) ); break; case 5: exit( 0 ); break; default: cout << "Nie ma takiej opcji w menu"; } return 0; } float dodawanie( float A ) { return A = liczba_DA + liczba_DB; } float odejmowanie( float B ) { return B = liczba_OA - liczba_OB; } float mnozenie( float C ) { return C = liczba_MA * liczba_MB; } float dzielenie( float D ) { return D = liczba_DZA / liczba_DZB; }
|
|
maly7 |
» 2017-03-01 19:39:59 Wstaw tam pętlę: case 1: int repeat; do { cout << "Wybierz 1 liczbe: "; cin >> liczba_DA; cout << "Wybierz 2 liczbe: "; cin >> liczba_DB; cout << dodawanie(( liczba_DA, liczba_DB ) ) << endl; cout << "czy chcesz powtorzyc:"; cout << "1. tak 2. nie"; cin >> repeat; } while( repeat == 1 );
break; Kompiluje ci się to w ogóle? Funkcje np. dodawanie przyjmuje jeden argument a ty przy wywołaniu wsadzasz tam dwa. |
|
pekfos |
» 2017-03-01 21:22:14 Funkcje np. dodawanie przyjmuje jeden argument a ty przy wywołaniu wsadzasz tam dwa. |
Przekazuje do funkcji jeden argument. Ten kod jest do niczego, ale nie wygląda żeby miał jakieś błędy kompilacji. |
|
carlosmay |
» 2017-03-01 21:33:12 case 1: int repeat; do { cout << "Wybierz 1 liczbe: "; cin >> liczba_DA; cout << "Wybierz 2 liczbe: "; cin >> liczba_DB; cout << dodawanie(( liczba_DA, liczba_DB ) ) << endl; cout << "czy chcesz powtorzyc:"; cout << "1. tak 2. nie"; cin >> repeat; } while( repeat == 1 );
break; |
Natomiast ten jest błędny.edit: Jednak jest poprawny. Zmyłka: deklaracja jest poprawna, definicja już nie. Dla definicji należy wziąć cały blok case w nawias klamrowy. |
|
maly7 |
» 2017-03-01 21:34:29 A faktycznie jeden argument, nie widziałem nawiasu :D Faktycznie może się kompilować, u mnie były warningi z przyzwyczajenia kompilowałem z - pedantic - Wall , co w sumie polecam :D |
|
kd224 Temat założony przez niniejszego użytkownika |
Teraz lepiej? » 2017-03-02 15:31:00 teraz lepiej? edit: Dałem powtórzenie tylko do dodawanie, bo zapomniałem do reszty. #include <iostream> #include <conio.h> #include <cstdlib>
using namespace std;
int wybor; int x, y; int powtorzenie;
float dodawanie(); float odejmowanie(); float mnozenie(); float dzielenie();
int main() { do { cout << "Podaj 1 liczba: "; cin >> x; cout << "Podaj 2 liczba: "; cin >> y; cout << endl; cout << "Wybierz opcje: " << endl; cout << "[1]- Dodawanie " << endl; cout << "[2]- Odejmowanie" << endl; cout << "[3]- Mnozenie" << endl; cout << "[4]- Dzielenie" << endl; cout << "[5]- Wyjscie" << endl; cout << endl; wybor = getch(); switch( wybor ) { case '1': cout << "Wynik= " << dodawanie() << endl; cout << "Czy chcesz powtorzyc: " << endl; cout << "1.Tak | 2.Nie" << endl; cin >> powtorzenie; break; case 2: cout << "Wynik= " << odejmowanie(); break; case 3: cout << "Wynik= " << mnozenie(); break; case 4: cout << "Wynik= " << dzielenie(); break; default: cout << "Wybrales zla opcja"; } } while( powtorzenie == 1 ); return 0; }
float dodawanie() { return x + y; }
float odejmowanie() { return x - y; }
float mnozenie() { return x * y; }
float dzielenie() { return x / y; }
|
|
« 1 » |