Zwracanie wartosci przez funkcje.
Ostatnio zmodyfikowano 2016-01-23 15:28
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. #include <iostream> #include <cstdlib>
using namespace std;
int test( int a ) { cin >> a; return a; }
int main() { int testowane; test( testowane ); cout << testowane; }
|
|
mateczek |
» 2016-01-23 08:47:08 Tak : #include <iostream>
using namespace std;
int test() { int a; cin >> a; return a; }
int main() { int testowane = test(); cout << testowane << endl;; }
ablo tak: #include <iostream>
using namespace std;
void test( int & a ) { cin >> a; }
int main() { int testowane; test( testowane ); cout << testowane << endl; }
|
|
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"? |
|
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. |
|
SeaMonster131 |
» 2016-01-23 12:14:46 |
|
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 |
|
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. |
|
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 |
|
« 1 » 2 |