欢迎来到天天文库
浏览记录
ID:47493714
大小:131.02 KB
页数:14页
时间:2020-01-12
《成绩统计系统数据结构课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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>打印函数voidDis
3、play();<5>主函数:voidmain()11洛阳理工学院课程设计报告语文数学英语物理处理相同分数排序输入成绩输入学号输入姓名欢迎进入成绩统计系统2、组成框图:3、流程图<1>初始化函数:Node*Init();<2>直接插入法:float*Sort();11洛阳理工学院课程设计报告<3>相同名次处理:intDel_Same();<4>打印函数voidDisplay();5.详细设计1.声明一个结构体:typedefstructStudentNode;2.录入数据将复制形式修改为指针访问形式,计算成绩总和写入到sum[
4、]中。3.打印,按名次从第一名到最后一名。4.下直接插值排序法会用到"哨兵",nSize表示grade[]中实际元素的个数。11洛阳理工学院课程设计报告5.处理相同成绩的名次将sum[n]中的不重复的元素放到grade[n]中,函数返回grade[]中实际元素的个数。测试数据:姓名语文数学英语物理黄54535251赵98979695李1009999986.测试与调试1、输入数据:11洛阳理工学院课程设计报告2.打印成绩7.源程序清单#include#include#include5、.h>#include#include#definen3/*学生数*/#definem4/*课程数*/usingnamespacestd;//---声明一个结构----structStudent11洛阳理工学院课程设计报告{charm_Name[20];unsignedintm_ID;floatm_Score[m];};typedefstructStudentNode;//------函数声明---------------------------Node*Init(Node*stu,co6、nstintcN,float*Asum,intnSum);float*Sort(float*Agrade,intnSize);intDel_Same(float*Asum,intnSum,float*Agrade,intnGreade);voidDisplay(Student*stu,intnN,float*Asum,intnSum,float*Agrade,intnGreadeSize);//------函数实现---------------------------//----录入数据------Node*Init(Nod7、e*stu,constintcN,float*Asum,intnSum){charname[20];unsignedintid;floatscore[m];inti,j;for(i=0;i8、1,m);scanf("%f",&score[j]);}printf("");//---赋值过程---------------strcpy((stu+i)->m_Name,name);//修改成指针访问形式.(stu+i)->m_ID=id;for(j=0;j
5、.h>#include#include#definen3/*学生数*/#definem4/*课程数*/usingnamespacestd;//---声明一个结构----structStudent11洛阳理工学院课程设计报告{charm_Name[20];unsignedintm_ID;floatm_Score[m];};typedefstructStudentNode;//------函数声明---------------------------Node*Init(Node*stu,co
6、nstintcN,float*Asum,intnSum);float*Sort(float*Agrade,intnSize);intDel_Same(float*Asum,intnSum,float*Agrade,intnGreade);voidDisplay(Student*stu,intnN,float*Asum,intnSum,float*Agrade,intnGreadeSize);//------函数实现---------------------------//----录入数据------Node*Init(Nod
7、e*stu,constintcN,float*Asum,intnSum){charname[20];unsignedintid;floatscore[m];inti,j;for(i=0;i8、1,m);scanf("%f",&score[j]);}printf("");//---赋值过程---------------strcpy((stu+i)->m_Name,name);//修改成指针访问形式.(stu+i)->m_ID=id;for(j=0;j
8、1,m);scanf("%f",&score[j]);}printf("");//---赋值过程---------------strcpy((stu+i)->m_Name,name);//修改成指针访问形式.(stu+i)->m_ID=id;for(j=0;j
此文档下载收益归作者所有