资源描述:
《成绩统计系统数据结构课程设计.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、洛阳理工学院课程设计报告课程名称数据结构课程设计设计题目成绩统计系统专业计算机科学与技术课程设计任务书设计题目:给出n个学生得m门考试得成绩表,每个学生得信息由学号、姓名以及各科成绩组成。对学生得考试成绩进行有关统计,并打印统计表。设计内容与要求:(1)按总数高低次序,打印出名次表,分数相同得为同一名次;(2)按名次打印出每个学生得学号、姓名、总分以及各科成绩。课程设计评语成绩:指导教师:_______________年月日1、问题描述给出n个学生得m门考试得成绩表,每个学生得信息由学号、姓名以及各科成绩组成。对学生得考试成绩进行有关统计,
2、并打印统计表.2、基本要求(1)按总数高低次序,打印出名次表,分数相同得为同一名次;(2)按名次打印出每个学生得学号、姓名、总分以及各科成绩.3、数据结构类型定义structStudent{charm_Name[20];unsignedintm_ID;floatm_Score[m];};4、总体设计(1)模块划分:<1>初始化函数:Node*Init();<2〉直接插入法排序函数:float*Sort();〈3〉相同名次处理函数:intDel_Same();〈4>打印函数voidDisplay();<5>主函数:voidmain()2、组成
3、框图:欢迎进入成绩统计系统3、流程图<1>初始化函数:Node*Init();<2〉直接插入法:float*Sort();〈3>相同名次处理:intDel_Sae();<4〉打印函数voidDisplay();m5、详细设计1、声明一个结构体:typedefstructStudentNode;2.录入数据将复制形式修改为指针访问形式,计算成绩总与写入到sum[]中。3。打印,按名次从第一名到最后一名.4、下直接插值排序法会用到"哨兵”,nSize表示grade[]中实际元素得个数。5、处理相同成绩得名次将sum[n]中得不重复得元素放到g
4、rade[n]中,函数返回grade[]中实际元素得个数.测试数据:姓名语文数学英语物理黄54535251赵98979695李1009999986、测试与调试1、输入数据:2、打印成绩7、源程序清单#include〈stdio、h〉#include〈string〉#include<float、h〉#include#definen3/*学生数*/#definem4/*课程数*/usingnamespacestd;//——-声明一个结构—-—-structStudent{charm_Name
5、[20];unsignedintm_ID;floatm_Score[m];};typedefstructStudentNode;//--—---函数声明---—-——-——-—-——-——-—-—--—-—Node*Init(Node*stu,constintcN,float*Asum,intnSum);float*Sort(float*Agrade,intnSize);intDel_Same(float*Asum,intnSum,float*Agrade,intnGreade);voidDisplay(Student*stu,intnN,
6、float*Asum,intnSum,float*Agrade,intnGreadeSize);//——----函数实现—-——-—----———--———-—----—--//-—--录入数据--————Node*Init(Node*stu,constintcN,float*Asum,intnSum){charname[20];unsignedintid;floatscore[m];inti,j;for(i=0;i<n;++i){printf(”请输入第%d/%d名学生得信息:\n”,i+1,n);printf("请输入姓名:");sca
7、nf(”%s",name);printf(”请输入学号:”);scanf(”%d",&id);for(j=0;j8、计算成绩总与写入到sum[]中—-—-----*(Asum+i)=0、0;for(j=0;j<m;++j){(*(Asum+i))+=((stu+i)—>m_Score[j]);