学生成绩信息管理系统

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西安文理学院

信息工程学院

软件编程课程设计报告

设计题目:学生成绩管理系统课程设计

学生学号: 020*******

专业班级:物联网工程一班

学生姓名:张旺阳

学生成绩:

指导教师(职称):

课题工作时间: 2015-11-25 至 2015-12-9 信息工程学院软件编程课程设计任务书

指导教师:

日期:2015年11月25日

成绩评定表

学生姓名:张旺阳学号: 020******* 专业/班级:物联网工程一班

目录

1. 概述 (1)

1.1课题背景 (1)

1.2系统功能 (3)

1.3设计要求 (4)

2. 概要设计 (5)

2.1系统功能模块 (5)

2.2各模块流程图 (6)

3. 详细设计 (8)

3.1 程序中使用的数据结构 (8)

3.2 函数列表 (10)

4. 设计结果与分析 (12)

5. 总结与体会 (15)

参考文献························X 附录主要程序代码····················X

1.1课题背景

随着计算机的普及,计算机在生活中得到越来越多的应用,其中在计算机上运行的各种软件在解决生活中的实际问题中起到重大的作用,而目前在编写应用程序时,c++以其高效及灵活性成为大多数程序设计者的首选,其次对于普通用户者,利用c++语言设计出适用的小型软件对解决生活中的繁琐问题有很大的作用。

在学校或班级,教师经常会对某次考试中的所有学生的成绩进行统计和管理,由于学生数目经常繁多,所以在处理统计学生总成绩和平均成绩时工作会相对繁琐,所以针对这种情况,同时我分析了成绩管理所需要的功能,在利用C++语言及VC++6.0程序运行平台之下,设计一种小型的学生成绩管理系统。

1.2系统功能

1.录入

2.修改

3.求总分

4.求平均分

5.查询

6.排序

1.3设计要求

学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)。

主要功能:

(1)能按学期、按班级完成对学生成绩的录入、修改

(2)能按班级统计学生的成绩,求学生的总分及平均分,设计并输出统计报表

(3)能查询学生成绩,不及格科目及学生名单

(4)能按班级输出学生的成绩单

(5)能按班级,按课程,对学生成绩进行排序。

要求:使用二进制文件方式存储数据,系统以菜单方式工作

第二章概要设计

2.1系统功能模块

(1)创建主菜单

(2)实现学生成绩信息录入

(3)实现学生成绩信息查询

(4)实现学生成绩信息修改

(一)修改某个学生的成绩

(a)按学期查询学生的成绩

(b)按班级查询学生的成绩

(c)按学号查询学生的成绩

(二)查询不及格的科目和学生名单

(5)实现学生成绩统计

(a)按班级统计学生的总分。

(b)按班级统计学生的平均分。

(6)实现学生成绩信息输出

(7)保存学生的成绩信息于文件

2.2系统功能流程图

第三章详细设计3.1主要数据结构

typedef struct studentMark

{

int term;

int classes;

char name[10];

int number;

char sex[7];

float chinese;

float math;

float english;

float computer;

struct studentMark *next;

} MARK;

这是定义一个结构体,主要包括学期,班级,姓名,学号,性别,语文成绩,

数学成绩,英语成绩,计算机成绩,以及包括一个结构体指针。另外还用了

typedef这个关键字。因此,在程序的后面也可以用MARK来定义结构体变量或

结构体指针变量。

int term; 定义学期,学期只能是第一学期或者第二学期。

例如int 1;则表示第一学期。

int classes; 定义班级,班级只能是一班或者二班。

例如 int 2;则是表示定义为二班。

char name[10]; 定义姓名,在数组中存放字符串。

例如char name[]=

“yang”;则该学生的姓名为yang int number; 定义学号,例如int 1;则该学生学号为1号。

char sex[7]; 定义姓别,其性别最大长度为7.

例如 char sex[]=“man”;

说明该学生为男生。同样可以这样定义女生。

float chinese; 定义语文成绩。

float math; 定义数学成绩。

float english; 定义英语成绩。

float computer; 定义计算机成绩。

struct studentMark *next; 定义一个结构体指针。

3.1.1 主函数

int main();

主函数,程序的入口。

void m(MARK *head);

主菜单的函数原型,在函数m(head)中主要有选择创建学生成绩信息,查询学生成绩信息,修改学生成绩信息,统计学生成绩信息,输出学生成绩信息,存储学生成绩信息于文件,以及退出体统等选项可供用户选择。

MARK *creat(void );

创建函数的函数原型,在函数creat()中用户可以输入初始的学生信息:其中包括学生的学期、班级、姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息。

3.1.2 查询函数

void searchMark(MARK *head);

查询菜单的函数原型,在函数searchMark(head)中用户可以自由选择是查询某一个学生的成绩还是查询不及格学生的成绩。而这通过调用函数searchMarkStusentone(head)和函数searchMarkFail(head)完成操作。

void searchMarkStusentone(MARK *head);

查询某个学生成绩的函数原型,在函数searchMarkStusentone(head)中用户可以按学号或班级或者是按学期来查找某个学生的成绩。通过函数searchnumber(head)和函数 searchclasses(head)以及函数searchterm(head)完成操作。

void searchnumber(MARK *head) 按学号查找学生的函数原型,;

void searchclasses(MARK *head); 按班级查找学生的函数原型,

void searchterm(MARK *head); 按学期查找学生的函数原型,

void searchMarkFail(MARK *head);

查询没有及格的学生的函数原型,通过这个函数可以查找学生不及格科目及学生名单。

3.1.3 修改函数

MARK *changeMark(MARK *head);

修改学生成绩信息的函数原型,可以修改学生的学期、班级、姓名、学号和性别以及学生的语文、数学、英语和计算机等相关信息。

3.1.4 统计函数

void conuntMark(MARK *head);

统计学生成绩的函数原型,在函数conuntMark(head)中用户可以统计学生的总成绩以及平均成绩,通过调用函数totalMark(head)和函数

相关文档
最新文档