在AMTA会议上,主要参会人员一共有七个,其中对应他们的名字调出他们的职位以及爱好,年龄,性别等。要求输入a时为名字,b为职位,c为个人简称,d为爱好,e为年龄,p为性别,q为退出,并计算男女比例。(case字母不区分大小写。成员信息后续可以直接读取txt文件,这里由于人员较少,我选择直接手动给定一个数组。)
代码如下:
//AMTA会议
#include <iostream>
using namespace std;
const int strsize = 30;
const int NUM = 8;
double malenum = 0.0;
double femalenum = 0.0;
double ratio;
//构造显示函数:
void display_name();
void display_title();
void display_amtaname();
void display_preference();
void display_age();
void display_sex();
//构建结构体,其中s是性别的另一种表达,s=0,1;0为女性,1为男性
struct amta
{
char fullname[strsize];
char title[strsize];
char amtaname[strsize];
char sports[strsize];
int age;
string sex;
int s;
};
//输入结构体数组的内容
amta people[8] =
{
{"Derri Bai", "Chief Executive Officer", "BCEO", "Basketball", 35, "male", 1},
{"Smit Eri", "Junior Programmer", "JPS", "Ping Pong", 35, "male", 1},
{"Tank Du", "Chairman of Board", "CBD", "Swim", 45, "female", 0},
{"Tiger Guo", "Manager", "MG", "Liao Mei", 34, "male", 1},
{"Pen Yu", "Analyst Trainee", "ATY", "Study", 43, "female", 0},
{"Ha Huan", "Chief Maintenance Officer", "CMOH", "Game", 35, "male", 1},
{"Bo Wan", "Chief Technology Officer", "CTOW", "Basketball", 34, "male", 1},
{"SY San", "Staf", "WSYS", "Song", 32, "female", 0}};
//定义显示函数
void display_name()
{
for (int i = 0; i < NUM; i++)
cout << "Fullname: " << people[i].fullname << endl;
}
void display_title()
{
for (int i = 0; i < NUM; i++)
cout << "Title: " << people[i].title << endl;
}
void display_amtaname()
{
for (int i = 0; i < NUM; i++)
cout << "Amtaname: " << people[i].amtaname << endl;
}
void display_preference()
{
for (int i = 0; i < NUM; i++)
cout << people[i].fullname << " 's preference is: " << people[i].sports << endl;
}
void display_age()
{
for (int i = 0; i < NUM; i++)
cout << people[i].fullname << " 's age is: " << people[i].age << endl;
}
void display_sex()
{
for (int i = 0; i < NUM; i++)
cout << people[i].fullname << " 's sex is: " << people[i].sex << endl;
}
//主函数
int main()
{
char ch;
cout << "Benevolent Order of Programmers Report" << endl;
cout << "a. display by name b. display by title\n"
<< "c. display by amtaname d. display by preference\n"
<< "e. display by age p. display by sex\n"
<< "q. putout ratio and quit" << endl;
cout << "Enter a case: ";
while (cin >> ch && ch != 'q')
{
switch (ch)
{
case 'a':
case 'A':
display_name();
break;
case 'b':
case 'B':
display_title();
break;
case 'c':
case 'C':
display_amtaname();
break;
case 'd':
case 'D':
display_preference();
break;
case 'e':
case 'E':
display_age();
break;
case 'p':
case 'P':
display_sex();
break;
}
cout << "Next case: ";
}
//统计男女人数,输出比例并计算比率
for (int i = 0; i < NUM; i++)
{
if (people[i].s == 1)
{
malenum++;
}
else if (people[i].s == 0)
{
femalenum++;
}
}
ratio = malenum / femalenum;
cout << "Number of male and female are: " << malenum << ":" << femalenum << endl;
cout << "The ratio of people is:" << ratio << endl;
cout << "Bye!" << endl;
return 0;
}
?结果如下:
?这道简单的题目属于自编题。
|