Rozdział 15 (do..while) - kalkulator.
Ostatnio zmodyfikowano 2016-01-02 20:26
Kano1337 Temat założony przez niniejszego użytkownika |
Rozdział 15 (do..while) - kalkulator. » 2015-12-30 15:25:28 Witajcie Parę dni temu zacząłem tutejszy kurs C++ i dotarłem do rozdziału 15, w którym jako jedno z zadań domowych miałem napisać kalkulator. Oto mój wytwór: #include <iostream>
using namespace std;
int main() { int dzialanie; float wynik = 2, liczba; do { cout << " Obecny wynik = " << wynik << endl; cout << "Podaj liczbe : "; cin.clear(); cin.sync(); cin >> liczba; if( liczba != 0 ) { wybordzialania: cout << "Wybierz dzialanie: " << endl; cout << " [1] Dodawanie " << endl; cout << " [2] Odejmowanie" << endl; cout << " [3] Mnozenie" << endl; cout << " [4] Dzielenie" << endl; cout << " [5] Rezygnuj" << endl; cin.clear(); cin.sync(); cin >> dzialanie; switch( dzialanie ) { case 1: cout << "Wynik dodawania = " << wynik + liczba << endl; break; case 2: cout << "Wynik odejmowania = " << wynik - liczba << endl; break; case 3: cout << "Wynik mnozenia = " << wynik * liczba << endl; break; case 4: cout << "Wynik dzielenia = " << wynik / liczba << endl; break; case 5: return 0; break; default: cout << "Nie ma takiego dzialania !"; goto wybordzialania; } } else cout << "Podales niedozwolony znak" << endl; } while( liczba != 0 ); return 0; }
Program działa jak powinien, jednak czy moglibyście rzucić okiem i ocenić poprawność zapisów ? Chciałbym wiedzieć co robię źle już na początku swojej przygody z programowaniem, żeby nie wyrobić sobie potem złych nawyków. Najbardziej zastanawia mnie kwestia użycia instrukcji goto którą poznałem poza kursem - niektórzy piszą żeby tego nie używać.Co o tym sądzicie, może tak być czy powinienem użyć czegoś innego ? |
|
Razner |
» 2015-12-30 16:40:47 W sumie by ominąć goto mógłbyś dać w default liczba=0 Tak to nie widzę żadnych niepotrzebnych rzeczy. :) |
|
czareekk |
Nie kumam » 2016-01-02 20:09:41 " wybordzialania: " musi być wcześniej zdefiniowany w source.h czy coś? Bo nie kumam co to.
Dobra zrozumiałem - moje pytanie było bardzo głupie :/ Nevermind.
|
|
carlosmay |
» 2016-01-02 20:26:27 Zamiast goto można tak zarządzać zmiennymi i używać je w warunkach pętli, aby wracały do początku w określonych sytuacjach. goto w kodzie kilku liniowym łatwo zauważyć, ale w długim kodzie wprowadza zamęt. Poza tym warto identyfikator powrotu wysunąć maksymalnie do lewej strony, aby nie ginął w gąszczu kodu. Zamiast goto pętle. Narzędzie wymyślono, bo czasem jest potrzebne, ale warto traktować je jako ostateczność. " wybordzialania: " musi być wcześniej zdefiniowany w source.h czy coś? |
Najlepiej jak wcale go nie będzie. |
|
« 1 » |