版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、洛阳理工学院课程设计报告课程名称数据结构课程设计_设计题目_ 成绩统计系统_专 业_ 计算机科学与技术_课程设计任务书设计题目:给出 n 个学生的 m 门考试的成绩表,每个学生的信息由学号、姓 名以及各科成绩组成。对学生的考试成绩进行有关统计,并打印统计表。设计内容与要求:(1)按总数高低次序,打印出名次表,分数相同的为同一名次;(2)按名次打印出每个学生的学号、姓名、总分以及各科成绩。课程设计评语成绩:指导教师:_洛阳理工学院课程设计报告11问题描述给出 n 个学生的 m 门考试的成绩表,每个学生的信息由学号、姓名以及各科成绩 组成。对学生的考试成绩进行有关统计,并打印统计表。2.基本要求(
2、1)按总数高低次序,打印出名次表,分数相同的为同一名次;(2)按名次打印出每个学生的学号、姓名、总分以及各科成绩。3、数据结构类型定义struct Stude ntchar m_Name20;un sig ned int m_ID;float m_Scorem;4总体设计(1)模块划分:初始化函数:Node* In it();直接插入法排序函数:float* Sort();相同名次处理函数:int Del_Same();打印函数 void Display。;洛阳理工学院课程设计报告2主函数:void main()洛阳理工学院课程设计报告32、组成框图:3、流程图欢迎进入成绩统计系统排序处理相同
3、分数初始化函数:Node* Ini t();直接插入法:float* Sort();print!广沾输入第验L-MultipleiMultipkxIprinrtT 成功数?_retiirnAradt.+iAradlej IA( (rad nSi Agf ., 洛阳理工学院课程设计报告4相同名次处理:int Del_Same(); 打印函数 void Display。 ;5.详细设计1.声明一个结构体:typedef struct Stude nt Node;2.录入数据将复制形式修改为指针访问形式,计算成绩总和写入到sum中3.打印,按名次从第一名到最后一名。4.下直接插值排序法洛阳理工学院课
4、程设计报告5会用到哨兵,nSize 表示 grade中实际元素的个数。5.处理相同成绩的名次将 sumn中的不重复的元素放到 graden中,函数返回 grade中实际元素的个 数。测试数据:姓名语 文数学英 语物理黄54535251赵98979695李1009999986.测试与调试1、输入数据:USERSADM1NISTRATORD.,J =回请駄第儿兀名宝生的信息; 请籥入姓名:请输入学号:0?录入第1/4门课程成绩汚4录入第2/4门课程成绩汚3录入第3/4门课程成绩:盟 录人第4/4门课程咸绩:1请敷递會冬名学生的信息:请騎姓名:赵请输入学号二胴洛阳理工学院课程设计报告62.打印成绩
5、C:USERSADMINSTKATORDESICrOFVZZDebugzzzzxe录入第4门课程成绩:鹑 录入第3/4门课程成绩:肝 录入第4/4门课程成绩:弼 成功!嘖龙据录人完毕!=-打E卩名次信息-一“7.源程序清单#in elude #in elude #in elude #in elude #in elude #define n 3/*学生数 */#define m 4/*课程数 */using n amespaee std;/- 声明一个结构-struet Stude ntchar m_Name20;un sig ned int m_ID;名nunu姓李赵IrtIrt1 1 - -
6、 n n=8=8 5 5= =9 9 9 9一-绩0名1 1 9 9 5 5洛阳理工学院课程设计报告7float m_Scorem;;typedef struct Stude nt Node;/-函数声明-Node* Init(Node* stu,const int cN,float* Asum,int nSum);float* Sort(float* Agrade,int nSize);int Del_Same(float* Asum,i nt n Sum,float* Agrade,i nt n Greade);void Display(Student* stu,int nN,float*
7、 Asum,int nSum,float* Agrade,int n GreadeSize);/-函数实现-/-录入数据-Node* Init(Node* stu,const int cN,float* Asum,int nSum)char n ame20;un sig ned int id;float scorem;int i,j;for(i=0;i n;+i)printf(请输入第d/%d 名学生的信息:n ”,i+1,n);printf(请输入姓名:”);洛阳理工学院课程设计报告8sea nf(%s, name);printf(n请输入学号:”);sea nf(%d,&id);f
8、or(j=0;jm_Name, name);/修改成指针访问形式(stu+i)- mD=id;for(j=0;jm_Scorej=scorej;/- 计算成绩总和写入到sum中-*(Asum+i)=O.O;for(j=0;jm_Scorej);/for( n)洛阳理工学院课程设计报告9printf(”成功! 数据录入完毕!”);return stu;void Display(Node* stu,int nN,float* Asum,int nSum,float* Agrade,int nGreadeSize)/打印。按名次从第一名到最后一名。coutendl=e ndl;cout=打印名次信息
9、=e ndl;cout=e ndl;cout名次=学号=姓名=总分=名科成绩=e ndl;for(i nt i=0;i nGreadeSize;+i)for(i nt j=O;j n;+j)if(Asumj=Agradei)coutsetw(10)lefti+1名次。setw(10)leftstuj.mD学号。setw(10)leftstuj.m_Name姓名。setw(10)leftAsumj;/总分。for(i nt k=0;km;+k)coutsetw(10)leftstuj.m_Scorek;名科成绩。洛阳理工学院课程设计报告10coute ndl;float* Sort(float*
10、 Agrade,int nSize)/练习一下直接插值排序法。会用到 ”哨兵”。nSize 表示 grade中实际元素的个数。for(i nt i=1;i =0;)if(AgradenSizeAgradej)从大到小的顺序。一定要注意,是拿”哨兵”来与之比较才对的。Agradej+1=Agradej;j-;elsebreak;/for内Agradej+1=Agrade nSize;/从哨兵中取出这个值来洛阳理工学院课程设计报告11/for 外retur n Agrade;int Del_Same(float* Asum,i nt n Sum,float* Agrade,i nt n Gread
11、e)/将 sumn中的不重复的元素放到graden中,函数返回 grade中实际元素的个数。int Find;/有无重复的标记:1 为有,0 为无。int nElem=1;/gread中的实际元素个数。Agrade0=Asum0;for(i nt i=0;i n Sum;+i)/sumfor(i nt j=0;j nElem;+j)/gradeif(Asumi=Agradej)/判断两个浮点数相等条件。Fin d=1;break;elseFin d=0;if(Fi nd=0)洛阳理工学院课程设计报告12Agrade n Elem=Asumi;n Elem+;/for(最外)return n E
12、lem;/-void mai n()Node Stu n;Node* pStu;pStu=Stu; 声明 n 个 Student 对象的一个数组。float sumn,graden+1;因为想在 grade中用到直接插值排序法,要用到 ”哨兵”。所以构造 n+1.pStu=I nit(pStu, n,sum, n);int n Grade_size;n Grade_size=Del_Same(su m,n, grade ,n+1);float* pGrade=0;pGrade=Sort(grade ,n Grade_size);Display(pStu ,n,sum,n, grade ,n Grade_size);洛阳理工学院课程设计报告13八、心得体会这次我抽到的题目很简单,但是这是指用基础的 C 语言写很简单。如果想把 本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026福建福州市鼓楼区城市管理综合执法大队安泰中队招聘1人备考题库含答案详解(a卷)
- 南瑞继保2027届实习生招聘备考题库(含答案详解)
- 2026广东广州市天河区同仁学校招聘1人备考题库及1套完整答案详解
- 2026国防科技大学星光幼儿园招聘教职工2人备考题库附答案详解(达标题)
- 2026广西柳州市柳北区柳长街道招聘公益性岗位1人备考题库及答案详解(名校卷)
- 2026浙江省商业集团有限公司招聘4人备考题库(第3期)含答案详解(巩固)
- 2026浙江温州龙港市人才发展有限公司招聘5人备考题库及答案详解(有一套)
- 蝙蝠与雷达教学设计
- 智能农业技术与系统应用手册
- 轮胎生产与质量手册
- HG∕T 5241-2017 吡丙醚颗粒剂
- 中医师承关系协议书
- CHT 4020-2018 管线制图技术规范
- 2024年河北省邢台市巨鹿县招聘40人历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版
- 大学生防诈骗安全教育宣讲
- 高中化学实验操作考试试题
- 国开计算机组网技术实训1:组建小型局域网
- 高中化学化学能与电能课件人教版必修二
- 招投标结果申诉函
- 足球-脚内侧接踢地滚球 课件
- 用excel绘制热网水压图
评论
0/150
提交评论