数据结构。
课程设计报告。
课题名称学生成绩管理系统
姓名。学院。
系科班级。指导老师。
日期 2024年1月17日
学生成绩管理系统。
一、 问题描述。
现有学生成绩信息文件1(内容如下。
姓名学号语文数学英语
张明明 01 67 78 82
李成友 02 78 91 88
张辉灿 03 68 82 56
王露 04 56 45 77
陈东明 05 67 38 47
学生成绩信息文件2(内容如下:
姓名学号语文数学英语
陈果 31 57 68 82
李华明 32 88 90 68
张明东 33 48 42 56
李明国 34 50 45 87
陈道亮 35 47 58 77
二、 基本要求。
试编写一管理系统,要求如下:
1) 实现对两个文件数据进行合并,生成新文件。
2) 抽取出三科成绩中有补考的学生并保存在一个新文件。
3) 对合并后的文件中的数据按总分降序排序(至少采用两种排序方法实现)
4) 输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)
5) 要求使用结构体和数组实现上述要求。
三、 设计目的。
1)培养学生综合程序设计的能力,训练学生灵活应用所学数据结构知识,独立完成问题分析、总体设计、详细设计和编程实现等软件开发全过程的综合实践能力。
2)巩固、深化学生的理论知识,提高编程水平,培养严谨的科学态度和良好的学习作风。为今后学习其他计算机课程打下基础。
3)将书本上的理论知识和工作、生产实际有机地结合起来,从而锻炼学生分析问题、解决实际问题的能力,提高编程序能力和创新意识。
四、 概要设计。
五、 详细设计。
1)主要数据结构:
struct student
char name[6];
int num;
long int chi;
long int math;
long int eng;
long int sum;
2)模块功能:
合并模板、提取模板、排序模板、查询模板、模块功能。
1、生成文件3:实现对两个文件数据进行合并,生成新文件。
2、查看文件3:显示文件3里的所有信息;
3、生成文件补考文件4:抽取出三科成绩中有补考的学生并保存在一个新文件。
4、查看文件4:显示文件4里的所有信息;
5、排序后的文件3:对合并后的文件中的数据按总分降序排序(冒泡、插入);
6、查找学生信息:按姓名查找学生的信息并输出结果(顺序、折半);
3)调用关系。
主函数可调用其它函数。
六、 源程序。
#include<>
#include<>
struct student
char name[6];
int num;
long int chi;
long int math;
long int eng;
long int sum;
struct student stu1[100],stu2[100],stu3[100],stu4[100],t,tmp;
file *fp;
int i,j;
void creat1对的成绩进行读取。
int i;
for(i=1;i<=5;i++)
fscanf(fp,"%s %d %ld %ld %ld",stu1[i].name,&stu1[i].num,&stu1[i].
chi,&stu1[i].math,&stu1[i].eng);
printf("\中学生的成绩如下:");
printf("姓名学号语文数学英语");
for(i=1;i<=5;i++)
printf("%s %d %ld %ld %ld",stu1[i].name,stu1[i].num,stu1[i].
chi,stu1[i].math,stu1[i].eng);
void creat2对的成绩进行读取。
int i;
for(j=1;j<=5;j++)
fscanf(fp,"%s %d %ld %ld %ld",stu2[j].name,&stu2[j].num,&stu2[j].
chi,&stu2[j].math,&stu2[j].eng);
printf("\中学生的成绩如下:");
printf("姓名学号语文数学英语");
for(j=1;j<=5;j++)
printf("%s %d %ld %ld %ld",stu2[j].name,stu2[j].num,stu2[j].
chi,stu2[j].math,stu2[j].eng);
void hb把合并后的成绩赋值到新的结构体数组stu3[a]中。
int i;
for(i=1;i<=5;i++)
for(i=6;i<=6+j;i++)
printf("\中所有学生的成绩名单:");
printf("姓名学号语文数学英语总分");
for(i=1;i<=10;i++)
int extract把成绩中需要补考的学生成绩保存在数组stu4[j]中。
int j;
j=1;for(i=1;i<=10;i++)
printf("补考学生成绩名单如下:");
printf("姓名学号语文数学英语");
for(i=1;i
void sort1冒泡排序。
for(i=1;i<=10;i++)
printf("按总分由高到低排序(冒泡)后的成绩如下:");
printf("姓名学号语文数学英语总分");
for(i=1;i<=10;i++)
printf("%s %d %ld %ld %ld %ld",stu3[i].name,stu3[i].num,stu3[i].
chi,stu3[i].math,stu3[i].eng,stu3[i].
sum);
void sort2插入排序。
for(i=2;i<=10;i++)
if(stu3[i].sum>stu3[i-1].sum)
tmp=stu3[i];
stu3[i]=stu3[i-1];
for(j=i-1;j>0&&>stu3[j].sum;j--)
stu3[j+1]=stu3[j];
学生成绩管理系统课程设计报告
长春工业大学人文信息学院。工商管理系工商管理专业课程设计。管理信息系统。课程设计。题目超市管理信息系统。专业年级 2010级 100734班。姓名林声朗学号 10073418 指导老师高月娜职业老师。日期 2012年3月6日。一。概述。1设计背景。2设计目的。3设计内容。二 需求分析。1功能分析。2...
学生成绩管理系统课程设计报告
课程设计报告。第 2 页共 13 页。学生成绩管理系统。课程设计报告。编写人。同组成员课程设计负责人 祁1000410026 学生成绩管理系统。课程设计报告。编写人。同组成员课程设计负责人 祁1000410026 南1000410029 郑1000410044 完成日期。辅导教师。批阅日期。分数。1...
学生成绩管理系统课程设计报告
学生成绩管理系统。课程设计报告。本系统利用access数据库 学生表 学号 姓名 性别 出生日期 专业 总学分和备注 课程表 课程号 课程名和学分 成绩表 学号 课程号和成绩 权限主要分为 学生查询和教师管理两部分。i.学生信息显示,包括学生信息 课程信息和学生成绩 ii.信息查询。学生成绩按提示查...