西昌学院
C语言课程设计报告
题 目_学生成绩管理系统______
学生编号_ ___________
学生姓名_ _____________
班 级
指导教师__ _ __ _____
2011 年 12 月
一. 课程设计任务内容
设计一个学生成绩管理系统。
系统功能:
1)具备对学生基础数据的维护功能(添加、删除、修改)
2 )具备对课程基础数据的维护功能(添加、删除、修改)
3 )具备对学生成绩数据的维护功能(添加、删除、修改)
4) 具备对成绩的查询功能(按学号、姓名、或课程名查询成绩,排序等 )
5) 具备对成绩的统计功能(最高分,最低分,平均分,及格率等)
6 ) 采用菜单界面
二. 总体设计说明
1 工程设计说明
(工程中有哪些文件组成,各有什么作用)
该工程文件中有 student.h, studentmain.c, student.c, course.c, scgrade.c query.c
tongji.c 。student.h 是头文件,主要存放一些其他函数共用的东西,比如结构体之类的。
Studentmain.c 存放 main 函数主菜单程序。其他几个是存放的实现各个功能的函数。另外,
还有 STUDENT.DAT,COURSE.DAT ,GRADE.DAT 三个文件,主要存放学生,课程,成
绩的信息的。还有一个 TEMP.DAT 文件,用于暂时存放数据。
2 菜单结构设计
(列出各级菜单)
3 数据结构设计
(三个数据文件用到的的结构定义)
学生结构体:
struct student{
long sno;
char sname[20];
char sclass[20];
};
课程结构体:
struct course{
int cno;
char cname[30];
};
成绩结构体:
struct scgrade{
long sno;
int cno;
float grade;
};
三. 详细设计说明
1 学生数据维护子系统设计说明
(每个功能模块的设计思路,哪些功能是自己增强的,加注释的源代码)
#include
#include"STUDENT.H"
//该部分为学生主菜单程序,分别调用添加,修改,删除三个函数。
void studentmenu() {
void addstudent();
void modistudent();
void deletestudent();
char a;
while(1)
{
puts("\n");
puts(" 系 统 主 菜 单");
puts(" 1: 学 生 数 据 添 加");
puts(" 2: 学 生 数 据 修 改");
puts(" 3: 学 生 数 据 删 除");
puts(" 0: 退 出 系 统");
printf("请输入数字选择: ");
a=getche();
switch(a)
{
case '1':
addstudent();
break;
case '2':
modistudent();
break;
case '3':
deletestud