




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南人文科技学院课程设计 湖南人文科技学院计算机系 课程设计说明书 课 程 名 称:C+面向对象程序设计课 程 代 码:408103题 目:球员信息管理年级/专业/班:2011级计算机科学与技术专业2班学 生 姓 名: 李吉玉 学 号: 11408237指 导 教 师:袁辉勇开 题 时 间:2011 年 6 月 11 日完 成 时 间:2011 年 6 月 22 日第15页目 录摘 要1一、引 言2二、设计目的与任务21、课程设计目的22、课程设计任务2三、设计方案31、总体设计32、详细设计33、程序清单54、运行结果11四、结 论14五、致 谢14六、参考文献14摘 要球员信息管理系统是典型的信息管理系统,此系统由系统球员信息管理模块组成。在模块内分别实现对球员基本信息的管理,如添加、修改、删除、查询等功能。因此编写一个球员信息管理系统是必不可少的,我们通过使用Vc+编程序设计了一个球员信息管理系统,事先,我们对程序进行了粗略的分析,确定了C+中类、构造函数等等的使用,接着通过对各种函数的使用,编出了这个球员信息管理系统,最后在Mcrosoft Vc+软件中不断调试,并发现错误,解决错误。经过不断的修改,终于将程序成功编写完成,并写了这份课程设计报告。关键词:C+;类;管理 . C+面向对象程序设计课程设计-球员信息管理一、引言随着计算机技术的发展,计算机已经深入到社会生活的各个方面。信息管理是每个单位必不可少的一项工作。传统的手工信息管理不仅费时,而且可能出现错误。为了提高工作效率,目前有些单位已开始使用计算机进行信息管理。C+语言是一种常用的程序设计语言,它支持面向对象的程序设计。本课程设计采用VC+ 6.0、C+为编程语言,使用面向对象的程序设计方法来开发一个简易的球员信息管理系统。二、设计目的与任务1、课程设计目的本课程设计是配合C+面向对象程序设计而设立的设计性实践课程,是非常重要的综合性实践教学环节。通过本课程设计使学生加深理解、巩固课堂教学和平时实验内容,使学生将所学知识和实践有机结合起来,初步具备C+应用开发的系统分析、系统设计、系统实现与测试的实际能力,强化学生的知识实践意识、提高动手能力,培养良好的设计习惯,发挥学生的想象力和创新能力,从而培养工程应用型人才。2、课程设计任务使用C+面向对象程序设计设计一个简易的球员信息管理系统。数据要求:使用C+定义一个球员类,球员类包括姓名、球员类型(足球、篮球、排球)、球员编号、身高、体重、国籍和状态(退役、现役)等;功能要求:1) 使用设计菜单实现功能选择;2) 输入球员基本信息,添加并保存到文件中;3) 根据球员编号删除球员信息;4) 根据球员编号修改球员信息;5) 根据球员编号查询球员信息;6) 根据球员国籍查询球员信息;7)统计各球员类型的总人数;三、设计方案1、总体设计根据课程设计的题目与要求,在main()函数中设计菜单实现功能选择;程序中定义一个player类,根据系统的功能要求在类的外面定义相应的函数,主要包括:1) Addplayer(): 输入并添加球员信息2) delplayer(): 删除球员信息3) Updateplayer(): 修改球员信息4) searchplayerByid():通过编号查询球员信息5) SearchplayerBynationality():通过国籍查询球员信息6) statisticsplayer():统计各球员类型的总人数7) SaveFile(): 从文件中读取球员信息2、详细设计1) player类的框架class playerpublic: int id; double high,weight;string nationality,state,topic,name; player(int id,string name,string topic,double high,double weight,string nationality,string state) this-id=id; this-name=name; this-topic=topic; this-high=high; this-weight=weight; this-nationality=nationality; this-state=state; 2) 主要函数的定义(1) 输入并添加球员信息void Addplayer() 定义临时变量 输入球员数据 保存到球员数组中 (2) 删除球员信息void delplayer() 输入球员编号 根据编号查询 删除球员保存 (3)修改球员信息 void Updateplayer() 定义临时变量 输入球员编号 根据编号查询球员 输入球员其他信息 将信息保存到球员数组中 (4) 通过编号查询球员信息void delplayer() 输入球员编号 根据编号查询 输出球员信息 保存 (5) 通过国籍查询球员信息void SearchplayerBynationality() 输入球员国籍 根据国籍查询输出球员信息保存 (6) 统计各球员类型的总人数void delplayer() 定义临时变量 统计各球员类型的总人数 输出各球员类型的总人数 保存 (7) 从文件中读取职工信息void delplayer() 保存球员信息 3) main函数的定义 int main() 从文件中读入球员信息输入功能选项根据功能选择调用函数将球员信息写入文件4) 全局变量(对象)的定义 vector plaVec; int i,j,k;3、程序清单#include#include#include#includestring#includeint i,j,k;using namespace std;void Addplayer(); /添加球员void delplayer(); /删除球员void Updateplayer(); /修改球员void searchplayerByid();/通过编号查询球员void SearchplayerBynationality();/通过国籍查询球员void statisticsplayer(); /统计球员void SaveFile();/文件class playerpublic: int id; double high,weight; string nationality,state,topic,name; player(int id,string name,string topic,double high,double weight,string nationality,string state) this-id=id; this-name=name; this-topic=topic; this-high=high; this-weight=weight; this-nationality=nationality; this-state=state; ;int main() while(1) int input; cout =球员信息管理系统=n; cout 1.添加球员信息n; cout 2.删除球员信息n; cout 3.修改球员信息n; cout 4.根据编号查询球员信息n; cout 5.根据国籍查询球员信息n; cout 6.统计球员信息n; cout 0.退出系统n; cout =球员信息管理系统=n; cout 请输入您要操作的数据:n; coutinput; switch(input) case 1:Addplayer();break; case 2:delplayer();break; case 3:Updateplayer();break; case 4:searchplayerByid();break; case 5:SearchplayerBynationality();break; case 6:statisticsplayer();break; case 0:cout 感谢您的使用n; cout ;exit(1);break; return 0;vector plaVec;void Addplayer() /添加球员 int id;double high,weight; string nationality,state,topic,name; coutid; coutname; couttopic; couthigh; coutweight; coutnationality; coutstate; player pla(id,name,topic,high,weight,nationality,state); plaVec.push_back(pla);cout 添加成功,当前系统一共有plaVec.size()条 数据n; if(pla.topic=足球)i+; else if(pla.topic=篮球)j+; else if(pla.topic=排球)k+; SaveFile();void delplayer() /删除球员 cout 请输入你要删除的球员的编号n; int id; coutid; int a=0; vector:iterator itr=plaVec.begin(); while(itr!=plaVec.end() if(*itr).id=id) if(*itr).topic=football)i-; else if(*itr).topic=basketball)j-; else if(*itr).topic=vollball)k-; plaVec.erase(itr); a+; cout 球员信息删除成功n; break; itr+; if(a=0) cout 没有找到n; SaveFile();void Updateplayer() /修改学员 coutid; int a=0; string name,topic; double high,weight; string nationality,state; coutid1; coutname; couttopic; couthigh; coutweight; coutnationality; coutstate; vector:iterator itr=plaVec.begin(); while(itr!=plaVec.end() if(*itr).id=id) (*itr).id=id1;(*itr).name=name;(*itr).topic=topic;(*itr).high=high;(*itr).weight=weight;(*itr).nationality=nationality;(*itr).state=state;cout 球员信息修改成功n;a+; itr+; if(a=0) cout 没有找到相关数据!endl; SaveFile();void searchplayerByid() /通过编号查询球员 cout 请输入你要查询的球员的编号:n; int id; coutid; /查询 int a=0; vector:iterator itr=plaVec.begin();/让指针指向高级数组的第一个元素 while(itr!=plaVec.end() /进行匹配 if(*itr).id=id) /找到了cout 球员的编号:(*itr).idn;cout 球员的名字:(*itr).namen;cout 球员的类型:(*itr).topicn;cout 球员的身高:(*itr).highn;cout 球员的体重:(*itr).weightn;cout 球员的国籍:(*itr).nationalityn;cout 球员的状态:(*itr).staten;a+; itr+; if(a=0) cout 没有找到!n; SaveFile();void SearchplayerBynationality()/通过国籍查询球员 cout 请输入你要查询的球员的国籍:n; string nationality; coutnationality; /查询 int a=0; vector:iterator itr=plaVec.begin();/让指针指向高级数组的第一个元素 while(itr!=plaVec.end() /进行匹配 if(*itr).nationality=nationality) /找到了 cout 球员的编号:(*itr).idn; cout 球员的名字:(*itr).namen; cout 球员的类型:(*itr).topicn; cout 球员的身高:(*itr).highn;cout 球员的体重:(*itr).weightn;cout 球员的国籍:(*itr).nationality;coutendl; cout 球员的状态:(*itr).staten; a+; itr+; if(a=0) cout 没有找到!n; SaveFile();void statisticsplayer() /统计球员 cout 足球球员有i人n 蓝球球员有j人n 排球球员有k人n; SaveFile();void SaveFile() fstream file; file.open(d:plaData.txt,ios:out); vector:iterator itr=plaVec.begin(); while(itr!=plaVec.end() file(*itr).idn; file(*itr).namen; file(*itr).topicn; file(*itr).highn; file(*itr).weightn; file(*itr).nationalityn; file(*itr).staten; itr+; file.close();4、运行结果 运行程序,出现如图1所示的主菜单。图1 主菜单在图1所示的主菜单中,选择功能选项1,进入添加球员信息界面,运行结果如图2所示。图2 输入并保存球员信息在图1所示的主菜单中,选择功能选项2,进入删除球员信息界面,运行结果如图3所示。图3 删除球员信息在图1所示的主菜单中,选择功能选项3,进入修改球员信息界面,运行结果如图4所示。图4 修改球员信息 在图1所示的主菜单中,选择功能选项4,进入根据编号查询球员信息界面,运行结果如图5所示。图5 根据编号查询球员信息在图1所示的主菜单中,选择功能选项5,进入通过国籍查询球员信息界面,运行结果如图6所示。图6 通过国籍查询球员信息在图1所示的主菜单中,选择功能选项6,进入统计各球员类型的总人数界面,如图7所示。图7 统计各球员类型的总人数 在图1所示的主菜单中,选择功能选项0,退出系统,如图8所示。图8 退出系统四、结 论在老师的指导下,我们顺利抵完成了球员信息管理程序的设计、编码与测试。在系统分析和设计阶段我们用了较多的时间,特别是代码的编写和调试。系统的每一项功能都经过了反复修改与调试。通过两周的课程设计,我们收获较大。自主学习的必要性更是解决问题的基础,我们五个人一组,在设计的过程中,我们相互讨论,相互学习,发挥出各自的优势,发现自己的不足,取长补短,增强了团队意识。更重要的是这次设计让我们对C编程有了更深刻的认识和更全面的掌握,也提升了我们分析问题的能力和思考问题的逻辑能力,更明白实际调研的重要性。五、致 谢感谢我们的指导老师袁辉勇老师,谢谢他在我们的课程设计过程中提出了指导性的方案和架构,并指引我们阅读相关的资料和书籍,使我们在不熟悉的领域中仍能迅速掌握新的方法和技术。感谢校领导给我们这次难得的锻炼机会,让我们能更好的理解和实践编程,让我们对程序设计有了更深刻的认知,对已学知识有了更进一步的巩固。六、参考文献1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁省东港市2026届数学九年级第一学期期末监测模拟试题含解析
- 690-安培力和洛仑兹力
- 精气神中医课件
- ICU专业知识培训记录课件
- 2026届黑龙江大庆第十四中学九年级数学第一学期期末综合测试模拟试题含解析
- 绿色能源领域大数据技术应用案例研究
- 社交媒体在XX行业的应用与效果研究
- 2025年物联网开发核心协议MQTT应用综合试卷
- 四川省攀枝花十七中学2026届八年级数学第一学期期末教学质量检测试题含解析
- 中国银行包头市青山区2025秋招笔试英语完形填空题专练30题及答案
- 舟山海域赤潮发生特点及成因分析
- 湿陷性黄土湿陷量计算表
- 丝杠安全操作保养规定
- 体育测量与评价PPT课件-第九章 运动员选材的测量与评价
- 在课堂教学中寻找发展学生科学思维的生长点课件
- 《情满今生》读书笔记模板
- 胸痛中心网络医院STEMI患者绕行急诊和CCU方案流程图
- 大众蔚揽保养手册
- 急危重病人营养与代谢支持
- GB/T 7216-2009灰铸铁金相检验
- GB/T 5796.3-1986梯形螺纹基本尺寸
评论
0/150
提交评论