Pomoc ze wskaźnikiem w funkcji
Ostatnio zmodyfikowano 2010-11-28 19:41
Tymek Temat założony przez niniejszego użytkownika |
Pomoc ze wskaźnikiem w funkcji » 2010-11-28 18:58:09 Napisz program definiujący zmienną typu TStudent(imię , nazwisko , data urodzenia )oraz wskaźnik do zmiennej typu TStudent. Program powinien wczytać z klawiatury wartości pól zmiennej. Zastosuj wskaźnik i operator adresu . #include <iostream> using namespace std;
struct TStudent { char imie[ 20 ]; char nazwisko[ 30 ]; float data_urodzenia; void wczytaj(); void wypisz(); };
void TStudent::wczytaj() { cout << "podaj imie" << endl; cin >> imie; cout << "podaj nazwisko" << endl; cin >> nazwisko; cout << "data_urodzenia" << endl; cin >> data_urodzenia; } void TStudent::wypisz() { cout << "imie=" <<& x << endl; cout << "podaj nazwisko" <<& x << endl; cout << "data_urodzenia" <<& x << endl; } int main() { TStudent x; TStudent * w =& x; void TStudent::wczytaj(); void TStudent::wypisz(); cout << "podaj Tdata" << endl; system( "pause" ); }
Nie wiem za bardzo jak to ugryźć jak zdeklarować w funkcji wskaźnik?? |
|
waxx |
» 2010-11-28 19:13:10 w->wczytaj();
w->wypisz();
|
|
Tymek Temat założony przez niniejszego użytkownika |
» 2010-11-28 19:14:04 Zrobiłem również bez funkcji , czy można tak? #include <iostream> using namespace std;
struct TStudent { char imie[ 20 ]; char nazwisko[ 30 ]; float data_urodzenia; };
int main() { TStudent x; TStudent * w =& x; cout << "podaj Tdata" << endl; cin >> w->imie; cin >> w->nazwisko; cin >> w->data_urodzenia; cout << "imie=" << x.imie << endl; cout << "naziwsko=" << x.nazwisko << endl; cout << "data_urodzenia=" << x.data_urodzenia << endl; system( "pause" ); }
|
|
waxx |
» 2010-11-28 19:16:13 mozna jak pola beda publiczne to ok |
|
Tymek Temat założony przez niniejszego użytkownika |
» 2010-11-28 19:17:10 co do funkcji to chodzi o taki zapis? int main() { TStudent x; TStudent * w =& x; cout << "podaj Tdata" << endl; void TStudent::w->wczytaj(); void TStudent::w->wypisz(); system( "pause" );
|
|
waxx |
» 2010-11-28 19:18:39 Nie, przejrzyj kurs jak sie funkcje wywoluje.
Po prostu: w->wypisz(); lub x.wypisz(); |
|
Tymek Temat założony przez niniejszego użytkownika |
» 2010-11-28 19:22:30 `x' undeclared (first use this function) mam jeszcze tylko kłopot z jednym błędem void TStudent::wypisz() { cout << "imie=" <<& x << endl; cout << "podaj nazwisko" <<& x << endl; cout << "data_urodzenia" <<& x << endl; }
jak mu pokazać żeby pokazywał wynik ze wskaźnika? |
|
waxx |
» 2010-11-28 19:34:35 musisz zrobic tak
void TStudent::wypisz()
{
cout << "imie=" <<imie << endl;
cout << "podaj nazwisko" <<nazwisko << endl;
cout << "data_urodzenia" <<data_urodzenia << endl;
}
metoda klasy/struktury ma dostep do zmiennych lokalnych danego obektu, no chyba ze sa jakies globalne [ale po co?;S] |
|
« 1 » 2 |