面向对象语言与C语言课程设计.docVIP

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象语言与C语言课程设计

《面向对象语言与C语言》课程设计报告 【设计题目】 国际马拉松赛信息管理系统 【设计要求】 该马拉松赛比赛所需信息如下: 项目:男子全程和女子半程。两个项目同时同场地进行。 奖项:男子前五名,女子前五名,男子团体(一国一个队)前三名,女子团体(一国一个队)前三名。 团体成绩评定方法(以男队为例):某国男队的前三名运动员用时之和为该国总成绩,并以此排定名次。 该系统在磁盘上存储以下信息: (1)运动员报名单。对于每一位报名的运动员包括:姓名、性别、年龄和国名; (2)运动员号码单.对于每一位报名的运动员包括:姓名、性别、编号和国名; (3)世界男子全程马拉松最好成绩,世界女子半程马拉松最好成绩; (4)到达终点的每个运动员的号码和用时。 系统功能要求如下: (1)比赛前输入运动员报名单并生成运动员号码单; (2)比赛后输入到达终点的每个运动员的号码和用时; (3)可输出男、女团体前三名的名次和国名(供颁奖用); (4)可输出男、女个人前五名的名次和国名(供颁奖用),若有超过世界最好成绩者,应输出有关信息; (5)可输出男子个人成绩表,按成绩从优到劣排列。表中对每个人应包括:名次、姓名、国名、成绩、是否超过世界最好成绩; ‘ (6)可输出女子个人成绩表,表的项目和排列方式同5; (7)可输出男子50岁以上选手的成绩表,排列方式同5,表项增加年龄; 可输出女子50岁以上选手的成绩表,排列方式与表项同7。 【开发环境】 Windows XP Professional+Microsoft Visual C++ 6.0 【设计思路】 依据设计要求,须进行如下步骤已实现所需功能: 首先,创建sport.h文件,在其中定义所需的Sport类,该类包含运动员所需信息,包括对编号,姓名,性别,年龄,国家和所用时间的相关操作。 其次,创建member.cpp文件,其中定义对sport.h相关功能的实现部分,并且使用构造函数创建初始对象。 再次,创建main.cpp文件,对所需功能进行实现。 1、先使用文件流操作,判断文件是否成功创建,若不是则异常退出。 2、定义一个指向Sprot类的指针,并对每一个运动员的信息进行输入,使每一个对象指向相应的运动员。 3、使用输出流文件将输入的信息储存至相应dsw文件夹下的file.txt文件。 4、使用输入流文件file.txt将运动员各项信息输入。 5、显示一个操作菜单,提供给用户一个借口进行操作。同时记录男子最佳成绩和女子最佳成绩。为之后的比较是否超过世界纪录准备。 6、定义一个int型变来那个OperationCode并判定该操作代码是否符合要求,若符合则实现相应功能。 7.、各部分功能的具体实现: (使用if条件判断语句判断输入的操作数是否为相应操作代码,如果不是则跳出提示并退出。 (以男子个人排名为例讲解: 首先,使用for循环判定是否每个对象都进行了循环,若全部进行完成,则最后一个对应性别应为空。 其次,判定性别是否为男性,若为男性,则将其成绩存入一个数组MaleGrade中。 然后,将该数组进行排序。 之后,将该数组成绩与每个成员进行核对,若一致,则代表他为该成绩所有者,则输出他的全体信息。由于之前已经对其进行过排序,则现在可输出整体成绩,若取前五则设立for循环,只取前五即可。年龄大于50的同理,只需再加一层if条件判断语句进行判断对应年龄是否大于50即可。 (以男子全体排名为例讲解: 首先,建立一个一维数组存放国家名。 其次,建立一个二维数组,使行代表国家,列代表个人。 然后,使用for循环对每个对象的国家进行判定,若为对应一维数组国家名,则将其存入对应的二维数组对应行中。这样操作完成后即可实现每一行代表国家,每一列该代表国家运动员。 之后,对该二维数组进行排序,并取该二维数组每行前三列相加既得该国成绩(依据国家排名算法),并将该成绩存入国家排名积分榜数组中。 最后,对国家排名积分榜数组中的元素进行排序,后核对该成绩对应远二维数组第几行,即可通过一维数组输出相应国家名。 对动态分配的内存进行扫尾清理工作,删除相应内存位置。 【程序代码】 [sport.h] #includestring using namespace std; class Sport { public: Sport (); void setNumber(int); void setName(string); void setSex(string); void setAge(int ); void setCountry(string); void setTime(int); int getNumber

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档