witam, mam takie zadanie z książki, prosiłbym o ocene i ewentualne wskazówki :
Kiedy przyłączasz się do Zakonu Programistów Dobrej Woli, na spotkaniach ZPDW możesz występować pod swoim prawdziwym imieniem, ukrytym stanowiskiem służbowym lub pod tajnym pseudonimem ZPDW. Napisz program pokazujący członków zakonu według ich imion, stanowisk służbowych, pseudonimów lub według wyboru samych członków. Program ma być oparty na strukturze: <Tutaj struktura> UWAGA: int preferencje W programie stwórz niewielką tablicę takich struktur i zainicjalizuj ją odpowiednimi wartościami. Program ma działać w pętli, umożliwiając wybranie jednej z czterech operacji: <tutaj a'la menu> Zauważ, że lista wg preferencji nie oznacza pokazania liczby z pola preferencje, ale pokaznie tego pola, które wynika z preferencji danego członka zakonu. Jeśli na przykład pole preferencje ma wartość 1, wybór opcji d (to z menu preferencja) spowoduje pokazanie stanowiska danego programisty.
kod:
// ConsoleApplication1.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
int main()
{
const int strsize = 20;
struct zpdw
{
char imie[strsize];
char pseldonim[strsize];
char stanowisko[strsize];
int pref;
};
char ch;
bool a=1;
zpdw tab[3]
{
{"michal", "koniu", "robotnik", 0},
{"tomek", "kotek", "sprzedawca", 1},
{"piotrek", "poter", "kierowca", 2}
};
cout << "a- imiona, b-pseldonimy, c-funkcje d-preferencje, q-koniec" << endl;
cout << "Wybierz jedna z opcji: ";
cin >> ch;
while (a==1)
{
if (ch != 'a' && ch != 'b' && ch != 'c' && ch != 'd' && ch != 'q')
{
cout << "Wybierz jedna z opcji: ";
cin >> ch;
}
else
{
switch (ch)
{
case 'a':
for (int i = 0; i < 3; i++)
{
cout << tab[i].imie << endl;
}
ch = 'v';
break;
case 'b':
for (int i = 0; i < 3; i++)
{
cout << tab[i].pseldonim << endl;
}
ch = 'v';
break;
case 'c':
for (int i = 0; i < 3; i++)
{
cout << tab[i].stanowisko << endl;
}
ch = 'v';
break;
case 'd':
for (int i = 0; i < 3; i++)
{
if (tab[i].pref == 0)
{
cout << tab[i].imie << endl;
}
else if (tab[i].pref == 1)
{
cout << tab[i].pseldonim<<endl;
}
else if (tab[i].pref == 3)
{
cout << tab[i].stanowisko<<endl;
}
}
ch = 'v';
break;
case 'q':
cout << "do zobaczenia!";
a = 0;
break;
}
}
}
return 0;
}