Lekcja 2.17
Ostatnio zmodyfikowano 2016-07-21 19:03
CCbolt Temat założony przez niniejszego użytkownika |
Lekcja 2.17 » 2016-07-19 17:06:07 Znów topornie mi idzie, za namową kolegi z forum rozbijam wszystko na bloki, kod jest niekompletny ale nie umiem ominąc problemu z Liczbą nr 1, pewnie nr 2 ma to samo czyli przeładowanie operatora. #include <iostream> using namespace std;
void moje_menu() { cout << "================================Kalkulator=================================" << endl; cout << "[1] Dodawanie \n[2] Odejmowanie \n[3] Mnozenie \n[4] Dzielenie\n[5] Koniec \n"; }
float liczba_1() { float liczba_1(); bool sprawdzenieLiczby; cin >> liczba_1; sprawdzenieLiczby = cin.good(); if( sprawdzenieLiczby == false ) do { cin.clear(); if( isalpha( cin.get() ) ) { cout << "Litery to nie liczby" << endl; } else { cout << "Podales cos jeszcze innego niz litery" << endl; } cout << "Podaj ponownie liczbe : "; cin >> liczba_1; sprawdzenieLiczby = cin.good(); } while( sprawdzenieLiczby == false ); return liczba_1(); }
float liczba_2() { float liczba_2; bool sprawdzenieLiczby; cin >> liczba_2; sprawdzenieLiczby = cin.good(); if( sprawdzenieLiczby == false ) do { cin.clear(); if( isalpha( cin.get() ) ) { cout << "Litery to nie liczby" << endl; } else { cout << "Podales cos jeszcze innego niz litery" << endl; } cout << "Podaj ponownie liczbe : "; cin >> liczba_2; sprawdzenieLiczby = cin.good(); } while( sprawdzenieLiczby == false ); return liczba_2; }
int dodawanie() { cout << "Wynik: " << liczba_1() + Liczba_2() << endl; } int odejmowanie() { cout "Wynik: " << liczba_1() + Liczba_2() << endl; } int mnozenie() { cout "Wynik: " << liczba_1() * liczba_2 << endl; } int dzielenie() { cout << "Wynik: " << liczba_1() / liczba_2() << end; }
int main()
|
|
pekfos |
» 2016-07-19 17:08:17 float liczba_1();
return liczba_1(); |
Po co te nawiasy? |
|
CCbolt Temat założony przez niniejszego użytkownika |
» 2016-07-19 17:14:39 Jak to po co? Nazwa funkcji bez argumentów, nigdzie nie widziałem aby ich nie stosowano. Dobra mam, złapałem, znalazł się chochoł.Dzięki // Kolejny problem Przy tej samej liczbie. C:\Users\Panas\Desktop\test.cpp|14|error: expected initializer before 'float'| (Funkcje dają mi po pysku) |
|
pekfos |
» 2016-07-19 17:51:05 Podaj aktualny kod i zaznacz miejsce błędu. |
|
CCbolt Temat założony przez niniejszego użytkownika |
» 2016-07-19 18:00:02 13 linia |13|error: expected initializer before 'float'| #include <iostream> using namespace std;
void moje_menu() { cout << "================================Kalkulator=================================" << endl; cout << "[1] Dodawanie \n[2] Odejmowanie \n[3] Mnozenie \n[4] Dzielenie\n[5] Koniec \n"; }
int opcja_switch()
float liczba_1() { float liczba_1; bool sprawdzenieLiczby; cin >> liczba_1; sprawdzenieLiczby = cin.good(); if( sprawdzenieLiczby == false ) do { cin.clear(); if( isalpha( cin.get() ) ) { cout << "Litery to nie liczby" << endl; } else { cout << "Podales cos jeszcze innego niz litery" << endl; } cout << "Podaj ponownie liczbe : "; cin >> liczba_1; sprawdzenieLiczby = cin.good(); } while( sprawdzenieLiczby == false ); return liczba_1; }
float liczba_2() { float liczba_2; bool sprawdzenieLiczby; cin >> liczba_2; sprawdzenieLiczby = cin.good(); if( sprawdzenieLiczby == false ) do { cin.clear(); if( isalpha( cin.get() ) ) { cout << "Litery to nie liczby" << endl; } else { cout << "Podales cos jeszcze innego niz litery" << endl; } cout << "Podaj ponownie liczbe : "; cin >> liczba_2; sprawdzenieLiczby = cin.good(); } while( sprawdzenieLiczby == false ); return liczba_2; }
int dodawanie() { cout << "Wynik: " << liczba_1() + Liczba_2() << endl; } int odejmowanie() { cout "Wynik: " << liczba_1() + Liczba_2() << endl; } int mnozenie() { cout "Wynik: " << liczba_1() * liczba_2 << endl; } int dzielenie() { cout << "Wynik: " << liczba_1() / liczba_2() << end; }
int main()
{ }
|
|
carlosmay |
» 2016-07-19 19:10:44 Ani to deklaracja funkcji, ani definicja zmiennej. |
|
Szymon2727 |
» 2016-07-19 20:08:42 CCBolt z całym szacunkiem, ale to nie jest plik hpp gdzie możesz sobie po prostu zdefiniować int opcja_switch() i sobie to tak zostawić. A co do już samego kodu to wysyłaj go bez kontroli błędów, a nawet powinieneś go tak napisać - działa, ok, teraz zadbaj o bezpieczeństwo, ale tak jest utrudniona czytelność, a to i tak nie działa. Może to głupie czepianie się, ale sprawdzanie kodu krok po kroku dużo daje :P |
|
CCbolt Temat założony przez niniejszego użytkownika |
» 2016-07-19 20:16:32 Na samym początku napisałem że kod nie jest kompletny, przeleciałem po forum jak ludzie rozwiązywali zadanie i staram się to napisać bez zaglądania z powrotem do jednego z postów @carlosmay. Pierwsze mi wysooczył problem z przeładowaniem operatora jak zauważyl to kolega @pekfos "()" machnąłem z rozpędu i nawet tego nie zauważyłem, myślałem że też dalej coś źle napisałem i dlatego błąd wyskakuje zanim powstanie główna funkcja. |
|
« 1 » 2 3 |