Uczę się właśnie struktur i robię program, w którym mam wpisać nazwisko i numer telefonu do tego nazwiska, a następnie go wypisać na konsoli. Problem w tym, że niby kompilator nie widzi problemu, ale dziwne rzeczy dzieją się po uruchomieniu programu ;/ np wybierając opcje 1, nic się nie dzieje, jak wybiorę ją jeszcze raz to mogę wpisać, ale po zatwierdzeniu wprowadzonych danych wywala program. Czy ktoś wie, gdzie zepsułem, bo kurcze nie widzę
#include <iostream>
#include <cstdlib>
using namespace std;
struct KsiazkaSerwisowa
{
string nazwisko;
int numer;
};
KsiazkaSerwisowa generuj_osobe(int ktore)
{
KsiazkaSerwisowa osoba[ktore];
cout << "Podaj nazwisko: ";
cin >> osoba[ktore].nazwisko;
cout << "Podaj numer telefonu: ";
cin >> osoba[ktore].numer;
return osoba[ktore];
}
int main()
{
KsiazkaSerwisowa osoba[100];
int wybor, ktore_w_tablicy;
ktore_w_tablicy = 0;
do
{
cout << "Co chcesz zrobic? " << endl;
cout << "------------------" << endl;
cout << "1. Wygenerowac osobe" << endl;
cout << "2. Wyswietlic kogo mamy w ksiazce" << endl;
cout << "3. Wyjdz z programu" << endl;
cout << "------------------" << endl;
cout << "Twoj wybor: ";
cin >> wybor;
switch(wybor)
{
case 1:
{
KsiazkaSerwisowa osoba[ktore_w_tablicy] = generuj_osobe(ktore_w_tablicy);
ktore_w_tablicy++;
break;
}
case 2:
{
for(int i=0; i<=ktore_w_tablicy; i++)
{
cout << osoba[ktore_w_tablicy].nazwisko << endl;
cout << osoba[ktore_w_tablicy].numer << endl << endl;
}
break;
}
case 3:
{
exit(0);
}
}
}
while(wybor != 3);
return 0;
}