[电脑基础知识]学生成绩管理系统实验报告附C语言源码.doc
文本预览下载声明
程序设计训练
报 告
(附源码)
题 目 学生成绩管理系统
学生姓名
学生学号
专业班级
指导老师
2012年 7 月
目 录
一、设计目的要求 1
二、设计功能简介 1
三、本人工作 2
四、详细设计方案 2
1.需求分析 2
2.模块详细设计 2
(1)模块功能 2
(2)定义函数功能说明 4
(3)模块算法流程图 6
3.核心模块源程序 10
4.实验结果 16
五、使用说明 21
六、程序设计心得体会 21
七、附录 22
附录1:参考文献 22
附录2:主要变量及自定义函数 说明 22
附录3:源程序代码 22
一、设计目的要求
通过C语言程序设计这门课程,我想,我们应该达到的目的与要求应该有以下内容:
1.在编辑应用程序过程中,逐步加深对C语言编程的理解,掌握结构化程序设计的基本思路和方法增强学生利用自己所学知识解决实际问题的能力4.掌握书写程序设计说明文档的能力
二、设计功能简介
本程序针对登录系统的不同身份(有管理员、学生两个身份)有不同的功能。管理员的功能有以下几个:
1.管理用户:其中包括浏览用户、增添用户、修改用户、删除用户四个功能;
2.管理成绩:其中包括浏览成绩、增添成绩、修改成绩、删除成绩、成绩排序五个功能;
3.个人密码修改。
学生的功能有:
1.查看成绩:其中可直接查看各科成绩,也可查看单科、总分成绩的排名;
2.查看个人信息:
3.修改个人密码。
三、本人工作
虽然编程本身是一件辛苦的事,但作为一个爱好电脑学科的我来说,并不在意。我在这个系统上,花了两天时间。为了这个系统,我反复查资料,调试,纠错……最终完成了这整个系统。
四、详细设计方案
1.需求分析
为了管理员能方便了解、管理班上学生的成绩与其他信息,也
同时为了学生能够自主查询自己的成绩的具体情况与其他信息且不能查看别人的私密信息,设计了这个学生成绩管理系统。此系统能对相关信息进行录入、查询、显示、修改并保存在user.dat和score.dat这两个文件里。
2.模块详细设计
(1)模块功能
管理员:
浏览成绩(SurfScore()):可以浏览已经录入系统的所有成绩
增添成绩(AddScore()):可以添加学生的成绩
修改成绩(ReviseScore()):对已录入系统的成绩进行修改
删除成绩(DelSocre()):通过提供姓名和ID号,删除对应成绩
排名(OutPut()):管理员可以选择科目,对相应成绩进行排序(用冒泡排序法实现),也输出对应科目的没及格人数和及格率
浏览用户(SurfUser()):浏览所有的用户信息
增添用户(AddUser()):增添用户信息,并提供以后用户登录依据,每个用户拥有唯一的ID号
修改用户(ReviseUser()):管理员可以通过此功能修改任何用户的资料,包括密码
删除用户(DeleteUser()):通过姓名和唯一ID号,删除对应用户资料
密码修改(ReviseSecre()):管理员仅可以修改自己的登录密码
学生:
查看成绩(ChaScore()):学生只能查看各科成绩,不能查看名次
成绩排名(OutPut()):学生只能在此查看自己的成绩,和对应科目的排名
查看个人信息(ChaInfo()):学生只能查看自己的个人信息
修改个人密码(ReviseSecre()):这和管理员用的同一函数,只能修改自己的密码
(2)定义函数功能说明
结构体说明:
struct userinfo{
char id[5]; //学生的学号,或教职工的工号
char name[10]; //姓名
char secre[7]; //密码
char sex[1]; //性别
int flag; //权限标识 1为管理员 2为学生
char year[5]; //注册时间
}user;
struct score{
char name[10];
char id[5];
int scor[5]; //保存5单科成绩
float ave; //平均分
int all; //5单科成绩总分
};
全局变量说明:
int cho:用于用户在各个界面的选项
struct user.info g_us
显示全部