Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Lekcja 17] Kalkulator przy użyciu własnych funkcji

Ostatnio zmodyfikowano 2014-12-02 19:42
Autor Wiadomość
luk_88
Temat założony przez niniejszego użytkownika
[Lekcja 17] Kalkulator przy użyciu własnych funkcji
» 2014-12-02 18:23:27
Witam! Zwracam się do Was z gorącą prośbą! Jestem nowicjuszem w programowaniu. Zdecydowałem się na C++ i na tej stronce znalazłem bardzo przydatny oraz obfity w informacje kurs. Teraz przejdę do sedna sprawy. Robiąc jedno z zadań, którego polecenie brzmiało, by zrobić kalkulator przy użyciu funkcji stworzonych samemu. I tu teraz kieruje do Was moje pytanie. Właściwie to bardziej prośba a nie pytanie. Czy ktoś mógłby mi "sprawdzić" ten kod oraz doradzić co poprawić oraz ulepszyć, jestem otwarty na krytykę, gdyż jestem jeszcze zielony w tej dziedzinie, z miłą chęcią posłucham rad starszych kolegów :). z góry bardzo dziękuję!!!

 
C/C++
#include <iostream>

using namespace std;

int dodawanie()
{
    int x, y;
    cin >> x;
    cin >> y;
    return x + y;
}

int odejmowanie()
{
    int x, y;
    cin >> x;
    cin >> y;
    return x - y;
}

int mnozenie()
{
    int x, y;
    cin >> x;
    cin >> y;
    return x * y;
}

int dzielenie()
{
    int x, y;
    cin >> x;
    cin >> y;
    return x / y;
}


int main()
{
    int x, y, menu, suma, roznica, iloczyn, iloraz, autor; //calc to jest wybor z menu
   
   
    cout << "WITAJ W KALKULATORZE." << endl;
    cout << "WYBOR OPCJI:" << endl;
    cout << "[1] DODAWANIE." << endl;
    cout << "[2] ODEJMOWANIE." << endl;
    cout << "[3] MNOZENIE." << endl;
    cout << "[4] DZIELENIE." << endl;
    cout << "[5] AUTORZY." << endl;
    cout << "-------------------------" << endl;
   
    cin >> menu;
   
   
   
    switch( menu )
    {
    case 1:
       
        cout << "WYBRALES DODAWANIE." << endl;
        cout << "Wpisz dwie liczby: " << endl;
        suma = dodawanie();
        cout << "Suma wynosi: " << suma << endl;
        break;
    case 2:
        cout << "WYBRALES ODEJMOWANIE." << endl;
        cout << "Wpisz dwie liczby: " << endl;
        roznica = odejmowanie();
        cout << "Roznica wynosi: " << roznica << endl;
        break;
    case 3:
        cout << "WYBRALES MNOZENIE." << endl;
        cout << "Wpisz dwie liczby: " << endl;
        iloczyn = mnozenie();
        cout << "Iloczyn wynosi: " << iloczyn << endl;
        break;
       
    case 4:
        cout << "WYBRALES DZIELENIE." << endl;
        cout << "Wpisz dwie liczby: " << endl;
        iloraz = dzielenie();
        cout << "Iloczyn wynosi: " << iloraz << endl;
        break;
    case 5:
        cout << "Autorem tego programu jest XYZ." << endl;
        break;
    default:
        cout << "Nie znaleziono." << endl;
        break;
       
       
    }
   
   
   
   
   
   
    return 0;
}
P-121969
Rashmistrz
» 2014-12-02 18:31:39
Podpunkt pierwszy zadania domowego:
Napisz funkcję, która będzie
wczytywała liczby ze standardowego
wejścia i zwracała wczytaną wartość.
Funkcja ma zagwarantować, że zwracana
liczba zawsze jest poprawna. Oznacza to,
że funkcja będzie musiała pytać
użytkownika o wprowadzenie liczby
dopóki nie poda poprawnej.

Podpunkt drugi zadania domowego:
Zmodyfikuj kalkulator, który
pisałeś w jednym ze wcześniejszych
rozdziałów tak, aby korzystał on
ze wcześniej napisanej
funkcji wczytajLiczbe.

-Nie użyłeś wcześniej napisanej funkcji wczytajLiczbe.

-Te funkcje do działań są zbędne.
Polecam Ci przenieść zawarte w nich działania
w miejsce ich wywołania, czyli czegoś w stylu:
cout << '\t' << x << ' ' << "+ " << y << ' ' << "= " << x + y;
(Przypominam że cout pomija wszystkie
spacje aż do znaku nie będącego spacją.)

-
C/C++
int x, y, menu, suma, roznica, iloczyn, iloraz, autor; //calc to jest wybor z menu
.
Nadmiarowa ilość zmiennych. Wystarczą "x", "y", "menu".

-Nie zabezpieczyłeś przed wpisaniem tekstu...
» Kurs C++ » Poziom 1Obsługa strumienia wejściowego lekcja:
"Sprawdzanie poprawności wprowadzonych danych"
"Czyszczenie zawartości strumienia wejściowego"
(Nie zapomij o
cin >> menu;
)

-
C/C++
suma = dodawanie();
cout << "Suma wynosi: " << suma << endl;
.
Wywołanie funkcji możesz umieścić w cout'cie:
cout << "Suma wynosi: " << dodawanie() << endl;
W miejscu wywołania funkcji pojawi się zwracana wartość. ^_^

-Nie można dzielić przez zero!

Mam nadzieję że niczego nie pominąłem. :P

P-121970
luk_88
Temat założony przez niniejszego użytkownika
» 2014-12-02 19:28:08
Dzięki, będę musiał na spokojnie usiąść i pogłowić troszkę. Czyli po każdym strumieniu wejścia należy użyć funkcji cin.clear() cin.sync()?
P-121977
Rashmistrz
» 2014-12-02 19:42:42
Czyli po każdym strumieniu wejścia należy
użyć funkcji cin.clear() i cin.sync()?

Widzę, że chyba coś idzie w złym kierunku...
Dlatego mówię: Stwórz funkcję "wczytajLiczbe"!
Możesz ją wywoływać tyle razy ile chcesz.

Dla wyboru działania ("menu")
również użyj tej funkcji.
Aledodatkowo opakuj to w pętlę,
jeśli chcesz by prosiło o odpowiednią liczbę
tak długo aż użytkownika da poprawną.

Nie zapomnij, że tekst kursu
również służy tobie pomocą.
P-121979
« 1 »
  Strona 1 z 1