Witam, spójrzcie na ten kod poniżej. Chcę napisać trochę większy program, ale nie chwytam pewnych podstaw, bo nie wiem czemu ten okrojony kod niżej nie działa. Ma być stworzona mimi mini baza ze studentami, wiec tworzę po kolei nowe elementy statyczne a ich adresy wrzucam do tablicy, jednak pojawiają mi się jakieś śmieci. Problem możliwe tkwi w rodzaju/miejscu lub widoczności zmiennych... załączyłem screeny z uruchomienia
Proszę o pomoc.
#include <iostream>
using namespace std;
int a = 0;
const int ilosc = 15;
struct student
{
char imie[25];
int numer;
};
// tworzon sa zmienne i zwracany adres ulokowania
student * dodaj(void)
{
static student * s = new student;
cout << "Podaj imie: ";
cin >> (*s).imie;
cout << "Podaj numerek: ";
cin >> (*s).numer;
cout << "\n\n";
return(s);
}
int main()
{
// tablica z adresami do zmiennych
student * grupa[ilosc];
for(int i = 0; i < 3; i++) // dodaje 3 studentow
{
grupa[i] = dodaj();
}
for(int i = 0; i < ilosc; i++)
{
printf("adres = %ld, imie = %s, numerek = %d\n", grupa[i], (*grupa)[i].imie, (*grupa)[i].numer);
}
for(int i = 0; i < ilosc; i++)
{
delete grupa[i];
}
system("PAUSE");
return(0);
}