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

Pomoc ze wskaźnikiem w funkcji

Ostatnio zmodyfikowano 2010-11-28 19:41
Autor Wiadomość
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 .

C/C++
#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;
    //deklaracja i inicjacja zmiennej całkowitej x TSstudnet
    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??
P-24615
waxx
» 2010-11-28 19:13:10
w->wczytaj();
w->wypisz();
P-24616
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?
C/C++
#include <iostream>
using namespace std;


struct TStudent
{
    char imie[ 20 ];
    char nazwisko[ 30 ];
    float data_urodzenia;
   
};

int main()
{
    TStudent x;
    //deklaracja i inicjacja zmiennej całkowitej x TSstudnet
    TStudent * w =& x;
    cout << "podaj Tdata" << endl;
   
    cin >> w->imie; //odwołuuje się do pola
    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" );
}
P-24617
waxx
» 2010-11-28 19:16:13
mozna jak pola beda publiczne to ok
P-24618
Tymek
Temat założony przez niniejszego użytkownika
» 2010-11-28 19:17:10
co do funkcji to chodzi o taki zapis?

C/C++
int main()
{
    TStudent x;
    //deklaracja i inicjacja zmiennej całkowitej x TSstudnet
    TStudent * w =& x;
    cout << "podaj Tdata" << endl;
    void TStudent::w->wczytaj();
    void TStudent::w->wypisz();
   
    system( "pause" );
P-24619
waxx
» 2010-11-28 19:18:39
Nie, przejrzyj kurs jak sie funkcje wywoluje.
Po prostu: w->wypisz(); lub x.wypisz();
P-24620
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
C/C++
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?
P-24621
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]
P-24622
« 1 » 2
  Strona 1 z 2 Następna strona