1、运动会分数统计系统 数据结构课程设计课程设计说明书(数据结构(C语言版))班级: 姓名: X X X 设计题目: 运动会分数统计系统 设计时间: 指导教师: XX XX XX 评 语:_评阅成绩: 评阅教师: 数据结构(C语言版)课程设计实验报告运动会分数统计系统一、 题目与要求(一)、运动会分数统计(限1 人完成)任务:参加运动会有n个学校,学校编号为1n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1m,女子m+1m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m=20,nnex
2、t; 输入学校编号while(sc_check(c)=1|c20) YES NO继续 重新输入编号p-sc_number=c; p-sc_boy=0; p-sc_girl=0; p-next=Head1-next; Head1-next=p; 结束程序(二)、添加运动项目信息的算法的N-S流程图 定义函数 建立链表if(sc_getlong()=3) YES NO输入项目名称while (mark!=1)YES NO输入项目编号 while(c20|sp_check(c)=1) YES NO 重新输入项目编号 继续mark=1;q-sp_number=cmark=0;while (mark!=
3、1)YES NO判断项目类型if(c=0|c=1)YES NO记录类型 提示数据错误mark=0; while (mark!=1) YES NO输入项目名次情况 if(sc_getlong()sp_is35=0 据错误 mark=0; while (mark!=1)YES NO 输入第一名的学校编号 if (c20)YES NO 提示数据错误 if(!sc_check(c) 重新输入 mark=1; q-sp_first=c if(q-sp_is35=0) YES NO sc_addmark sc_addmar (5,c,q-sp_isboy); (7,c,q-sp_isboy); mark=
4、0; 接上一图 依次次添加二至五名的成绩信息 成功添加一个项目信息 结束程序 (三)、通过定义项目指针和头结点搜索项目信息算法的N-S流程图定义项目指针 建头结点 while(p)YES NOif(p-sp_number=a) YES NO 输出项目名 if(p-sp_isboy=1)YES NO男子项目 女子项目输出该项目的获奖情况返回p=p-next结束程序四、 运行结果与调试分析(一)、运行结果(部分截图)1、系统启动时的界面;2、选择菜单1,添加参赛学校信息;3、添加后,显示学校的信息;4、选择菜单项2,输入比赛项目信息及获奖学校编号;5、成功添加信息后,主菜单选择3,进入排名情况查询
5、子菜单查看排名情况,可分别按学校编号顺序、团体总分、男团总分、女团总分进行排序;(如图:按男团总分排序)6、返回主菜单后选择4,可以查询信息,可按学校编号查询,也可按项目编号查询;7、在主菜单上选择5,进入信息修改子菜单,可对学校信息(如编号、校名)和项目信息进行修改(如编号、项目名称、项目的类别);8、主菜单上选择菜单0,退出系统,并保存信息。(二)调试分析函数刚开始时首先建立学校和项目的结构体,使得程序拥有一个整体的框架。方便整个程序的编写和使用者查询。在检验学校是否存在时首先要先定义一个学校指针和链表的头结点,这样才能顺着链表的头结点依次检验学校是否存在。在建学校链的函数时也首先的定义指
6、针和链表的头结点,并且q=q-next存在,不然无法进行空链表的插入用于存储信息。在进行学校信息的插入时必须有一定的条件判断。例如while(mark!=1),while(q),if(strcmp(q-sc_name,Sname)=0),while(sc_check(c)=1|c20)等,只有满足一定的条件才能进行某项循环。避免发生益出,数据输入不合法等情况。由于本函数涉及到链表的插入,需要找到每个学校所在链表的最后一个结点的地址,所以在程序的最后需要写上p-next=Head1-next; Head1-next=p;在修改的函数中,由于要从建好的链表中修改,所以要涉及到链表的查询,因此也要先
7、定义指针头结点。在修改前先用if语句进行数据的判断,当数据满足条件并需要修改的情况下修改才有意义。其实整个程序的编写围绕着链表来实行的,所以在编写时以定义指针和建立带头结点的链表,while和if语句进行循环,最后再来一个返回。这是整个程序编写的框架。所以要熟练准确的掌握while和if语句的运用,这样整个程序的功能就基本实现了。五、 总结与体会通过这次的综合训练让我对所学的知识加深了印象,尤其是对算法有更深的认识。对整个程序的设计,算法是非常重要的,设计程序的整体框架,就是利用算法进行设计,最后逐步完善各个函数的功能模块,同时对链表的存储结构也有了一定的认识。这些都为以后的学习和实践,提高自身能力有很大的帮助,本次课设也锻炼我们的实践能力和提高了处理问题的能力,获益匪浅!
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1