четверг, 10 июля 2008 г.

глава 6 упражнение 4

// Структура имен членов 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; } 

______________________________


особой сложности не встретил, пол-кода взял из прошлого упражнения. Только был подзабывши как со структурами обращаться ))


все могло бы быть проще и нагляднее с помощью функций, но пока предполагается, что я еще не знаю этого. Хотя сколько раз я начинал с разных книг, столько я и читал про функции ))

Комментариев нет: