C面向对象程序设计大作业
- 格式:doc
- 大小:286.50 KB
- 文档页数:21
精品文本
学
号:
《C++面向对象程序设计》大作业
题 目
学 院
专 业 信息工程
班 级
姓 名 王继文
指导教师
2015 年 11 月 15 日
精品文本
目录
一 大作业的目的 ........................................................................................................................... 1
二 大作业的内容 ........................................................................................................................... 1
三 大作业的要求与数据 ............................................................................................................... 2
四 大作业应完成的工作 ............................................................................................................... 2
五 总体设计(包含几大功能模块) ........................................................................................... 2
六 详细设计(各功能模块的具体实现算法——流程图) ....................................................... 3
七 调试分析(包含各模块的测试用例,及测试结果) ........................................................... 5
八 总结......................................................................................................................................... 18
九 参考资料 ................................................................................................................................... 19
一 大作业的目的
《面向对象程序设计》是一门实践性很强的课程,通过大作业不仅可以全方位检验学生知识掌握程度和综合能力,而且还可以进一步加深、巩固所学课程的基本理论知识,理论联系实际,进一步培养自己综合分析问题和解决问题的能力。更好地掌握运用C++语言独立地编写、调试应用程序和进行其它相关设计的技能。
二 大作业的内容
(1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;
(2) 各项目名次取法有如下几种:
取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1;
(3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。
(4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。 精品文本
三 大作业的要求与数据
1、用C++语言实现系统;
2、由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。
3、各项目名次取法有如下几种:
取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1。
四 大作业应完成的工作
(1)编写算法;
(2)算法测试,并有具体的测试结果和结果分析;
(3)撰写大作业报告。内容包括:
1) 封面扉页
2) 设计任务书
3) 目录
4) 总体设计方案(包括流程图)
5) 使用说明及运行实例(包括界面)
6) 成员设计内容简介
7) 项目源程序代码(注意注释的使用)
8) 指导教师评语
五 总体设计(包含几大功能模块)
本文研究开发的运动会管理系统用于支持用于查询各个学校在运动会中的成绩。有几种目标:
1.支持输入各个项目的基本信息; 精品文本
2.可以按比赛项目编号或名称查询、删除、修改信息。
3.可以按运动员编号或姓名查询、删除、修改信息
4.数据输入信息并能随时查询
六 详细设计(各功能模块的具体实现算法——流程图)
6.1各函数的功能和实现
1.本实验中,对不同的对象采取不同的存储结构,对比赛项目采取链式结构,而对于参赛运动员采取一个结构就可以了。本程序中主要用到线性表的一些基本操作,将比赛项目信息,运动员信息,赛事信息都构造成线性表。具体功能通过主函数分别调用各函数实现。
2.参考本实验的功能要求,本程序分为七个模块:主函数、信息录入函数、信息修改函数、信息删除函数、信息查询函数,信息输出函数。
3.信息录入函数有包括比赛项目信息录入函数(包括比赛编号、名称等),开始
信息修改 信息删除 信息查询 信息输出 信息录入
结束 精品文本
运动员信息录入函数(运动员的编号、姓名、性别、年龄、工作单位或省份)、比赛赛事信息录入函数(某运动员参加某比赛项目,成绩、名次)。
4.信息修改函数包括比赛项目、运动员信息、赛事信息修改。
5.信息查询函数包括根据比赛项目、运动员编号进行查修
6.信息输出函数包括比赛项目、运动员信息、赛事信息输出等。
7.退出系统:可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。
如图6.1
图 6.1 结束 开始
输出菜单
根据菜单输入n的值选择程序
输入 退出 输出 查找 插入 删除 精品文本
七 调试分析(包含各模块的测试用例,及测试结果)
7.1主函数
#include
#include
#include
using namespace std;
void fun1()
{ cout<<"******************************"<
cout<
cout<<"******学校运动会管理系统******"<
cout<<"----数据录入 请按:1----"<
cout<<"----数据修改 请按:2----"<
cout<<"----数据删除 请按:3----"<
cout<<"----数据查询 请按:4----"<
cout<<"----数据显示 请按:5----"<
cout<<"----退出系统 请按:6----"<
cout<
cout<<"*******************************"<
cout<
cout<<"*****请输入一个数据,并按回车键!*****"<
}
class Match
{
public:
Match *next;//为创建链表做准备
int number; //比赛项目编号
char call[10]; //比赛项目名称
char time[10]; //比赛时间
char place[20]; //比赛地点
friend void input1();
}; 精品文本
7.2输入相关信息
void input1()
{ ofstream fout("e:\\比赛项目.dat",ios::app);
char ch;
Match a;
do
{ cout<<"请分别输入比赛项目编号、名称、比赛时间、比赛地点."<
cin>>a.number>>a.call>>a.place>>a.time;
a.next=NULL;
fout.write((char *)&a,sizeof(Match));
cout<<"是否继续输入,如果继续键入Y|y"<
cin>>ch;
}while(ch=='y'||ch=='Y');
fout.close();
}
Match *head1;
void creat()
{ head1=NULL;
Match *p,*q=head1;
ifstream fin("e:\\比赛项目.dat",ios::in);
if(!fin)
{ cout<<"文件打开失败!"<
}