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

funkcja pierwsze starcie zd2

Ostatnio zmodyfikowano 2013-04-04 15:51
Autor Wiadomość
gorky112
Temat założony przez niniejszego użytkownika
funkcja pierwsze starcie zd2
» 2013-04-03 20:41:52
Prosiłbym o pomoc w zadaniu drugim z:
» Kurs C++ » Poziom 2Funkcje - pierwsze starcie lekcja
Nie umiem dodać funkcji wynik, kombinowałem na róźne sposoby między innymi:

C/C++
#include <iostream>
float moja_funkcja()
{
    std::cout << "[1] - dodawanie" << std::endl;
    std::cout << "[2] - odejmowanie" << std::endl;
    std::cout << "[0] - wyjscie z programu" << std::endl;
}

float dodawanie() // myslalem zeby w nawias stawic zmienne a, b
{
    int a;
    int b;
    std::cout << "Wybrano dodawanie" << std::endl;
    std::cout << "Podaj pierwsza liczbe: ";
    std::cin >> a;
    std::cout << "Podaj druga liczbe: ";
    std::cin >> b;
    return a + b; // czy tak moze byc?
   
}

float odejmowanie() // -||-
{
    int a;
    int b;
    std::cout << "Wybrano odejmowanie" << std::endl;
    std::cout << "Podaj pierwsza liczbe: ";
    std::cin >> a;
    std::cout << "Podaj druga liczbe: ";
    std::cin >> b;
    return a + b; // -||-
}
float wynik()
{
    // co tu trzeba zrobic?
}
int main()
{
    std::cout << "W programie sa dostepne nastepujace opcje:" << std::endl;
    std::cout << "Zycze przyjemnego korzystania z programu" << std::endl << std::endl;
    int liczba;
    do
    {
        moja_funkcja();
        std::cin >> liczba;
        switch( liczba )
        {
        case 1:
            dodawanie();
            break;
        case 2:
            odejmowanie();
            break;
            default:
            break;
        } //switch
        std::cout << "Wynik to: " << wynik() << std::endl; // zeby tutaj byl wynik dodawania lub odejmowania?
    } while( liczba != 0 );
   
    return 0;
}
Proszę nie podawać gotowego rozwiązania tylko pomoc jak mogę sobie z tym poradzić.

//edit
Doszedłem do tego prostego rozwiązania, ale chyba jest niepoprawne z zadaniem bo nie zwraca liczby tak jak w poprzednim przykładzie.

C/C++
#include <iostream>
float moja_funkcja()
{
    std::cout << "[1] - dodawanie" << std::endl;
    std::cout << "[2] - odejmowanie" << std::endl;
    std::cout << "[0] - wyjscie z programu" << std::endl;
}

float dodawanie()
{
    int a;
    int b;
    std::cout << "Wybrano dodawanie" << std::endl;
    std::cout << "Podaj pierwsza liczbe: ";
    std::cin >> a;
    std::cout << "Podaj druga liczbe: ";
    std::cin >> b;
    std::cout << "Wynik dodawania: " << a << " + " << b << " = " << a + b << std::endl;
   
}

float odejmowanie()
{
    int a;
    int b;
    int wynik;
    std::cout << "Wybrano odejmowanie" << std::endl;
    std::cout << "Podaj pierwsza liczbe: ";
    std::cin >> a;
    std::cout << "Podaj druga liczbe: ";
    std::cin >> b;
    std::cout << "Wynik odejmowania " << a << " - " << b << " = " << a - b << std::endl;
}

int main()
{
    std::cout << "W programie sa dostepne nastepujace opcje:" << std::endl;
    std::cout << "Zycze przyjemnego korzystania z programu" << std::endl << std::endl;
    int liczba;
    do
    {
        moja_funkcja();
        std::cin >> liczba;
        switch( liczba )
        {
        case 1:
            dodawanie();
            break;
        case 2:
            odejmowanie();
            break;
            default:
            break;
        } //switch
    } while( liczba != 0 );
   
    return 0;
}

Powinno zwracać tak samo jak wczytajLiczbe z tego przykładu:
C/C++
#include <iostream>
int wczytajLiczbe()
{
    int a;
    std::cin >> a;
    return a;
}

int main()
{
    std::cout << "Podaj liczbe: ";
    int liczba = wczytajLiczbe();
    std::cout << "Podales liczbe: " << liczba << std::endl;
    return 0;
}
Co o tym sądzicie?
P-79873
Berux
» 2013-04-04 12:39:24
Po pierwsze:
 Masz użyć funkcji wczytajLiczbe();

Po drugie:
 Nie wypisujesz tego co zwracają funkcje dodawanie() i odejmowanie()
 Wystarczy coś takiego:
 
cout << dodawanie();

 Jeśli chodzi o odejmowanie to analogicznie do powyższego.
P-79909
Bajt
» 2013-04-04 13:47:31
O wiele prościej można to zrobić tak:
C/C++
int x, y;
cin >> x;
cin >> y;
return x + y;
P-79913
gorky112
Temat założony przez niniejszego użytkownika
» 2013-04-04 15:51:37
Dzięki za pomoc, wczoraj byłem coś rozkojarzony :)
P-79928
« 1 »
  Strona 1 z 1