学生成绩管理系统c语言论文

篇一:学生管理系统论文(C语言)

目 录

摘 要 .............................................................................................................................................. 3

第1章 绪论 ................................................................................................................................... 4

第2章 系统分析 ........................................................................................................................... 5

2.1设计目的 ............................................................................................................................. 5

2.2需求分析 ............................................................................................................................. 5

2.3、系统模块的实现 .............................................................................................................. 5

第3章 数据库设计 ....................................................................................................................... 6

3.1. 设计原则 ........................................................................................................................ 6

3.2 数据库组成 ..................................................................................................................... 7

3.1 面向对象数据库设计方法 ............................................................................................... 7

第4章 系统设计 ........................................................................................................................... 7

4.1 登录界面设计 .................................................................................................................... 7

4.2菜单设计 ........................................................................................................................... 11

第五章总结与展望 ......................................................................................................................... 42

致 谢 ............................................................................................................................................ 42

摘 要

随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。

学生管理系统是典型的信息管理系统 (MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我采用微软公司的Microsoft Visual C++ 6.0.中的c语言平台开发,后台建立在文件的读取基础上,尤其是数据窗口能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成高可行性系统。通过对计算机硬件和软件方面的了解,来论证本系统的解决方案。另外对学校等领域进行调研和分析,参照相关各种资料进行数据库编程实践。在指导老师的大力帮助下,基本上完成了设计任务书的要求。

用户模块和管理员模块。对于用户模块来说,只能浏览属于本用户(学生)的相关信息;而管理员模块,则可以添加、查询、修改、删除、查看所有学生的信息,并且可以对班级信息、课程信息、学生成绩和教师信息进行简单的管理。

关键字:MIS 数据库C语言 模块Microsoft Visual C++ 6.0.

第1章 绪论

1.1设计思想

本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,针对这些要求设计了学生信息管理系统本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,针对这些要求设计了学生信息管理系统

1.2 数据库种类选择

C语言中可以调用数据库,但是想到数据库的复杂性,我们采用C语言用的文件的读取,与存储,用文件把数据存入记事本用,在调用记事本用的数据,记事本就相当于一个数据库,完成数据的存储与读取。

1.3 程序语言简介

1、C语言把高级语言的基本结构和语句与低级语言的实用性结合起来。

C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。

2、结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。[15]

3、C语言功能齐全:具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。[15]

4、C语言适用范围大:适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要硬件进行操作的场合,优于其它高级语言,有一些大型 应用软件也是用C语言编写的。[15]

5、C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前二名。

第2章 系统分析

2.1 设计目的

作为C课程结课设计,验证自身的学习效果,同时希望利用所学的基本知识和技能,进行简单程序设计。希望通过项目实践,熟悉巩固所学知识,以使自身达到熟练掌握C的基本知识和技能,基本掌握面向过程程序开发的基本思路和方法,了解C语言的文件读取和储存开发基本知识,为今后的进一步深入学习,奠定基础。

2.2 需求分析

学生管理系统的开发目的是为了实现学生课程、学籍的信息化管理。本系统需要完成的功能有:学籍基本信息、 班级信息、课程基本信息、 学生成绩信息以及系统管理员才具有的教师管理和用户管理。

1. 学籍基本信息:可对学生基本信息进行添加、删除、修改、查找等功能,学籍基本信息有:学号、姓名、性别、出生日期、民族、电话、政治面貌、健康情况、身高、专业、班级、籍贯、毕业学校、家庭住址、特长、备注等属性。

2. 班级信息:可对班级信息进行添加、删除、修改、查找和报表输出等功能,班级信息:班级名,年级、专业、辅导员、备注属性。

3. 课程基本信息:可对课程进行添加、删除、修改、查找和报表输出等功能,课程基本信息:科目编号、课程名称、修课性质、考核性质、开课学期、开课单位、专业名称等属性。

4. 学生成绩信息:可对每一个学生成绩信息进行添加、删除、修改、查找和报表输出等功能,学生成绩信息有:学号、专业名称、科目编号、成绩属性。

5. 系统用户表:可对系统设置权限,分为老师和学生权限,分别完成不同的工作,成绩属性有:用户名、密码、权限属性。

2.3 系统模块的实现

在系统中包括以下功能:学籍基本信息、班级信息、课程基本信息、学生成绩息系统用户表。系统各模块关系如图所示:

篇二:C语言学生成绩管理系统设计报告

目录

1. 需求分析..........................................................

2. 总体设计..........................................................

2.1功能模块设计..................................................

2.2所有功能模块的流程图..........................................

3. 详细设计..........................................................

3.1输入函数......................................................

3.2输出函数......................................................

4. 测试的步骤和内容..................................................

4.1调试方法与步骤................................................

4.2测试结果的分析与讨论..........................................

4.3测试过程中遇到的问题和解决方法................................

5.编码...............................................................

6.课程设计总结.......................................................

7.参考资料...........................................................

1需求分析

1.1 编写目的

明确用户对学生成绩管理系统的功能需求和性能需求,并将这些需求用规范化的语言和规范化的结构完整、准确地表达清楚,以此统一软件开发者和用户对学生成绩管理信息系统软件的理解和认识。

1.2 项目背景

1.2.1 工程的名称:学生成绩管理信息系统

1.2.2 工程产品的名称:学生成绩管理信息系统

1.2.3 工程的组织者:南阳理工学院12级网工张莹

产品的生产者:学生成绩管理信息系统软件开发课题组 产品的设计者:学生成绩管理信息系统软件开发课题组

1.3 定义

学生成绩管理信息系统软件:它是由学生成绩管理信息系统软件开发课题组完全自主开发的成绩管理管理软件,以管理各部门为基本元素的、用编程来实现其功能的软件。

模块的独立性:是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。

1.4项目概述

1.4.1目标

管理员能够实现对整个学生信息的添加、删除、查询等操作。 管理员能够对成绩进行统计和排名。

1.4.2产品描述

本产品开发的核心为学生成绩管理,具体实现是C编程语言和SQJ Server数据库技术相结合开发而成的。本产品面向大,中学生,易懂好学,帮助学校管理人员从手工劳动向电子化、数字化转变。

1.4.3产品功能

2.31外部功能

学校管理应用系统软件外部功能包括可视化窗口,管理员对学生的基本新、

成绩的录入、成绩查询、成绩排名、成绩统计。2.32内部功能

企业管理应用系统软件内部功能:过滤、定位、更新、使用库等。

2.33功能

系统管理数据流图

1.4.4用户特点

学生成绩管理应用软件面向于大中型学校,其使用人员应为具备一定的计算机基础知识和企业管理基本知识。而本产品的维护人员需要掌握C与Access2003相结合的运行环境。

1.4.5一般约束

1)本系统开发人员为5人。

2)有CPU133、512M内存配置的计算机就可运行本系统。

3)在管理方针、并行操作、安全与保密方面无约束。

1.4.6假设与依据

本软件在开发的过程中,分为技术实现与软件工程两大部分,两部分都有侧重点,若技术支持出现故障或疑难问题无法解决、程序开发出现偏差,会延误工程进度,影响工程的按期完工。若软件工程陈述出现问题,部分描述含混不清,则会影响系统的完整性与可继承性。在管理方面,如管理者没有预见性,对出向的问题无法采用可行的解决手段,都会影响开发模块之间的互动,从而影响工程的顺利开展,导致工程无法按期完工。

1.5具体要求

1.5.1学生成绩管理系统的总体分析

要开发一个管理信息系统,首先需要进行需求分析和总体设计,分析系统的使用对象和用户需求,设计系统的体系结构和数据结构,决定使用的开发工具和后台数据库,规划项目开发进程。在实际的项目开发过程中,这些工作是非常重要的。

1.5.2应用需求分析

1. ? 学生基本信息的添加,删除和查询。此功能为查询提供依据。

2. ? 课程基本信息的添加,删除和查询。

3. 成绩基本信息的添加,删除和汇总。此功能够添加每位学生的成绩,修改和删除学生的成绩以及进行分类汇总。

1.5.3开发工具的选择

开发数据库管理信息系统需要选择两种工具,即前台开发语言和后台数据库。选择开发工具时应该考虑客户需求,系统功能和性能要求以及开发人员的习惯等因素。

与其他工具相比,C具有简单易学,灵活方便和易于扩充等特点,越来越多的被用作客户/服务器应用程序的前端开发工具,与后台的Access2003数据库相结合,能够提供一个高性能的管理信息系统解决方案。因此。本实例采用C开发工具,Access2003作为后台数据库。

1.6技术约束

技术约束

本工程产品的约束条件包括:

a. C数据库中各种控件的使用及编程;

b. Access2003语句的语法及操作

环境约束

运行本软件需要奔腾133以上 PC,内存需要在512兆以上,对使用设备的速度、规模要求不高。

标准约束

学生成绩管理系统管理应用软件说明书完全按照《软件工程文档标准》

1.7接口需求

用户接口

本工程产品通过PC机进行运行、操作,对报表、菜单的打印将使用C编程编辑器或调入word进行打印。输出、输入的相对时间将由pc机本身处理速度来决定。对程序的维护,需进行必要的备份。

硬件接口

本工程产品不需要特定的硬件或硬件接口进行支撑。

软件接口

本工程产品的软件接口由C编程语言、Access2003组成

通讯接口

篇三:学生成绩管理系统 高质量C语言程序

学生成绩管理系统设计论文

论文摘要:

本文主要论述了用动态链表构建和维护信息管理系统的方法,并在此基础上给出了适用于Microsoft Visual C++ 6.0环境下的C语言算法。论文明确阐述了程序各模块的功能,并提供了设计的程序在Microsoft Visual C++ 6.0环境下运行的效果截图。论文的最后部分是对短学期C语言综合课程设计的总结。

关键词:

链表,信息管理,C语言

目 录

1.设计目的与要求

1.1设计目的………………………………………………………………………………… 3

1.2设计要求………………………………………………………………………………… 3

2.总体设计……………………………………………………………………………………… 2

3.详细设计……………………………………………………………………………………… 2

4.模块与函数功能介绍………………………………………………………………………… 2

5.调试分析……………………………………………………………………………………… 4

6.总结…………………………………………………………………………………………… 7

7.答辩记录……………………………………………………………………………………… 7

8.教师意见……………………………………………………………………………………… 8

9.参考文献……………………………………………………………………………………… 8

1.设计目的与要求

1.1设计目的

在现代企业中,人力资源的管理是一项重要的部分。本程序旨在用动态链表创建一个信息文档,从C语言的角度提供了一种简单的算法,方便创建、查找和维护人员信息。

1.2设计要求

职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话、等。并使之具备以下功能。 A系统以菜单方式运作

B职工信息录入

C职工信息浏览

D查询和排序

按工资

按学历

E职工信息删除

F职工信息修改

2.总体设计 本程序包含三大模块:输入模块、查询模块、储存模块。 输入模块:包括DOS界面下的菜单,信息录入、修改和显示。 查询模块:包括DOS界面下的信息显示和按条件查询功能。

储存模块:包括程序开始从staff.txt文件中读入数据存入链表,以及程序结

束时将修改后的信息存入staff.txt文档。 3.详细设计 如左图,这是一个单位所用到的结构体变量形式。 我们的想法就是通过建立一个动态链表,在程序运行时可以随时加入修改单元信息。在程序开始、结束时,把数据读取或写入文件。 通过参考《C程序设计》,编写了包含链表部分的创建和修改部分。 剩余部分查找单元信息等,由自己编写。 而文件的写入和存储是结合了《C程序设计》和来自CSDN论坛的一些指导,学会了使用fprinf和fscanf两个函数的功能。

4.模块与函数功能介绍 所用到的函数包括: int main();总体结构菜单

void record(); 从屏幕输入信息到链表

void insert(struct staff *stu); 将详细信息录入链表

void display(struct staff *stu); 显示链表单元的信息

void displayAll(); 显示全部链表单元的信息

void query(); 查询功能的主菜单

void query_by_wage(); 通过工资查询

void query_by_diploma(); 通过文凭查询

void readData(); 于开始读取文件,创立链表

void writeData(); 于结束将链表内的信息写入文件

void freeAll(); 于结束释放链表占有空间

void del(); 查找到单元信息,并删除

void change(); 查找并指向单元信息,调用revise函数修改

void revise(struct staff *p); 修改菜单以及修改信息

int main() 系统主菜单采用switch语句

{

int choice;

readData();

printf("\n温馨提示:为保证您的操作得到保存,请按正常顺序退出系统\n"); do

{

printf("\n\n\n");

printf("\t\t--------------------------------\n");

printf("\t\t 职工信息管理系统 |\n");

printf("\t\t--------------------------------\n");

printf("\t\t [1]----录入职工信息 |\n");

printf("\t\t [2]----浏览职工信息 |\n");

printf("\t\t [3]----查询职工信息 |\n");

printf("\t\t [4]----删除职工信息 |\n");

printf("\t\t [5]----修改职工信息 |\n");

printf("\t\t [0]----退出系统 |\n");

printf("\t\t--------------------------------\n");

printf("请输入您的选择:");

scanf("%d", &choice);

switch(choice)

{

case 0:

writeData();

freeAll();

exit(0);

case 1:

record();

break;

case 2:

displayAll();

break;

case 3:

query();

break;

case 4:

del();

break;

case 5:

change();

break;

default:

printf("\n无效选项!");

break;

}

}

while(choice != 0);

return 0;

}

void query() 职工信息查询菜单,采用switch语句

{

int choice;

choice = 0;

do

{

printf("\n");

printf("+--------------------+\n");

printf("| 按工资查询 请按 1 |\n");

printf("| 按学历查询 请按 2 |\n");

printf("| 取消 请按 0(本文来自:wwW.xIaocAofanwEn.coM 小草 范文 网:学生成绩管理系统c语言论文) |\n");

printf("+--------------------+\n");

printf("请输入您的选择:");

scanf("%d", &choice);

switch(choice)

{

case 0:

return;

case 1:

query_by_wage();

break;

case 2:

query_by_diploma();

break;

default:

printf("\n无效选项!");

break;

}

}

while(choice != 0);

}

void query_by_wage() 按工资查询职工信息,采用strcmp()函数实现查询确认功能 {

char wage[10];

struct staff *p1;

printf("请输入职工的工资:");

scanf("%s", &wage);

if(head==NULL)

{

printf(" **无职工记录!\n");

return;

}

p1=head;

while(strcmp(wage, p1->wage) && p1->next!=NULL)

p1=p1->next;

if(!strcmp(wage, p1->wage))

{

printf("\n工号\t姓名\t年龄\t性别\t出生年月\t地址\t\t工资\t学历\t电话\n"); printf("-------------------------------------------------------------------------------\n");

display(p1);

}

else

printf(" **没有该职工记录,请核对!");

}

void query_by_diploma() 按学历查询职工信息

{

char diploma[10];

struct staff *p1;

printf("请输入职工的学历:");

scanf("%s", &diploma);

if(head==NULL)

{

printf(" **无职工记录!\n");

return;

}

p1=head;

while(strcmp(diploma, p1->diploma) && p1->next!=NULL)

p1=p1->next;

if(!strcmp(diploma, p1->diploma))