课程设计--数据结构—用C语言描述_第1页
课程设计--数据结构—用C语言描述_第2页
课程设计--数据结构—用C语言描述_第3页
课程设计--数据结构—用C语言描述_第4页
课程设计--数据结构—用C语言描述_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、洛 阳 理 工 学 院课 程 设 计 说 明 书课程名称 数据结构用C语言描述 设计课题 统计成绩 专 业 计算机科学与技术 班 级 B110502 学 号 B11050209 姓 名 张淑慧 完成日期 2013年6月13号 课 程 设 计 任 务 书设计题目:统计成绩 设计内容与要求:内容: 练习各种数据结构,存储结构和一些基本运算的实现,锻炼数据结构与算法的结合,本次实习采用了结构体数组,包括学生基本信息。要求: 运用所学的知识进行实际问题的分析,系统的设计,以及程序的编写,测试,独立的解决问题。 本次设计要求完成一个成绩统计系统。输入学生的基本信息,进行成绩统计,计算出每个学生的总成绩,

2、进行有序的排列,并打印出名次 指导教师:王伟静 2013年 6 月 1 3号课 程 设 计 评 语 成绩: 指导教师: 年 月 日洛 阳 理 工 学 院 课 程 设 计 报 告【问题描述】给出n个学生的m门考试的成绩表,每个学生的信息由学号、姓名以及各科成绩组成。对学生的考试成绩进行有关统计,并打印统计表。【基本要求】(1) 按总数高低次序,打印出名次表,分数相同的为同一名次;(2) 按名次打印出每个学生的学号、姓名、总分以及各科成绩。【测试数据】(1) 输入5(n)个学生的学号,姓名基本信息以及3(m)课考试成绩;(2) 对每个学生的各科考试成绩进行求和,求出总成绩;(3) 对5(n)个学生

3、的总成绩按成绩降序打印出来。【算法思想】(1) 首先定义一个struct student类型的结构体,包含学生的学号,姓名,名次,各科成绩等基本信息;(2) 从键盘输入学生的基本信息,输入完毕打印所输入的基本信息,检查是否有错;(3) 总分统计:计算出每个学生的三科成绩的总分并打印出来学号,姓名,总分;(4) 排序:调用直插排序算法,对学生的总成绩进行从低到高的排序,最后按从高分到低分的顺序打印出来,并列出名次,若有总分相同的为同一个名次。【模块划分】(1) 学生信息输入模块,包括学号姓名,成绩进本信息;(2) 总分计算模块,计算出学生各科成绩总和;(3) 成绩排序模块,总成绩从高到低排列出来

4、。【数据结构】struct projectfloat yuwen;float shuxue;float yingyu;struct student int num;char name30; struct project score;float zong; int mingci;stu5;【测试情况】(1) 输入学生基本信息及各科考试成绩并打印;(2) 求出每个学生的各科成绩之和并打印;(3) 按总成绩从低到高进行排序打印出各科成绩及总分,总成绩相同的为同一个名次。【心得】通过一个周的课程设计,我对数据结构有了更深的认识,加深了对结构体定义的掌握,了解了系统的设计的一些知识,对于简单系统的设计有

5、了进一步的认识和了解。课程设计的过程中也遇到了很多问题,例如:在对学生成绩进行排序时,由于刚开始写函数时,只是一味的照搬课本上的算法,忽视了实际问题,导致排序时出现了重复排序的现象,后来在自己上网搜索以及同学的帮助下解决了问题,最终能正确的运行出程序。课程设计是对我们一学期学习知识的一次检验,设计的过程中会遇到很多问题,我们应该积极地与老师同学进行交流,认真的思考,才能解决问题,提高我们发现问题解决问题的能力,引导我们把课本上所学习到的知识运用到生活中去。这次课程设计我要感谢王伟静老师以及帮助我的同学,在他们的帮助下,我才能顺利的完成此次课程设计。【源程序】#include struct pr

6、ojectfloat yuwen;float shuxue;float yingyu;struct student int num;char name30; struct project score;float zong;int mingci;stu5;void input(struct student stu5) /信息输入printf(学号 姓名 yuwen shuxue yingyu n);for (int i=0;i5;i+)scanf(%d,&stui.num); scanf(%s,);scanf(%f,&stui.score.yuwen);scanf(%f,&st

7、ui.score.shuxue);scanf(%f,&stui.score.yingyu);void count(struct student stu5) /总分计算printf(学号 姓名 总分n);for (int i=0;i5;i+)stui.zong=stui.score.yuwen+stui.score.shuxue+stui.score.yingyu;printf(%d %s %fn,stui.num,,stui.zong);void sort(struct student stu5) /直插排序法降序排列struct student temp; /定义一个str

8、uct student类型的变量int i,j;int k=1;for (i=2;i=5;i+)temp=stui; /将要排序的元素赋给tempj=i-1; /j表示已经排好序的元素中的最后一个元素stujwhile( temp.zong0;p-) if(p!=5) /此程序只定义了5个学生的成绩,p=5时,就没有上一个元素if(stup.zong=stup+1.zong)k-;stup.mingci=k;printf( %d %d %s %f %f %f %fn,stup.mingci,stup.num,,stup.score.yuwen,stup.score.shuxu

9、e,stup.score.yingyu,stup.zong); k+; void print(struct student stu5)for (int i=0;i5;i+) printf(学号 姓名 yuwen shuxue yingyun);printf(%d %s %f %f %fn,stui.num,,stui.score.yuwen,stui.score.shuxue,stui.score.yingyu);void main()struct student stu5;int t; printf(-成绩统计-n);doprintf( -选择操作-n); printf( (1)信息输入 (2)总分统计 (3)总分排序 n);printf(请做出选择,t=);scanf(%d,&t);switch(t)case 1:printf(请输入学生的信息:n);input(stu); pri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论