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

Poz. 2. Rozdział 17. - problem ze zwracaniem wartości z funkcji

Ostatnio zmodyfikowano 2017-05-16 14:32
Autor Wiadomość
thomson92
Temat założony przez niniejszego użytkownika
Poz. 2. Rozdział 17. - problem ze zwracaniem wartości z funkcji
» 2017-05-16 11:56:53
Próbuję napisać program zgodnie z poleceniem "Napisz funkcję, która losuje liczbę z przedziału, który zostanie podany poprzez argumenty funkcji. Przetestuj funkcję w poniższy sposób..."

Używając funkcji void nie było żadnego problemu jednak kiedy chcę użyć funcji, do której przekazywane są wartości zmiennych poprzez argumenty, funkcja nie zwraca mi żadnego wyniku. Testowałem wiele róznych wariantów jednak obecnie brakuje mi pomysłów co mogę robić źle a zależy mi na dokładnym poznaniu mechaniki działania argumentów bo trochę mi się to w głowie miesza.


#include "stdafx.h"
#include <iostream>
#include <string>
#include <ctime>

using namespace std;

void dodawanie()
{
int a, b;
cout << "Podaj pierwsza liczbe: " << endl;
cin >> a;
cout << "podaj druga liczbe: " << endl;
cin >> b;
cout << a << "+" << b << "=" << a + b << endl;
}

void odejmowanie()
{
int a, b;
cout << "Podaj pierwsza liczbe: " << endl;
cin >> a;
cout << "podaj druga liczbe: " << endl;
cin >> b;
cout << a << "-" << b << "=" << a + b << endl;
}

int losowanie(int dol, int gora)
{
// int los = ((rand() % (gora - dol + 1)) + dol);
return rand() % (gora - dol + 1) + dol;
}

void menu()
{

int a;

cout << "[1] Dodawanie" << endl;
cout << "[2] Odejmowanie" << endl;
cout << "[3] Losowanie" << endl;
cin >> a;
switch (a)
{
case 1:
dodawanie();
break;
case 2:
odejmowanie();
break;
case 3:
int a, b, c;
srand(time(NULL));
cout << "dolna granica: " << endl;
cin >> a;

cout << "gorna granica: " << endl;
cin >> b;

cout << "ile losow: " << endl;
cin >> c;
do
{
losowanie(a, b);
c--;
} while (c > 0);
break;
default:
menu();
break;
}
}

int main()
{
string start;
cout << "Wpisz: START aby uruchomic program: " << endl;
cin >> start;

if (start == "start")
menu();

int pause;
pause = 0;
cin >> pause;

    return 0;
}

PS. problem jest oczywiście z int losowanie().
P-161193
hit
» 2017-05-16 13:05:56
Brakuje wyświetlania wyniku. Funkcja zwraca go poprawnie.
P-161195
thomson92
Temat założony przez niniejszego użytkownika
» 2017-05-16 14:32:55
Dzięki! Nie wiem dlaczego sobie ubzdurałem, że return powinien wyświetlać wynik.
P-161196
« 1 »
  Strona 1 z 1