C语言成绩查询系统
C语言大作业
姓名:班级:学号:指 导 教 师:
一.目的7
二.题目描述和要求7
三.报告内容8
3.1需求分析8
3.2 概要设计8
3.3 详细设计8
3.4 主要源程序代码8
3.5 测试分析9
3.6 设计结果9
四.结论与心得9
一.目的
通过本次大作业,锻炼我们应用C语言的语法规则和已经掌握的
算法,自己解决一个较简单的课题,初步积累编程经验。
1.2、 通过学习掌握程序设计的方法与编程技术,学会良好的程序设计风格,
为计算机在不同领域的应用打下坚实的基础。
1.3、 要求我们能利用计算机解决实际问题。从分析问题入手,设计可行的
算法,进而编出相应的C程序。强调上机实践过程,从实际应用出发,注重
程序的实际应用。
二.题目描述和要求
题目:学生成绩管理系统
应用链表及外部文件,独立设计上述应用系统,并编程实现以下功能:
2.1 信息录入
录入学生信息(包括姓名、学号、各科成绩)。
2.2信息查询
输入学号,查询与学号相对应的信息(包括成绩),并按可选的自定义规则进行排序。
按班级查询学生成绩。
按班级统计学科总分、平均分等。
2.3 信息删除与修改
输入学号,删除该学号对应的成绩信息。
输入学号,查询并显示出该学号信息,并在此基础上进行修改。
2.4 计算学生成绩
计算每位学生的总分。
计算每位学生的平均分。
成绩排序。
2.5信息保存
将学生信息保存在文件中。
2.6根据以上功能,信息结构需求分析
3.3 详细设计
源文件函数名或其他成分功能student.cpp
函数名或其他成分功能main总控函数int choice菜单选择switch(choice)菜单处理IO_WriteInfo新建学生信息记录exit结束运行Student_Insert增加学生信息Student_Display显示信息Student_Delete删除指定的记录Student_Select查询指定学生的信息Student_Modify修改指定学生的信息Student_SortByAverage排序student.h结构声明学生成绩结构库函数及函数原型声明引用库函数及函数
3.4 主要源程序代码
#include
#include
#include
struct Student
{
char ID[20];
char Name[20];
float scor_eng;
float scor_math;
float scor_phy;
float Average;
};
struct Student students[1000];
int num=0;
float Avg(struct Student stu)
{
return (stu.scor_eng+stu.scor_math+stu.scor_phy)/3;
}
int Student_SearchByIndex(char id[])
{
int i;
for (i=0;i
{
if (strcmp(students[i].ID,id)==0)
{
return i;
}
}
return -1;
}
int Student_SearchByName(char name[])
{
int i;
for (i=0;i
{
if (strcmp(students[i].Name,name)==0)
{
return i;
}
}
return -1;
}
void Student_DisplaySingle(int index)
{
printf("%10s%10s%8s%8s%8s%10s\n","学号","姓名","英语成绩","数学成绩","物理成绩