Форум программистов, компьютерный форум CyberForum.ru

Массивы структур, циклы - C++

Восстановить пароль Регистрация
 
Kayako
1 / 1 / 0
Регистрация: 14.10.2010
Сообщений: 23
30.01.2013, 18:43     Массивы структур, циклы #1
Пишу программку из книги.
Задание звучит так:
Коrда вы вступите в Блаrотворительный Орден Проrраммистов (БОП), к вам могyт обращаться на заседаниях БОП по вашему настоящему имени, по должности либо секретному имени БОП. Напишите проrрамму, которая может выводить списки членов по настоящим именам, должностям, секретным именам либо по предпочтению caмoro члена. В основу положите следующую структуру:
// Структура имен Блаrотворительноrо Ордена Проrраммистов (БОП)
struct Ьор {
char fullname[strsize];
char title[strsize];
char bopname[strsize];
int preference;
// настоящее имя
// должность
// секретное имя БОП
// о  полное имя, 1  титул, 2  имя БОП
} ;
в этой проrрамме создайте небольшой массив таких структур и инициализируйте ero соответствующими значениями. Пусть проrрамма запустит цикл, который даст возможность пользователю выбирать разные альтернативы:
а. отображать по именам b. Отображать по должностям
с. отображать по именам БОП d. отображать по предпочтениям
q. выйти
Обратите внимание, что "отображать по предпочтениям"  не значит, что нужно отобразить предпочтение члена; это значит, что нужно отобразить значение тогo поля структуры, которое соответствует предпочтению. Например, если
preference равно 1, то выбор d должен вызвать отображение должности для данноrо программиста.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include <iostream.h>
 
int main()
{
using namespace std;
const char strsize = 20;
struct Bop {
char fullname[strsize];    // настоящее имя
char title[strsize];    // должность
char bopname[strsize]; // секретное имя БОП
int preference;  // о  полное имя, 1  титул, 2  имя БОП
} ;
 
Bop pr[3] =
{
{"Wimp Macho", "Junior Programmer", "MIPS", 1},
{"Raki Rhodes","Analyst Trainee", "LOOPY", 0},
{"Selia Ligter", "Programmer", "LUCKY" , 2}
};
 
cout << "Otchet o BOP" << endl;
cout << "a. display by names         b. display by post"<< endl
<< "c. display by names BOP     d. display by preference"
<< endl << "q. quit\n";
cout << "Your choice: ";
 
char value;
cin >> value;
while(value !='q')
{
switch(value)
{
case 'a' : cout << pr[0].fullname << endl << pr[1].fullname << endl
<< pr[2].fullname << endl;
break;
case 'b' : cout << pr[0].title << endl << pr[1].title << endl
<< pr[2].title << endl;
break;
case 'c' : cout << pr[0].bopname << endl << pr[1].bopname << endl
<< pr[2].bopname << endl; break;
case 'd' : // не могу понять как доделать
case 'q' :  cout << "Bye!"; break;
}
 cout<<"\nsleduushii vibor:";
        cin>>value;
 
   }
cin.get();
cin.get();
return 0;
}
У меня никак не получается выводить список по предпочтениям. Знаю, что нужно организовать цикл if else для проверки значений поля preference. Как бы я ни делала - успехи такие же. Помогите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.01.2013, 18:43     Массивы структур, циклы
Посмотрите здесь:

Массивы структур C++
C++ Массивы структур
C++ Массивы структур
Массивы структур C++
C++ Массивы структур
Массивы структур C++
Алгоритмы и программы циклических структур. Вложенные циклы. C++
C++ Массивы структур

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Valli1
4 / 4 / 0
Регистрация: 14.09.2012
Сообщений: 64
30.01.2013, 20:46     Массивы структур, циклы #2
C++
1
2
3
4
5
6
7
8
9
case 'd' : 
    for(int i=0;i<3;i++){   
if(pr[i].preference==0)
cout<<pr[i].fullname<<endl;
if(pr[i].preference==1)
cout<<pr[i].title<<endl;
if(pr[i].preference==2)
cout<<pr[i].bopname<<endl;}
break;
Добавлено через 21 минуту
Забыл там после case break не забудьте и уберите этот цикл
C++
1
while(value !='q')
.
Yandex
Объявления
30.01.2013, 20:46     Массивы структур, циклы
Ответ Создать тему
Опции темы

Текущее время: 03:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru