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

Zwracanie wartosci przez funkcje.

Ostatnio zmodyfikowano 2016-01-23 15:28
Autor Wiadomość
Cichyy7
Temat założony przez niniejszego użytkownika
Zwracanie wartosci przez funkcje.
» 2016-01-23 03:30:11
Witam. Jak mogę przesłać wprowadzone dane z funkcji tak aby były widziane w funkcji main? Napisałem krótki program by przedstawić mój problem.
Chce wartość zapisaną w funkcji test (wartosc a) wyświetlić w funkcji main.
Potrzebne jest mi to do innego mojego programu.

C/C++
#include <iostream>
#include <cstdlib>

using namespace std;

int test( int a )
{
    cin >> a;
    return a;
}

int main()
{
    int testowane;
    test( testowane );
    cout << testowane;
}
P-143902
mateczek
» 2016-01-23 08:47:08
Tak :
C/C++
#include <iostream>

using namespace std;

int test()
{
    int a;
    cin >> a;
    return a;
}

int main()
{
    int testowane = test();
    cout << testowane << endl;;
}

ablo tak:


C/C++
#include <iostream>

using namespace std;

void test( int & a )
{
    cin >> a;
}

int main()
{
   
    int testowane;
    test( testowane );
    cout << testowane << endl;
}
P-143903
Cichyy7
Temat założony przez niniejszego użytkownika
» 2016-01-23 11:15:10
Super! ;) Możesz jeszcze wyjaśnić dlaczego w drugim sposobie jest "(int & a)" jako argument funkcji, a nie samo "int a"? 
P-143909
Cichyy7
Temat założony przez niniejszego użytkownika
» 2016-01-23 11:23:18
Właśnie sprawdziłem sposób nr 2 i niestety nie działa.
Gdy wpisuje wartość np. 5 do strumienie wejścia, to funkcja main widzi to jako liczbę -2. Nie ważne co wpiszę, zawsze będzie to -2.
EDIT: Sposób nr 1 robi dokładnie to samo.
P-143910
SeaMonster131
» 2016-01-23 12:14:46
P-143911
mateczek
» 2016-01-23 13:08:32
EDIT: Sposób nr 1 robi dokładnie to samo.
wklej cały kod bo to wygląda na jakąś litrówkę w nazwach zmiennych :P a nie w sposobie :P
P-143912
Cichyy7
Temat założony przez niniejszego użytkownika
» 2016-01-23 13:40:37
@mateczek wkleilem dokladnie te dwa sposoby które ty wstawiles. Obydwa wpisują na ekran -2. Mój kompilator to ten domyślny z code::blocks. Coś GCC, nie pamiętam dokładnie sposobu. Jeśli chodzi o mój kod to jest nie istotny. Interesuje mi tylko przesylanie tej zmiennej ktora jest zdefiniowana w funkcji przez strumien wejscia do maina.
P-143913
mateczek
» 2016-01-23 14:23:45
Jeśli wkleiłeś kod programu w całości czyli tak jak jest tu na forum nie dopisując nic od siebie!!! to musi działać!!!!
zbuduj projekt od nowa (opcja rebuild, przebuduj coś w tym stylu ). Jeśli w programie masz inny kod to podaj całość bo inaczej nikt Ci nie wskaże błędu !!!

Nie rozumiem obawy przed wklejeniem kodu :P Chyba nie piszesz ściśle tajnego programu dla NASA :P??


Jeśli chodzi o mój kod to jest nie istotny.
Jeśli chcesz to udowodnić musisz wkleić cały kod. Wtedy mi będzie łyso :P
Jeśli chcesz sam znaleźć błąd skorzystaj z debugera!!!

https://www.youtube.com/watch​?v=L9JvSHYLvuw
P-143916
« 1 » 2
  Strona 1 z 2 Następna strona