// Структура имен членов Order of Programmers Benevolent struct bop { char fullname[strsize]; //действительное имя char title[strsize]; //название должности char bopname[strsize]; //секретная кличка ВОР int preference; // 0 = fullname, // 1 = title, // 2 = bopname
В программе создайте небольшой массив таких структур и инициализируйте его подходящими значениями. Программа должна выполнять цикл, который позволяет пользователю выбирать различные возможности: a. отображение по имени b. отображение по должности c. отображение по тайной кличке d. отображение по привилегиям q. выход __________________________________________________________
#include <iostream.h> #include <stdlib.h> struct bop { char fullname [20]; char title [20]; char bopname[20]; int pref; }; int main() { char ch[5]; int i=0; bop e[3] = { { "wimp1", "title1", "bopname1", 1}, { "Raki2", "title2", "bopname2", 0}, {"Celia3", "title3", "bopname3", 2} }; // инициализация массива структур cout << "Benevolent Order of Programmers Report\n"; cout << "a. display by name\n"; cout << "b. display by title\n"; cout << "c. display by bopname\n"; cout << "d. display by preference\n"; cout << "q. quit\n"; while (cin.getline(ch, 5)) { if (ch[0]== 'q') // если q то выход { cout <<"Bye!\n"; break; } if (strlen(ch) == 1) // проверка ввода лишь одного символа switch (ch[0]) { case 'a' : for (i=0;i<3;i++) cout << e[i].fullname << "\n"; break; case 'b' : for (i=0;i<3;i++) cout << e[i].title << "\n"; break; case 'c' : for (i=0;i<3;i++) cout << e[i].bopname << "\n" ; break; case 'd' : for (i=0;i<3;i++) switch (e[i].pref) { case 0 : cout << e[i].fullname << "\n"; break; case 1 : cout << e[i].title << "\n"; break; case 2 : cout << e[i].bopname << "\n"; break; }; break; default : cout << "vy vveli ne vernyj simvol, povtorite vvod\n"; } else cout << "vy vveli neskolko simvolov, povtorite vvod\n"; } system("PAUSE"); return 0; }
______________________________
особой сложности не встретил, пол-кода взял из прошлого упражнения. Только был подзабывши как со структурами обращаться ))
все могло бы быть проще и нагляднее с помощью функций, но пока предполагается, что я еще не знаю этого. Хотя сколько раз я начинал с разных книг, столько я и читал про функции ))