《基于c语言的教务系统软件设计大学本科毕业论文.doc》由会员分享,可在线阅读,更多相关《基于c语言的教务系统软件设计大学本科毕业论文.doc(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、河南理工大学本科毕业设计(论文)说明书 河南理工大学电气学院 2011级毕业设计(论文)课题名称:基于c语言的教务系统软件设计 专 业:电子信息技术与仪器 设 计 人: 葛 国 星 指导老师: 韩军良 职 称: 讲 师 河南理工大学毕业设计(论文)任务书专业班级 电子信息技术与仪器11-2 学生姓名 葛 国 星 一、题目 基于c语言的教务系统软件设计 二、起止日期 2015年 3 月 15 日至 2014 年 5 月 30 日三、主要任务与要求 指导教师 韩军良 职称 讲师 学院领导 签字(盖章)年 月 日河南理工大学毕业设计(论文)评阅人评语题目 评 阅 人 职称 工作单位 年 月 日河南理
2、工大学毕业设计(论文)评定书题目 指导教师 职称 年 月 日河南理工大学毕业设计(论文)答辩许可证答辩前向毕业设计答辩委员会(小组)提交了如下资料:1、设计(论文)说明 共 页2、图纸 共 张3、指导教师意见 共 页4、评阅人意见 共 页经审查, 专业 班 同学所提交的毕业设计(论文),符合学校本科生毕业设计(论文)的相关规定,达到毕业设计(论文)任务书的要求,根据学校教学管理的有关规定,同意参加毕业设计(论文)答辩。 指导教师 签字(盖章)年 月 日根据审查,准予参加答辩。答辩委员会主席(组长) 签字(盖章)年 月 日河南理工大学毕业设计(论文)答辩委员会(小组)决议 学院 专业 班 同学的
3、毕业设计(论文)于 年 月 日进行了答辩。根据学生所提供的毕业设计(论文)材料、指导教师和评阅人意见以及在答辩过程中学生回答问题的情况,毕业设计(论文)答辩委员会(小组)做出如下决议。一、 毕业设计(论文)的总评语二、毕业设计(论文)的总评成绩: 三、答辩组组长签名:答辩组成员签名:答辩委员会主席: 签字(盖章)年 月 日基于c语言的教务系统软件设计摘 要本系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门
4、关于信息化的步伐,使各项管理更加规范化。目前,学校工作繁杂、资料重多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。本系统在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。本论文主要从系统分
5、析、系统设计、系统实施与使用等几个方面进行介绍【关键词】 成绩管理; 成绩查询; C语言; 面向过程Abstract This system according to the development requirements are mainly applied in education system of education , the daily work of the digital archives management of student performance. This system can make the college development staff to reduc
6、e the working pressure , educational and teaching to the various services and information management , also can reduce the use of force , accelerate query speed , strengthen management , as well as the national departments about the pace of normalization , make each management standardized.At presen
7、t , the school work multifarious , material more , though various management information system has entered the university , but has not been popular , and for students performance management , it has been a complete and unified system. Therefore , the development of a suitable and the populace , co
8、mpatibility good system is very necessary.This system in the process of development , pay attention to the operation of the business process , and strive to system of comprehensive , generalization , makes this system not only applicable to a education institutions. On the choice of methods in the d
9、evelopment life cycle method , a method of combining with the prototype , follow the system research and systematic analysis , system design and system implementation , four main stages , and the specific design in the design , taking the evolution as users of prototype , the use of system and the d
10、eepening understanding of a part or a few parts for analysis , design and implementation. This thesis mainly from the system analysis , system design and system implementation and use etc.【Key Words】 Achievement Management; Achievement Query ; C Programming Language ; Procedure-Oriented目录第1章 绪 论11.1
11、 教务管理系统概述11.1.1 管理信息系统的概念11.1.2 课题背景11.1.3 目的背景与意义11.1.4 项目开发的目标21.2 面向过程编程的基础知识21.2.1 面向过程基本概念21.2.2 使用面向过程的C语言简介2第2章 需求分析42.1 目标42.2 要求42.3 模块分析和介绍62.4 项目要求72.5 学生成绩管理系统的功能7第3章 模块设计93.1 主模块93.2 添加学生信息93.3 显示学生信息93.4 排序学生信息93.5 查找学生信息9第4章 详细设计与实现11第5章 流程图13第6章 源代码146.1 数据结构与函数声明的头文件146.2 主控程序模块156.
12、3 登录界面模块166.4 学生界面模块186.5 管理员界面模块206.6 一些基本的操作函数模块22第7章 总结与展望32致 谢33参 考 文 献34II1第1章 绪 论本章介绍学生学籍管理系统的有关知识、面向过程的编程技术以及应用程序的开发方法和开发过程等基础理论知识,这是深入了解后续内容的必要准备。1.1 教务管理系统概述1.1.1 管理信息系统的概念管理信息系统(Management Information Systems,简称MIS),是一个不断发展的新型学科,MIS的定义随着计算机技术和通信技术的进步也在不断更新,在现阶段普遍认为MIS 是人为或计算机设备以及其他信息处理手段组成
13、并用于管理信息的系统。包括以下几个基本概念: ( 1 ) MIS的对象就是信息。信息是经过加工的对决策者有价值的数据。信息的主要特征是来源分散,数量庞大。信息来源于生产第一线、社会环境、市场以及行政管理等部门。信息具有时间性。 ( 2 ) 系统是由相互联系、相互作用的若干要素按一定的规则组成并具有一定功能的整体。 系统由输入、处理、输出、反馈、控制等五个基本要素组成。 ( 3 ) 管理信息由信息的采集、信息的传递、信息的储存、信息的加工、信息的维护和信息的使用等五个方面组成。 MIS包括计算机、网络通信设备等硬件成分,也包括操作系统、应用软件包等软件成分,并随着计算机技术和通信技术的迅速发展还
14、会出现更多的内容。1.1.2 课题背景该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位 ( 包括学校、学院等等 ) 的学生信息的管理。 目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展。商业化的学生信息管理软件也不少,但本系统完全独立开发 , 力求使系统功能简洁明了,但功能齐全且易于操作。1.1.3 目的背景与意义学生信息管理系统是一个教育单位不可缺少的部分。一个
15、功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差 , 人工的大量浪费。另外时间一长,将产生大量的文件和数据 , 这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理
16、所无法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理 , 与世界接轨的重要条件。1.1.4 项目开发的目标 建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生信息管理工作流程的系统化、规范化和自动化。1.2 面向过程编程的基础知识1.2.1 面向过程基本概念面向过程其实是最为实际的一种思考方式,就是算面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法,它考虑的是实际的实现。一般的面向过程是从
17、上往下步步求精。所以面向过程最重要的是模块化的思想方法。对比较面向对象,面向对象的方法主要是把事物给对象化,对象包括属性与行为。当程序规模不是很大时,面向过程的方法还会体现出一种优势,因为程序的流程很清楚,按着模块与函数的方法可以很好的组织。1.2.2 使用面向过程的C语言简介1. C语言C言是一种面向过程的计算机程序设计语言,它是目前众多计算机语言中举世公认的优秀的结构程序设计语言之一。它由美国贝尔研究所的D.M.Ritchie于1972年推出。1978后,C语言已先后被移植到大、中、小及微型机上。 C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。许多著名的系统软件
18、,如DBASE 都是由C 语言编写的。用C 语言加上一些汇编语言子程序,就更能显示C 语言的优势了,像PC- DOS 、WORDSTAR等就是用这种方法编写的。2. C 语言特点C语言是一种成功的系统描述语言,用C语言开发的UNIX操作系统就是一个成功的范例。同时C语言又是一种通用的程序设计语言,在国际上广泛流行。世界上很多著名的计算公司都成功的开发了不同版本的C语言,很多优秀的应用程序也都使用C语言开发的,它是一种很有发展前途的高级程序设计语言。(1)C是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最
19、基本的工作单元。 (2)C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。(3)C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。(4)C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型
20、。 C语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。 C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。(5) C语言文件由数据序列组成,可以构成二进制文件或文本文件。 常用的C语言IDE(集成开发环境)有Microsoft Visual C+,Dev-C+,Code:Blocks,Borland C+,Watcom C+ ,Borland C+ Builder,GNU DJGPP C+ ,Lccwin32 C Compiler 3.1,High C,Turbo C
21、,C-Free,win-tc 等等 对于一个初学者,Microsoft Visual C+是一个比较好的软件。界面友好,功能强大,调试也很方便。第2章 需求分析2.1 目标 ( 1 ) 掌握和利用C语言进行程序设计的能力。 ( 2 ) 理解和运用结构化程序设计的思想和方法。 ( 3 ) 掌握开发一个小型实用系统的基本方法。 ( 4 ) 学会调试一个较长程序的基本方法。 ( 5 ) 掌握书写程序设计开发文档的能力(书写设计报告)。2.2 要求学生信息管理系统的目标是为方便统一管理学生的信息并为管理员和学生提供一个信息共享和查询的平台。学生信息包括:(变量的类型和长度要自己根据需求来定,如果超过对
22、应的存储长度要有对应的提示)。学号 姓名 密码 年龄 性别 数学成绩 语文成绩 C语言成绩 : :试设计一个学生信息管理系统,使之能提供以下几项功能:(1)该系统以菜单方式工作;比如:管理员查找按序号查找(2)登录功能:系统启动后有提示进入登录界面;使用超级管理员用户名和密码登录,比如用户名“admin”,密码:“123456”。学生用用户名和密码登录。对于密码可选择实现隐藏密码功能(可选项)。用户名和密码正确则提示登陆成功。显示欢迎进入系统界面:“欢迎管理员登录”或“欢迎*同学登录”,之后显示操作界面;管理员和学生有不同的操作界面。如果输入用户名和密码错误,需要有提示,如果输入错误超过三次则
23、自动退出系统。 (3)学生信息录入功能(学生信息用文件形式保存)-输入实现对学生信息基本信息的录入,其中名次根据成绩自动计算(添加)。注意:学号不能重复,名字可重复如果学号是自动加1生成,在删除一个已存在的学号时,需考虑再次添加时该学号能否使用成绩录入时,要有输入验证(0-100) 其他输入同样要有输入验证(如:性别),如超出长度和范围要有提示。(4)查询、排序功能-算法(按学号查找,按姓名查找,根据班级群体查找,把属于这个班的学生全部显示)(5)修改学生信息 修改密码(包括管理员和学生个人)(可选项) 输入:输入旧密码,输入两次新密码。 流程:检验旧密码是否正确,如不正确提示重新输入旧码;如
24、正确,检验两次输入的新密码是否一致,如不一致,提示重新输入密码,如一致,用新密码覆盖旧密码。 修改学生信息(1)管理员身份:可以修改学生的所有信息;(2)可设置不同课程角色的管理员可以修改对应的成绩;(可选项)(3)学生身份:修改密码;(可选项)。 注意:在修改信息过程中,要有提示,保存修改与否。(6)删除信息操作在查找到某一条学生信息后,需要删除时,需要有提示是否确认删除?确认删除后,要释放内存空间。(7)保存学生信息修改后的学生信息要保存到文件中,以保证修改后的学生信息,在以学生身份登录时可以登录并完整显示修改后的信息;当系统启动后,从文件中读取信息,将数据读取到内存当中。(8)退出系统系
25、统中的数据如果有增,删,改等改动,在退出时要提示是否保存。2.3 模块分析和介绍对学生管理系统进行分析后可做如下的模块化设计:系统主界面模块实现功能:完成系统的界面处理,如主菜单界面。输入模块实现功能:按顺序将由学号,姓名、性别、密码、年龄、班级、数学成绩、语文成绩、C语言成绩,名次等依次输入。当有提示是否继续录入时,选择No时,数据输入完毕。并同时将所输入的数据写入文件中,比如(stud_txt)。删除模块实现功能:在已经存储的文件中删除指定的或者经过查找后找到的学生信息,并释放内存空间,删除所有相关的信息。查找模块实现功能:在已经存储的文件中查找任一指定的学生信息,可以按照姓名,学号,来实
26、现查找。输出模块实现功能:当实行显示信息功能时,输出所创建的文件中包含的全部学生信息。排序模块实现功能:对已经存储在文件中的学生信息,根据成绩从高到低排序,存储,并在名次中显示出来排序结果。修改模块实现功能:在已经存储在文件中的学生的信息进行修改,根据学生学号找到要修改的学生信息,然后对其进行修改,可修改所有信息,如果遇到不需修改部分,输入回车键跳过。2.4 项目要求(1)程序书写格式,参照教材 C高级编程 第五章高质量编程规范(P.113-P.135)(2)程序的注释参考教材编码规范。(3)不同功能的函数要实现模块编程,放在不同的文件当中。 ( 下例中仅供参考 ) 比如:/name/srco
27、de/ main.cmenu.cmenu.hstudent.cstudent.h:2.5 学生成绩管理系统的功能1-按学号查询学生信息2-按姓名查询学生信息3-显示所有学生信息4-添加学生信息5-删除学生信息6-修改学生信息7-保存学生信息文件8-读入学生信息文件9-退出此项目主要考察我对结构体、指针、文件的操作,以及C语言算法的掌握,所以完成此题目要求较高的设计能力,尤其是要有大局意识。如何调试程序也非常重要,通过这个程序可学到以前调试程序没有的经验。第3章 模块设计将学生成绩管理系统划分为以下几个模块3.1 主模块功能概述:(1) 提供系统菜单的显示功能(2)提供打开文件,并导入文件记录的
28、功能(3)提供保存文件信息的功能3.2 添加学生信息功能:(1) 根据输入的相关信息,将学生信息添加到文件中 3.3 显示学生信息功能:(1) 将文件中的所有信息完全显示3.4 排序学生信息功能:(排序分为升序和降序两种排序方式) 根据平均分进行排序3.5 查找学生信息功能:(查找学生信息包含根据输入学号进行查找和根据输入的姓名进行查找两种方式,并根据返回的学生信息,进行以下三种操作)(1)查询学生信息,直接返回找到的信息(2)修改学生信息,根据找到的学生信息,对其进行修改(3)删除学生信息,根据找到的相关学生信息,从文件中删除这条记录第4章 详细设计与实现 程序设计中用到的学生信息结构体类型
29、在单独的头文件student.h中定义相应的数据结构体类型,全局变量,和宏名:SIZE 记录结构体的大小定义学生结构体 stu,包含相关的学生信息#define SIZE 5 struct student/定义学生信息结构体int sid ;char sname50 ;char password32 ;int age ;char sex ;float math ;float chinese ;float clang ;stu 2 * SIZE ;#define SIZE 5int Log_in ( struct student stu , int length ) ;/登录界面int num1
30、 , _id ;/全局变量,追踪已经录入学生信息数量int menu ( ) ;/管理员操作菜单int menu2 ( ) ;/学生操作菜单void scan ( struct student stu , int i ) ;/输入函数void save ( int num ) ;/保存至文件夹函数int display ( ) ;/从文件夹读取至内存void print ( struct student stu , int length ) ;/输出函数void jiemian ( ) ;/管理员界面void chazao ( ) ;/查找界面 int chazao1 ( struct stu
31、dent stu , int length , int num ) ;/根据学号查找返回下标 int chazao2 ( struct student stu , int length , char str150 ) ; /根据姓名查找,返回下标 void chazao3 ( struct student stu , int length , int num ) ;/根据学号查找并输出 void chazao4 ( struct student stu , int length , char str150 ) ; /根据姓名查找并输出 void chazao3 ( num1 ) ; void
32、tianjia ( ) ;/添加学生信息 void shanchu ( ) ;/删除学生信息 void del1 ( struct student stu , int length , char str150 ) ;/根据姓名删除 void del ( struct student stu , int length , int num ) ;/根据学号删除void xiugai ( ) ;/根据学号修改学生信息void xiugai1 ( ) ;/根据姓名修改学生信息void baochun1 ( ) ;/不保存退出void baochun ( num1 ) ;/保存退出void admin
33、( ) ;/关于管理员界面的函数void stude ( int id ) ;/关于学生界面的函数void paixu ( struct student stu , int length ) ;/排序函数float vel ( int j ) ;/求平均值函数第5章 流程图图1.1 程序流程图第6章 源代码6.1 数据结构与函数声明的头文件/*. * 文件名:student.h* 日期: 2015.5.22 * 作者:葛国星* 功能:头文件.*/#define SIZE 5 struct student/定义学生信息结构体int sid ;char sname50 ;char password
34、32 ;int age ;char sex ;float math ;float chinese ;float clang ;stu 2 * SIZE ;#define SIZE 5int Log_in ( struct student stu , int length ) ;/登录界面int num1 , _id ;/全局变量 , 追踪已经录入学生信息数量int menu ( ) ;/管理员操作菜单int menu2 ( ) ;/学生操作菜单void scan ( struct student stu , int i ) ;/输入函数void save ( int num ) ;/保存至文件
35、夹函数int display ( ) ;/从文件夹读取至内存void print ( struct student stu , int length ) ;/输出函数void jiemian ( ) ;/管理员界面void chazao ( ) ;/查找界面 int chazao1 ( struct student stu , int length , int num ) ;/根据学号查找返回下标 int chazao2 ( struct student stu , int length , char str150 ) ; /根据姓名查找 , 返回下标 void chazao3 ( struc
36、t student stu , int length , int num ) ;/根据学号查找并输出 void chazao4 ( struct student stu , int length , char str150 ) ; /根据姓名查找并输出 void chazao3 ( num1 ) ; void tianjia ( ) ;/添加学生信息 void shanchu ( ) ;/删除学生信息 void del1 ( struct student stu , int length , char str150 ) ;/根据姓名删除 void del ( struct student st
37、u , int length , int num ) ;/根据学号删除void xiugai ( ) ;/根据学号修改学生信息void xiugai1 ( ) ;/根据姓名修改学生信息void baochun1 ( ) ;/不保存退出void baochun ( num1 ) ;/保存退出void admin ( ) ;/关于管理员界面的函数void stude ( int id ) ;/关于学生界面的函数void paixu ( struct student stu , int length ) ;/排序函数float vel ( int j ) ;/求平均值函数6.2 主控程序模块/*. * 文件名:main.c * 日期: 2015.5.22 * 作者:葛国星* 功能:主函数.*/#include #include student.h#include int main ( ) int i = 0 ;int menunum = 0 ;/display ( 2*SIZE ) ;num1 = display ( ) ;/printf ( %d , num1 ) ;menunum = Log_in ( stu , num1 ) ;/根据Log_in函数返回值确定管理员或者学生的操作界面(为1进入管理员界面 ;为2进入学生界面) s
限制150内