Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2009, 13:22   #1
-ushёl-
Форумчанин
 
Аватар для -ushёl-
 
Регистрация: 04.02.2009
Сообщений: 141
Вопрос Проверьте,код пожалуйста!

Подскажите! Задание вроде не сложное,но я не понимаю суть одного условия.(Это из учебника C++,главы по циклам и операторам ветвления)
Задача:
Напишите прогу,которая может выводить списки членов по настоящим именам,должностям,секретным именам либо по предпочтению самого члена.В основу положите следующую структуру:
struct bop
{
char fullname[strsize];//настоящее имя
char title[strsize];//должность
char bopname[strsize];//секретное имя БОП
int preference;//0=полное имя,1=титул,2=имя БОП
};
В этой программе создайте небольшой массив таких структур и инициализируйте его соответствующими значениями.Пусть программа запустит цикл,который даст возможность пользователю выбирать разные альтернативы:
a.отображать по именам b.отображать по должностям
c.отображать по именам БОП d.отображать по предпочтениям
q.выйти
Обратите внимание,что "отображать по проедпочтениям"-не значит,что нужно отобразить предпочтение члена;это значит,что нужно отобразить значение того поля структуры,которое соответствует предпочтению.Например,если preference равно 1,то выбор d должен вызвать отображение должности для данного программиста.Пример запуска этой программы может выглядеть примерно так:
Отчёт о благотворительном ордене программистов
a.отображать по именам b.отображать по должностям
c.отображать по именам БОП d.отображать по предпочтениям
q.выйти
Ваш выбор:а
Wimp Macho
Raki Rhodes
Celia Laiter
Hoppy Hipman
Pat Hand
Следующий выбор
Wimp Macho
Junior Programmer
MIPS
Analyst Trainee
LOOPY
Следующий выбор:q
Пока!



Может я неправильно понял задание,По заданию создаётся структура(полное имя человека,должность,никнэйм,предпочт ения) затем нужно создать массив таких структур,запуск цикла для выбора альтернатив(a,b,c,d(отображать по предпочтениям)).Есть оговорка в условии задачи,цетирую:"...нужно отобразить значение поля структуры,которое соответствует предпочтению.Например,усли preference равно 1,то выбор d должен вызвать отображение должности для данного программиста."

Код:
#include <cstdlib>
#include <iostream>
const int strsize = 40;
struct bop
{
    char fullname[strsize];
    char title[strsize];
    char bopname[strsize];
    int preference;
};
void showmenu();
using namespace std;

int main(int argc, char *argv[])
{
    bop allbop[5]=
     {
       {"Wimp Macho","product manager","shoostriy",1},
       {"Raki Rhodes","manedger or Moscow region","scvoznoy",0},
       {"Celia Laiter","call center manager","mila",2},
       {"Hoppy Hipman","programmer","maindstorm",0},
       {"Pat Hand","logistic maneger","logoPat",2}
     };
     showmenu();
     cout<<"vash vibor:";
     char ch;
     cin>>ch;
     while(ch!='q')
     {
        switch(ch)
        {
          case 'a': for(int i=0;i<5;i++)
                    cout<<allbop[i].fullname<<"\n";
                     break;
          case 'b': for(int i=0;i<5;i++)
                     cout<<allbop[i].title<<"\n";
                     break;
          case 'c':  for(int i=0;i<5;i++)
                     cout<<allbop[i].bopname<<"\n";
                     break;
          case 'd':  if(allbop[5].preference>=1 && allbop[5].preference<2)//Здесь не могу сделать выбор по метке d на выходе в консоле отображаются только имена???Может ещё поставить один SWITCH?Но ведь тогда придётся как то ему сообщать ключ(0,1,2)... 
                      for(int i=0;i<5;i++)
                       cout<<allbop[i].title<<"\n";
                       else if(allbop[5].preference==0)
                         for(int i=0;i<5;i++)
                          cout<<allbop[i].fullname<<"\n";
                          else
                            for(int i=0;i<5;i++)
                             cout<<allbop[i].bopname<<"\n";
                             break;
        }
        //showmenu();
        cout<<"\nsleduushii vibor:";
        cin>>ch;

     }
     cout<<"vceh blag!\n";


    system("PAUSE");
    return EXIT_SUCCESS;
}
void showmenu()
{
        cout<<"OTCHET O BLAGOTVORITELNOM ORDENE PROGRAMMISTOV\n"
              "a.Otibrajat' po imenam      b.Otobrajat' po doljnostiam\n"
              "c.Otobrajat' po imenam BOPa d.Otobrajat' po predpochteniyam\n"
              "q.Vihod\n";
}

Последний раз редактировалось -ushёl-; 08.12.2009 в 16:05. Причина: Добавил подробность
-ushёl- вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++. Проверьте пожалуйста код Alexandrk8 Помощь студентам 11 10.09.2009 11:45
проверьте код пожалуйста! массив. Рascal -ushёl- Помощь студентам 4 23.03.2009 21:44
Пожалуйста проверьте код программы!!! Dmitriy-e-nest Помощь студентам 13 16.01.2009 00:41
Проверьте код ! Михаил Юрьевич Общие вопросы Delphi 7 08.02.2008 09:32
Проверьте пожалуйста код forumu Помощь студентам 1 27.12.2007 21:49