[c++] stryktura w strukturze + funkcje [ROZWIĄZANY]
Ostatnio zmodyfikowano 2013-01-30 20:31
damian302 Temat założony przez niniejszego użytkownika |
[c++] stryktura w strukturze + funkcje [ROZWIĄZANY] » 2013-01-30 17:19:57 Witam. Mam taki oto kod, który napisałem: #include <conio.h> #include <iostream> using namespace std;
struct tData { int dzien; int miesiac; int rok; };
struct tOsoba { char nazwisko[ 20 ]; char imie[ 15 ]; tData dataUrodzenia; };
void dane( tOsoba & rekord ) { cout << "Podaj nazwisko: "; cin >> rekord.nazwisko; cout << "Podaj imie: "; cin >> rekord.imie; };
void dd( tData & date ) { cout << "Podaj dzien: "; cin >> date.dzien; cout << "Podja miesiac: "; cin >> date.miesiac; cout << "Podaj rok: "; cin >> date.rok; } void wyswietl( tOsoba rekord ) { cout << "Imie: " << rekord.imie << endl; cout << "Nazwisko: " << rekord.nazwisko << endl; cout << "Data: " << rekord.dataUrodzenia.dzien << "/" << rekord.dataUrodzenia.miesiac << "/" << rekord.dataUrodzenia.rok << endl; }; int main() { tOsoba nowy; dane( nowy ); dd( nowy.dataUrodzenia ); wyswietl( nowy ); getch(); return( 0 ); } Mój problem, że linijka która jest oznaczona 1 mam być wewnątrz funkcji "dane", tyle tylko, że jak ją wkleję tak jak jest teraz to nie działa. Walczę z tym już 2 dzień i nie mam już pomysłów. Proszę o pomoc |
|
unimator |
» 2013-01-30 18:10:57 void dane( tOsoba & rekord ) { cout << "Podaj nazwisko: "; cin >> rekord.nazwisko; cout << "Podaj imie: "; cin >> rekord.imie; dd( rekord.dataUrodzenia ); };
|
|
crash |
» 2013-01-30 18:14:16 #include <conio.h> #include <iostream> using namespace std;
struct tData { int dzien; int miesiac; int rok; };
struct tOsoba { char nazwisko[ 20 ]; char imie[ 15 ]; tData dataUrodzenia; };
void dd( tData & date );
void dane( tOsoba & rekord ) { cout << "Podaj nazwisko: "; cin >> rekord.nazwisko; cout << "Podaj imie: "; cin >> rekord.imie; dd( rekord.dataUrodzenia ); };
void dd( tData & date ) { cout << "Podaj dzien: "; cin >> date.dzien; cout << "Podja miesiac: "; cin >> date.miesiac; cout << "Podaj rok: "; cin >> date.rok; } void wyswietl( tOsoba rekord ) { cout << "Imie: " << rekord.imie << endl; cout << "Nazwisko: " << rekord.nazwisko << endl; cout << "Data: " << rekord.dataUrodzenia.dzien << "/" << rekord.dataUrodzenia.miesiac << "/" << rekord.dataUrodzenia.rok << endl; }; int main() { tOsoba nowy; dane( nowy ); wyswietl( nowy ); getch(); return( 0 ); }
Poczytaj o deklaracji i definicji funkcji. Dwa, taka mała sugestia, skoro używasz iostream, a to jest C++, to zamiast char[]/char* lepiej bo wygodniej jest używać std::string. W funkcji dane chcesz użyć funkcji, która jest zdefiniowana poniżej jej, dlatego trzeba kompilator uprzedzić, że taka funkcja (dd) wystąpi gdzieś później w kodzie |
|
damian302 Temat założony przez niniejszego użytkownika |
» 2013-01-30 20:31:22 Dzięki @crash za pomoc. Zapomniałem o tej kolejności i to było przyczyną. O deklaracjach już się naczytałem ale nie zwróciłem uwagi na tą kolejność. Char użyłem tu w przykładzie. W programie, gdzie jest podobny fragment wykorzystany używam string'ów. |
|
« 1 » |