C++ Primer Plus 6th 6.11 编程练习题 第4题 菜单选择显示BOP的成员
手机阅读 | 转发赚积分
手机收藏 | 分享给好友
手机阅读 | 转发赚积分
手机收藏 | 分享给好友
手机收藏 | 分享给好友
题目:
4.加入Benevolent Order of Programmer后,在BOP大会上,人们便可以通过加入者的真实姓名、头衔或秘密BOP姓名来了解他(她)。请编写一个程序,可以使用真实姓名、头衔、秘密姓名或成员偏好来列出成员。编写该程序时,请使用下面的结构:
// Benevolent Order of Programmers name structure
struct bop{
char fullname[strsize]; // real name
char title [strsize]; // job title
char bopname[strsize]; // secret BOP name
int preference; // 0=fullname, 1=title,2=bopname
};
该程序创建一个由上述结构组成的小型数组,并将其初始化为适当的值。另外,该程序使用一个循环,让用户在下面的选项中进行选择:
a. display by nameb. display by title注意,"display by preference" 并不意味着显示成员的偏好,而是意味着根据成员的偏好来列出成员。
c. display by bopname d. display by preference
q. quit
例如,如果偏好号为1,则选择d将显示程序员的头衔。该程序的运行情况如下:
Benevolent Order of Programmers Report
a. display by name b. display by title
c. display by bopname d. display by preference
q. quit
Enter your choice:a
Wimp Macho
Raki Rhodes
Celia Laiter
Hoppy Hipman
Pat Hand
Next choice:d
Wimp Macho
Junior Programmer
MIPS
Analyst Trainee
LOOPY
Next choice:q
Bye!
#include <iostream>
struct bop {
char fullname[50]; // real name
char title[50]; // job title
char bopname[50]; // secret BOP name
int preference; // 0=fullname, 1=title ,2=bopname
};
using namespace std;
int main()
{
struct bop arr_bop[5] = {
{"Wimp Macho","T-Wimp","Bop-Wimp",0},
{"Raki Rhodes","Junior Programmer","Bop-Raki",1},
{"Celia Laiter","T-Celia","MIPS",2},
{"Hoppy Hipman","Analyst Trainee","Bop-Hoppy",1},
{"Pat Hand","LOOPY","Bop-Pat",1 }
};
int ch;
cout << "a.display by name b.display by title\n";
cout << "c.display by bopname d.display by preference\n";
cout << "q.quit\nEnter your choice:";
while (ch = cin.get())
{
if (ch == '\n')continue;
switch (ch)
{
case 'a':
for (int i = 0; i < 5; i++)
{
cout << arr_bop[i].fullname << endl;
}
break;
case 'b':
for (int i = 0; i < 5; i++)
{
cout << arr_bop[i].title << endl;
}
break;
case 'c':
for (int i = 0; i < 5; i++)
{
cout << arr_bop[i].bopname << endl;
}
break;
case 'd':
for (int i = 0; i < 5; i++)
{
switch (arr_bop[i].preference)
{
case 0:
cout << arr_bop[i].fullname << endl;
break;
case 1:
cout << arr_bop[i].title << endl;
break;
case 2:
cout << arr_bop[i].bopname << endl;
break;
default:
break;
}
}
break;
case 'q':
cout << "Bye!\n";
exit(0);
default:
break;
}
cout << "Next choice:";
}
return 0;
}
当前文章为会员文章,请前往[用户中心]开通会员后继续阅读。