课程设计
课 程: 数据结构课程设计 题 目: 1.综合应用 2.折半查找
3.快速排序
2012 年 6 月 26 日
设计题目1:综合应用
一、问题描述
有N名学生,每名学生含有如下信息:学号、姓名、某四门课的成绩,并计算其总分,用一结构数组表示之。然后实现以下功能: (1) 将这些数据存放至文件stuf.dat中;
(2)将文件中的数据读出至结构数组中,并显示之; (3)输出总分最高分和最低分的名字;
(4)输出总分在340分,单科成绩不低于80分的名单; (5)求出各科平均分数; (6)按总分排名; (7)输出补考名单。
二、解决问题的算法思想描述
(1)子函数:首先确定需要的子函数,总共7个,对应的功能分别是题目要求的七项 (2)主函数:主函数中,要设计出易于使用的人机界面,就必须要用到 switch 。 (3)文件的存放读取,必须要用到文件的函数,fopen,fread,fclose等。 (4)把每个学生的信息定义在一个结构数组中,利用结构数组更加方便。 (5)各科成绩排名用冒泡排序即可。
(6)输出总分,补考名单,各科的平均分都比较简单。
三、设计
1. 数据结构的设计和说明
//定义结构体 typedef struct {
int num; //学号 char name[10]; //姓名 int score1; //语文 int score2; //数学 int score3; //物理 int score4; //化学 }student;
student stu[MAX]; //结构数组
2.模块结构图及各模块的功能:
学生成绩管理系统 将这将文输出些数件中总分据存的数最高放至据读分和文件出至最低stuf.da结构分的t中; 数组名字; 中;
3. 关键算法的设计(必须画出流程图)总分在340分,单科成绩不低于80分的; 求出各科平均分数; 按总分排名; 输出补考名单