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

Rozdział 17 zadanie 2.

Ostatnio zmodyfikowano 2015-03-25 20:40
Autor Wiadomość
Kacper.D
Temat założony przez niniejszego użytkownika
Rozdział 17 zadanie 2.
» 2015-03-25 20:21:08
C/C++
#include <iostream>
#include <conio.h>

int menu()
{
    int menuu;
   
    std::cout << "[1] Dodawanie " << std::endl;
    std::cout << "[2] Odejmowanie " << std::endl;
    std::cout << "[3] Mnozenie " << std::endl;
    std::cout << "[4] Dzielenie " << std::endl;
    std::cout << "[5] Rezygnuj " << std::endl;
    std::cin >> menuu;
    std::cout << std::endl;
   
    return menuu;
   
   
   
}

int dodawanie()
{
    int skladnik1;
    int skladnik2;
   
    std::cout << "Wpisz pierwszy skladnik: ";
    std::cin >> skladnik1;
    std::cout << std::endl;
    std::cout << "Wpisz drugi skladnik: ";
    std::cin >> skladnik2;
    std::cout << std::endl;
   
    return skladnik1 + skladnik2;
}

int odejmowanie()
{
    int odjemna;
    int odjemnik;
   
    std::cout << "Wpisz odjemna: ";
    std::cin >> odjemna;
    std::cout << std::endl;
    std::cout << "Wpisz odjemnik: ";
    std::cin >> odjemna;
    std::cout << std::endl;
   
    return odjemna - odjemnik;
}

int mnozenie()
{
    int czynnik1;
    int czynnik2;
   
    std::cout << "Wpisz pierwszy czynnik: ";
    std::cin >> czynnik1;
    std::cout << std::endl;
    std::cout << "Wpisz drugi czynnik: ";
    std::cin >> czynnik2;
    std::cout << std::endl;
   
    return czynnik1 * czynnik2;
   
}

int dzielenie()
{
    int dzielna;
    int dzielnik;
   
    std::cout << "Wpisz dzielna: ";
    std::cin >> dzielna;
    std::cout << std::endl;
    std::cout << "Wpisz dzielnik: ";
    std::cin >> dzielnik;
    std::cout << std::endl;
   
   
    return dzielna / dzielnik;
    return dzielna % dzielnik;
}


int main()
{
    menu();
   
    do
    {
       
        if( menu() == 1 )
        {
            dodawanie();
        }
       
        if( menu() == 2 )
        {
            odejmowanie();
        }
       
        if( menu() == 3 )
        {
            mnozenie();
        }
       
        if( menu() == 4 )
        {
            dzielenie();
        }
    } while( menu() < 5 && std::cin.good() );
   
    return 0;
}




Co jest źle ?

Funkcje włączają się w dziwnej kolejności.
P-129165
pekfos
» 2015-03-25 20:30:31
Sprawdzenie każdego z tych warunków to wywołanie menu(). Uzyj switch(menu()) lub zapisuj wynik w zmiennej i tą wartość porównuj.
P-129166
Deyvin
» 2015-03-25 20:40:13
Wszystko odbywa się tak jak napisałeś: wywołujesz funkcje
menu()
, która zwraca wartość i nic z tym nie robisz, by później używając jej jako warunek w if'ach wywołujesz ją znów przez co w konsoli masz znowu wyświetlone menu. Ponad to nic nie robisz z wartościami zwracanymi przez pozostałe funkcje, w funcji
odejmowanie()
 jest błąd (pobierasz dwa razy liczbę do zmiennej odjemna zamiast do zmiennej odjemnik), funkcję
dzielenie()
 powinieneś zabezpieczyć przed możliwością próby wykonania dzielenia przez 0.

E: Kolega wyżej był szybszy, dobrze Ci radzi. Popraw jeszcze te błędy i będzie ok.
P-129169
« 1 »
  Strona 1 z 1