这样应该就行了!
发布网友
发布时间:2022-08-18 01:17
我来回答
共2个回答
热心网友
时间:2023-10-15 05:09
不能使用整体变数,全局变量和函数原型可以使用。
必须写出所有需要的函数。
作如下假设:
在socs105.txt file中每个国家运动员不超过50人;
在socs105.txt file中国家不超过20个;
在每个函数中不会超过一百个访问;
唯一合法的体育场馆是's'(snow)和‘i'(ice);
必须加上注释;
下面的是每个学生必须用的函数:
main()
申明变量来存储从数据表格中读取的数据;
2.设计一个指针记录menue中每个指令输入的次数;
3.打开三socs105.txt file并把其中的数据存储到变量中去;
4.提示使用者下一步该做什么:
1.如果使用者输入"m"或"M",称为"menue()";
2,如果使用者输入"q"或"Q",称为"finalStats()";
3,如果使用者输入其他字符,显示出一个错误的信息并让使用者再次输入;
menue()
1,使用者输入‘l’或‘L’,称为listall();
2,使用者输入‘a’或‘A’,称为athleteReport();
3,使用者输入‘c’或‘C’,称为countryReport();
4,使用者输入'r'或'R',称为adRevenueReport;
5,使用者输入‘v’或'V',称为venueReport();
6,使用者输入‘q’或‘Q’,返回main();
7,使用者输入其他字符,输出错误字符并再次尝试;
记录下使用者把每个字符输入多少次,这个信息将会被传送到main()并且在FinalStats()中使用;
listall
1,通过阅读socs105.txt file,列举出所有运动员的姓名,国籍,年龄,他们身后潜在的广告税收,他们比赛的体育场管和他们所参加的运动;
2,返回:
每个文件变量的类型要求如下:
Country:字符串;
Number_of_ athletes_in_country (int),last name(字符串)firstname(字符串)age(int)AdRevenue(double)venue(char),sport(字符串);
场馆的分配:“q”是“Queen Elizabeth Pool,"p"是"Prince Chrles Filed","w"是"Prince William Arena","h"是"Prince Harry Beach","k"是"Prince Kate Studium".假设firstname和lastname是字符串并且各自中间没有空格。Sport中间可能有间隔;
venueReport()
提示使用者输入场馆时输入("q","p","w","h","k"或者"all");
输入后,显示出每个在这个场馆参加比赛的运动员的lastnanme 和firstname.
如果输入的是"q",也要显示出下列内容:
如果这个运动员是一个司机,在他的名字后面显示出"board sport";
如果这个运动员是一个游泳运动员,在他的名字后面显示出"indivial sport";
如果这个运动员是一个水球运动员,在他的名字后面显示出"team sport";
如果这个运动员参加的是其他"q"运动,在他的名字后面显示出"unknown water sport";
一旦完成,venueReport返回真。
如果使用者输入"all",要显示出每个场馆和在这个场馆比赛的各个运动员的flastname和firstname.如果场馆为'"q"时,也要根据上面所提到几种情况输出。一旦完成,返回值为真。
FinalStats():
显示出使用者所输入的每个菜单字母的次数,输出格式为"the number of L's,A's,C's,R's,Q' s和others's(也就是输入错误的次数");
返回这些值;
主菜单函数(main menue() function)允许使用者输入如下的指令;
"L'或"l":列举出所有运动员的信息(包括从socs105.txt file中读入的所有信息);
"A"或"a':列举出一个参赛运动员的信息;
"C"或"c':列举出从一个国家中所来运动员的各种信息;
"R'或"r":列举出广告收入信息;
"V'或"v":列举出场馆信息;
'Q"或"q':停止并返回到main();
当程序运行结束时,需要逐条列举出信息;
athleteReport()
提示使用者输入lastname进行查找;
从socs105.txt file中查找出符合这个lastname的国家,firstname,lastname,运动,然后athleteReport()返回值为真;
如果没有满足条件的,显示出"No athlete found"并且返回值为假;
countryReport()
1,让使用者输入想要查找的国家,或者输入"all";
2,输入国家后,显示出这个国家的运动员的lastname,firstname,年龄,每个运动员的广告输入,这个国家总广告收入,每个运动员平均广告输入,完成后,countryReport()的返回值为真;
3,如果输入的是"all",同上,现列举出一个国家的这些信息,再列举完所有国家的这些信息;
4,如果找不到这个国家,显示出"No country found",并且返回值为假;
adRevenueReport()
1,让使用者输入要查找的运动员的lastname,或者输入"all";
2,显示出满足条件的运动员的lastname和firstanme,和这个运动员的广告税收,一旦完成,返回值为真;
3,如果输入的是"all",列举出所有运动员的lastname,firstname,及各自的广告税收,一旦完成,返回值为真;
4,如果找不到符合要求的运动员信息,显示出"No athlete found",并且返回值为假;
Socs105.txt data file:
Germany
6
Greis Michael 34 0.53p track and field
Hettich Georg 27 0.77w equestrain
Glagow Martina 23 0.14q swimming
Fischer Sven36 1 q water pole
Otto Sylke 51 0.36q diving
Hanrath Hans 52 77.3k team sports
Russia
3
Sidko Alena 40 0.78w equestrain
Sluskaya Irina 26 9.56p track and field
Annotolia Viktor 18 8.33k teamsports来自:求助得到的回答
热心网友
时间:2023-10-15 05:09
??/