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

zadanie domowe z rozdzialu 25

Ostatnio zmodyfikowano 2011-06-18 19:27
Autor Wiadomość
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:

C/C++
#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
P-34264
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
C/C++
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).
P-34265
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).
P-34266
lukaszsuch1993
Temat założony przez niniejszego użytkownika
» 2011-06-18 19:27:41
Ok Wielkie dzięki wszystko działa:D
P-34267
« 1 »
  Strona 1 z 1