Witam, mam do wykonania zadanie, w którym:
- należy zdefiniować strukturę i ją wypełnić (w moim programie jest to robione przy użyciu pętli)
- Program dzięki instrukcji "switch" ma pokazać menu z opcjami do wyboru, poszczególne opcje oznaczają rodzaj "posortowania" informacji. Np według imienia, pseudonimu czy stanowiska.
- Opcja preferencje, dostępne przy wpisywaniu, definiuje, jak dany użytkownik chce być identyfikowany, gdzie 1- imię, 2- stanowisko, 3 -pseudonim.
Niestety przy wybraniu opcji sortowania wg preferencji, program nie stosuje się do wczytanych wcześniej danych, skąd ten problem?
#include <iostream>
using namespace std;
void name();
void stanowisko();
void nick();
void pref();
const int c=2;
struct zpdw{
string name;
string stanowisko;
string nick;
int pref;
};
char znak;
zpdw employers[5];
int main()
{
for (int i=0; i<c; i++ )
{
cout<<"Podaj dane do "<<i+1<<" struktury"<<endl;
cout<<"Imie "<<i+1<<": ";
cin>> employers[i].name;
cout<<"Stanowisko "<<i+1<<": ";
cin>> employers[i].stanowisko;
cout<<"Pseudonim "<<i+1<<": ";
cin>> employers[i].nick;
cout<<"Preferencje(1-3) "<<i+1<<": ";
cin>> employers[i].pref;
}
cout<<"a) Wedlug imion\n";
cout<<"b) Wedlug stanowiska\n";
cout<<"c) Wedlug pseudonimu\n";
cout<<"d) Wedlug preferencji\n";
cout<<"e) Zakoncz\n";
cout<<"------------"<<endl;
cout<<"Wpisz opcje: ";
while(cin>>znak)
{
switch(znak)
{
case 'a': name();
break;
case 'b': stanowisko();
break;
case 'c': nick();
break;
case 'd': pref();
break;
case 'e': exit(0);
break;
default: ;
}
}
return 0;
}
void name()
{
for(int i=0; i<c; i++)
cout<<employers[i].name<<endl;
}
void stanowisko()
{
for(int i=0; i<c; i++)
cout<<employers[i].stanowisko<<endl;
}
void nick()
{
for(int i=0; i<c; i++)
cout<<employers[i].nick<<endl;
}
void pref()
{
for(int i=0; i<c; i++)
{
if(employers[i].pref = 1 )
cout<<employers[i].name<<endl;
else if (employers[i].pref = 2)
cout<<employers[i].stanowisko<<endl;
else if (employers[i].pref = 3)
cout<<employers[i].nick<<endl;
}
}