Witam. Otóż robię zadanie 4.6 z książki Stephena Praty ,,Szkoła C++...V6''. Polecenie jest dość długie więc staram się opisać w skrócie: Mam stworzyć strukturę danych taką jaka jest poniżej, zainicjalizować niewielką tablicę tych struktur dowolnymi przykladami. W programie wyświetla się menu, użytkownik podaje odpowiedz jakiej chce listy. Następnie wyświetla się lista wg. wyboru użytkownika. Czyli np. wybierze liste wg imion, to wyswietlaja sie imiona etc.
Problem leży w tym, że po wyborze prawidłowego znaku program nie podaje listy, tylko puste pola, w wypadku odpowiedzi 'a' (imion) wyskakują jakieś emotikony a przy 'd' same zera.
Oto program:
#include <iostream>
using namespace std;
void menu (void)
{
cout<<"Zakon Programistow Dobrej Woli ZPDW"<<endl;
cout<<"a. Lista wg imion \t\t"<<"b. Lista wg stanowisk"<<endl;
cout<<"c. Lista wg pseudonimow \t"<<"d. Lista wg preferencji"<<endl;
cout<<"q. Koniec"<<endl;
}
struct zpdw {
char imie[30];
char stanowisko[30];
char pseudonim[30];
int preferencje;
};
int main()
{
zpdw p1[4] =
{
("Slawek", "Prezes", "Slawcio", 1),
("Heniek", "V-Prezes", "Henio", 2),
("Maciek", "WEB-DEV", "Gumis", 2),
("Zdzislaw", "Przydupas", "Landryn", 0)
};
menu();
char odp;
while(odp != 'q')
{
cout<<"Wybierz odpowiedz: "; cin>>odp;
switch(odp)
{
case 'a': for(int i=0;i<4;i++){cout<<p1[i].imie<<endl;}; break;
case 'b': for(int i=0;i<4;i++){cout<<p1[i].stanowisko<<endl;}; break;
case 'c': for(int i=0;i<4;i++){cout<<p1[i].pseudonim<<endl;}; break;
case 'd': for(int i=0;i<4;i++){cout<<p1[i].preferencje<<endl;}; break;
case 'q': cout<<"Zegnamy"; break;
}
}
return 0;
}