zadanie domowe z rozdzialu 25
Ostatnio zmodyfikowano 2011-06-18 19:27
lukaszsuch1993 Temat założony przez niniejszego użytkownika |
zadanie domowe z rozdzialu 25 » 2011-06-18 18:57:14 Witam
Jak w temacie, mam problem.
Proszę o wskazanie tego, co robię źle.
Gdybym nie użył funkcji wszystko było by dobrze, więc myślę że coś jest nie tak z funkcją.
Oto kod:
#include <iostream> #include <string>
using namespace std;
void wczytajOsobe( string imie, string nazwisko, int wiek ) { cout << "Podaj imie:\n"; cin >> imie; cout << "Podaj nazwisko:\n"; cin >> nazwisko; cout << "Podaj wiek:\n"; cin >> wiek; }
void wypiszOsobe( string imie, string nazwisko, int wiek ) { cout << "Imie: " << imie << endl << "Nazwisko: " << nazwisko << endl << "Wiek: " << wiek << endl; } int main() { std::string imie[ 2 ]; std::string nazwisko[ 2 ]; int wiek[ 2 ]; for( int i = 0; i < 2; i++ ) wczytajOsobe( imie[ i ], nazwisko[ i ], wiek[ i ] ); for( int i = 0; i < 2; i++ ) wypiszOsobe( imie[ i ], nazwisko[ i ], wiek[ i ] ); return 0; }
Prosze o szybka odp |
|
DejaVu |
» 2011-06-18 19:09:44 Tak się pośpieszyłeś, że nawet problemu nie opisałeś :)
/edit:
Już wiem w czym problem - nie opisałem referencji więc tego zadania nie powinno być ;p
void wczytajOsobe( string & imie, string & nazwisko, int & wiek )
Symbol & załatwi sprawę - wówczas zmienna np. imie wskazuje de'facto na to co zostało przekazane przy wywołaniu funkcji. Brak symbolu & oznacza, że zmienna ma być lokalna, a dane przekazane poprzez argument mają być skopiowane - tym samym nie są one propagowane w górę - co w wielu przypadkach jest korzystne (ale akurat nie w tym ;p). |
|
lukaszsuch1993 Temat założony przez niniejszego użytkownika |
» 2011-06-18 19:14:56 Faktycznie:d
Problem mam taki, iż (przynajmniej tak mi się wydaje) funkcja odpowiedzialna za wczytywanie danych ich nie wczytuje, więc funkcja odpowiedzialna za ich wyświetlanie ich nie wyświetla (poza wiekiem - tam wyświetla całkowicie przypadkowe liczby). |
|
lukaszsuch1993 Temat założony przez niniejszego użytkownika |
» 2011-06-18 19:27:41 Ok Wielkie dzięki wszystko działa:D
|
|
« 1 » |