vidim da ti ovaj kod nisi ni kompajliro ali mislim da znam sta si ti mislio da se dogadja...
mislio si da se u ovoj liniji
Code:
ah broj_fona[1000];
alocira memorija u kojoj ce se spremit ime i broj... to se dogadja ali ne na taj nacin na koji ti mislis... u toj liniji se u memoriji rezerviralo mjesto za 1000 objekata ah.
nigdje ne alociras memoriju da bi se spremilo ime... imas pointer koji pokazuje na jedan znak, znaci sve ostale znakove koje upisujes prepisuju neku memoriju koja nije rezervirana za tebe...
Code:
#include <iostream>
struct ah{
int broj;
char *ime;
ah() : broj(0), ime(new char[20]) {}
~ah() { delete [] ime; }
};
int main()
{
ah broj_fona[1000];
cout << "unesi ime" ;
cin>>broj_fona[0].ime;
cout<< "unesi broj";
cin >> broj_fona[0].broj;
return 0;
}