C++ dostęp do składowej struktury

Awatar użytkownika
Przemekg
Użytkownik
Użytkownik
Posty: 15
Rejestracja: 27 mar 2008, o 19:48
Płeć: Mężczyzna
Lokalizacja: Kamienna Góra
Podziękował: 1 raz

C++ dostęp do składowej struktury

Post autor: Przemekg »

//Mam 2 struktury:

const short int Noc=100;

struct OCENA
{
char data[11];
};

struct STUDENT // I w tej strukturze wywala błąd (podczas działania rogramu)
{
int y;
char x;
OCENA* stopnie[Noc];
};

void pobOceny()
{
STUDENT* nowe;
nowe=new STUDENT;

cin>>(nowe->stopnie[0])->data[0]; //dostaje się do składowej stuktury Ocena
// Po wciśnięciu enter pokazuje się błąd?
coutdata[0];
}

int main()
{
pobOceny();

return EXIT_SUCCESS;
}

Kiedy struktura student jest z co najwyżej dwoma argumentami program działa bez zarzutu, a kiedy dodaje trzeci argument np: int y albo inny to wywala błąd?
spajder
Użytkownik
Użytkownik
Posty: 735
Rejestracja: 7 lis 2005, o 23:56
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 2 razy
Pomógł: 133 razy

C++ dostęp do składowej struktury

Post autor: spajder »

nie zaalokowałeś nigdzie pamięci dla nowe -> stopnie. Program, jeśli nawet działał, to tylko dzięki szczęściu (albo nieszczęściu)
Awatar użytkownika
Przemekg
Użytkownik
Użytkownik
Posty: 15
Rejestracja: 27 mar 2008, o 19:48
Płeć: Mężczyzna
Lokalizacja: Kamienna Góra
Podziękował: 1 raz

C++ dostęp do składowej struktury

Post autor: Przemekg »

Znalazłem rozwiązanie:
Trzeba wpisać
nowe->stopnie[0] = new OCENA;
po
STUDENT* nowe;
nowe=new STUDENT;

(W razie gdyby ktoś miał ten sam kłopot)
Dzięki za rade.
ODPOWIEDZ