胡学纲数据结构c语言PDF,辽宁工程技术大学综合训练项目任务书一(数据结构)

本文档详细描述了一个基于C++的数据结构项目——运动会分数统计系统的设计与实现。项目使用链表数据结构,实现了成绩录入、显示所有院系成绩和计算团体总分的功能。在设计过程中,小组成员共同解决遇到的问题,加深了对链表操作的理解。
摘要由CSDN通过智能技术生成

《辽宁工程技术大学综合训练项目任务书一(数据结构)》由会员分享,可在线阅读,更多相关《辽宁工程技术大学综合训练项目任务书一(数据结构)(18页珍藏版)》请在人人文库网上搜索。

1、软 件 学 院综合训练项目报告书课程名称 数据结构 项目名称 运动会分数统计 专业班级 软件14届1班 组 别 3 成 员 李业宏扬 张孝瀚 张岩 任课教师 孙宁 目 录1设计时间.12设计任务.13设计内容.13.1问题分析.13.2程序设计.23.2.1数据类型的定义.23.2.2主程序的流程.33.2.3函数与类调用关系说明.33.2.4主要函数伪代码.43.3测试与分析.43.3.1测试.43.3.2分析.63.4代码.64 总结与展望.13参考文献.14成绩评定.151 设计时间2015年10月20日至2015年11月14日2 设计任务参加运动会有n个院系,编号为1n。比赛分成m个男。

2、子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些项目取前五名或前三名由学生自己设定。(m#include #include typedef struct Student/student节点int xmid;int headnum;char *name;int yuanid;int paiming;struct Student *next;student;class Cj/cj类,用于处理成绩的类public:student *head,*before;int yuannu。

3、m;void init(int yuan)/初始化类head=before=NULL;yuannum=yuan;void insert(int xmid,int headnum,char *name,int yuanid,int paiming)/压入节点head=(student *)malloc(sizeof(student);head-xmid=xmid;head-headnum=headnum;head-name=(char *)malloc(sizeof(char)*(strlen(name)+2);strcpy(head-name,name);head-yuanid=yuanid;。

4、head-paiming=paiming;head-next=before;before=head;int getscore(int headnum,int pai)/根据两个数据获取分数switch(headnum)case 3:switch(pai)case 1:return 5;case 2:return 3;case 3:return 2;case 5:switch(pai)case 1:return 7;case 2:return 5;case 3:return 3;case 4:return 2;case 5:return 1;return 0;void outdata(int y。

5、uanid)/输出数据记录student *stu=head;while(stu-next)if(stu-yuanid=yuanid)printf( %4d %4d %10s %4dn,stu-xmid,stu-paiming,stu-name,getscore(stu-headnum,stu-paiming);stu=stu-next;if(stu-yuanid=yuanid)printf( %4d %4d %10s %4dn,stu-xmid,stu-paiming,stu-name,getscore(stu-headnum,stu-paiming);int nantuan(int nan。

6、,int yuan)/计算男子团体总分student *stu=head;int sum=0;while(stu-next)if(stu-xmidyuanid=yuan)sum+=getscore(stu-headnum,stu-paiming);stu=stu-next;if(stu-xmidyuanid=yuan)sum+=getscore(stu-headnum,stu-paiming);return sum;int nvtuan(int nan,int yuan)/计算女子团体总分student *stu=head;int sum=0;while(stu-next)if(stu-xmi。

7、dnan & stu-yuanid=yuan)sum+=getscore(stu-headnum,stu-paiming);stu=stu-next;if(stu-xmidnan & stu-yuanid=yuan)sum+=getscore(stu-headnum,stu-paiming);return sum;void in(Cj *setdata)/录入成绩int temp,temp2,yuan,pai,i;char name20;puts(请输入项目号);scanf(%d,&temp);puts(请输入要取的前名次数);scanf(%d,&temp2);puts(请输入各学生成绩,顺序。

8、为:姓名 院系编号 排名);for(i=0;iinsert(temp,temp2,name,yuan,pai);void cj(Cj *setdata)/获取所有院系成绩单int i;for(i=1;iyuannum;i+)printf(院系id:%dn,i);printf(%6s%6s%10s%6sn,项目id,排名,姓名,得分);setdata-outdata(i);void zf(Cj *setdata)/获取所有院系团体总分int i,nan;puts(请输入男子项目总数);scanf(%d,&nan);for(i=1;iyuannum;i+)printf(院系id:%dn,i);pr。

9、intf( 男子团体总分:%dn,setdata-nantuan(nan,i);printf( 女子团体总分:%dn,setdata-nvtuan(nan,i);printf( 团体总分:%dn,setdata-nantuan(nan,i)+setdata-nvtuan(nan,i);int main()int data;Cj setdata;printf(请输入院系总数目);scanf(%d,&data);setdata.init(data);while(1)puts(1.录入成绩);puts(2.获取所有院系成绩单);puts(3.获取所有院系团体总分);puts(4.退出);puts(请。

10、输入选项);scanf(%d,&data);switch(data)case 1:in(&setdata);break;case 2:cj(&setdata);break;case 3:zf(&setdata);break;case 4:return 0;default:system(cls);puts(输入错误,请重新输入);system(pause);return 0;4 总结与展望从项目设计过程中,我们深切地体会到了链表的重要性、操作的易用性。本次我们小组在做项目时遇到了很多问题,比如在调试过程中发现了很多错误,我们小组齐心协力地解决了这些问题,增长了不少经验。在开始做项目时组长考虑是否要存储数据到文件中,考虑到组员的能力,我们放弃了这一操作。在解决问题过程中,我们尝试了很多种算法,最后还是感觉链表组员们更能接受一些。参考文献1 胡学纲.数据结构(C语言版),高等教育出版社2 许卓群,杨东青.数据结构与算法,高等教育出版社3 王卫东.新编考研辅导丛书,数据结构辅导,西安电子科技大学出版社4 刘遵仁.数据结构,人民邮电出版社成员分工姓名主要工作备注李业宏扬组长,写代码张孝瀚项目测试与流程图绘制及本部分报告填写张岩其它部分报告填写成绩评定成绩 教师签字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值