登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 电子信息类 > 电子科学与技术 > 正文

基于C语言的教务管理系统设计毕业论文

 2020-02-17 23:22:15  

摘 要

教务管理系统是现代化教育的重要组成部分,在现代高校管理中,一个高效的、准确的教务系统不仅能大大提高教学管理效率,还能避免在人工管理方面浪费比较大的人力物力,尤其是在信息化的时代,一个自动化的教务管理系统重要之至。本设计就完成了教务管理系统的基本框架功能,致力于学生信息的交流与存储,以提高管理效率,本系统在计算机上运行,将各种信息汇总存储,完成了教务系统的信息化、自动化要求。信息化的教务系统的重要性越来越高,而目前的高校系统还有缺陷,更需要重视起来,进一步完善系统功能。

关键词:学生管理系统;计算机;学生;信息化。

Abstract

The educational administration management system is an important part of modern education. In the management of modern colleges and universities, an efficient and accurate educational administration system can not only greatly improve the efficiency of teaching management, but also avoid wasting a lot of manpower and material resources in manual management, especially in In the age of informationization, an automated educational management system is important. This design completes the basic framework function of the educational administration management system, and is dedicated to the exchange and storage of student information to improve management efficiency. The system runs on a computer, aggregates and stores various information, and completes the informationization and automation of the educational administration system. Claim. The importance of the information-based educational system is getting higher and higher, and the current university system still has defects, and it needs to pay more attention to further improve the system function.

Keywords: student management system; computer; student; informationization.

目录

第1章 绪论 1

1.1 研究工作的目的和意义 1

1.2 国内外研究现状分析 2

1.3 本文所设计教务系统的基本功能 3

1.4 本设计主要的实现方法 3

第二章 C语言相关知识简介 4

2.1 C语言的发展与特点 4

2.2 链表 4

2.3 动态内存的分配 5

2.4 文件的读取与写入 6

2.5 Visual Studio 编程简介 7

2.6 本章小结 10

第三章 系统总体结构分析 11

3.1 函数分析 11

3.2 需求分析 11

3.3 设计可行性论证 12

3.4 本章小结 12

第四章 功能实现及调试 13

4.1 总体思路及函数定义 13

4.2 功能函数调试 14

4.2.1 主菜单函数 14

4.2.3 学生信息输入函数 15

4.2.4 学生信息查找函数 17

4.2.5 学生信息显示函数 21

4.2.6 学生信息修改函数 23

4.2.7 学生信息删除函数 24

4.2.8 学生信息存盘函数 26

4.2.9 学生数据读盘函数 26

4.10 本章小结 27

总结 28

参考文献 29

致谢 30

第1章 绪论

1.1 研究工作的目的和意义

高校的教务系统设计具有极大的意义,其是高等教育管理的重要环节和最直接的影响部分,是高效管理的核心。教务管理系统的的运行效率极大地影响了整个高校系统运行的效率和高校办学的基本质量,如果信息化的教务系统不能更好的发挥高校的优势,会造成极大的时间浪费和人力资源的浪费。伴随着互联网的发展和现代社会信息化的快速普及,高等教育对教务系统的自动化和大数据化提出了更高的要求。面对越来越庞大的高校信息,单纯的人工记录统计已经不能满足要求,甚至可以说已经不太现实。尽快改变老化的信息管理方法和系统已经迫在眉睫,成为了现代教育体系急需改变的与发展的方面之一。现如今,互联网已经成为了人们获取信息的主要方式,其能够获得的数据量与数据获取的效率是十分可观的,高校应适应信息化教学、素质教育,充分利用网络资源,对大量的网络数据资源进行有机的整合,实现信息的快速共享[1],实践证明信息化教学是实现现代化教学的重要途径,是新型的高等教育体系实现的重要途径之一。

伴随着我国的新型高等教育体系的快速发展,各高校办学水平的不断提高,高校学生人数的不断增加,教学方式的多样化发展愈发明显。从学校单地点教学到不限地点的多样化、自由化教学,高等学校对信息化的管理系统越发依赖,学分制教学模式的不断发展,使高校教育行政部门的的压力越来越大,不仅增加了工作量,也对工作的准确性提出了更高的要求,促使各高校必须不断完善并发展自己的信息化教务系统,只有这样,才能高效的完成对学生信息的有效管理。根据传统的管理模式,低效的人工操作无法再有效、快速的管理教务信息。高校教务管理信息化已成为教学管理现代化的迫切要求,因为它可以使行政人员以及教师免于繁琐的人工操作,在大数据下进行查询和统计,并可以减少行政管理人员大大提高了,工作效率。

高校的教育管理是一项规模庞大的系统性工程,如果没有相应的工作效率与系统功能,会大大影响高校的教学效率与教学质量。教学工作的规范化管理高于常规教学管理。教务系统的影响范围包括了高校的教学管理、行政管理等方方面面。它的基本信息更多地渗透到教学的各个环节,并且是全面的[2]。 这需要按照一定的标准流程进行科学管理,信息化有助于成功实现这一管理过程。通过的高校教务管理系统的升级完善,可以大大提高行政人员的工作效率、教师管理的方便性以及学生的学习效率,强化教学效果,提高高校管理运作的信息化水平,进一步提高自动化教务系统的可用性。

教育管理系统的构建涉及信息技术和信息资源,是两者的有机结合。信息化的发展与互联网技术的广泛应用为现代高等教育体系的教学模式、教学理念等产生了广泛而巨大的影响,教务管理系统能够让信息化技术广泛渗透到教学管理的全过程,如果能最大化的利用信息系统,进而建立先进、可靠的信息技术系统,就能够为教育管理工作提供全面的情报支持和信息处理支持[3]。信息资源是高校教务所需的重要资源,其能够充分反映当前的教学现状,以做出相应调整,所以,能够充分利用信息资源并加以分析的智能化教务系统尤为重要。它可以使各部门间的信息得到快速的共享与分析。通常来说,使用教学管理系统后,可以共享教学数据、节省时间、提高工作效率,提高数据准确性、加强部门间的工作协调、规范部门间的工作、明确各部门的职责。多部门协同合作,使学校管理规范化,使办学效率进一步提高,可以更方便、及时、规范地查询学生信息,充分分析学生成绩,提高严谨性和严肃性,使信息准确、及时[5]。也就是说 ,教育行政管理体制的应用是教育行政适应社会进步和科学发展的必然选择。

1.2 国内外研究现状分析

教务管理系统对高校教务管理信息化建设具有重要意义。在教学管理,成果管理,学生身份管理等培训过程中,实现了整个培训过程的网络化和信息化,为高校教育管理的信息化、智能化奠定了坚实的基础[6]。但是随着教务系统信息化的快速发展,一些问题也日趋暴露出来,对教学信息化进程产生了阻碍。教务系统应具有可靠的、稳定的、友好界面,提供有效的系统运行日志和审计管理功能,具有良好的运行保障体系,提供完整的存储和备份手段解决方案,提供及时的恢复措施,保证系统的稳定性,操作过程简单[7]。目前,大量高校的教学管理系统还存在诸多问题,主要表现如下:

(1)教务管理系统的安全性和稳定性还有待提高,对于系统的安全性,首先在学生端的安全系数不高,更为重要的是对于学校的后台端,经常存在着严重的问题,时常发生高校教务系统被入侵而造成大量学生信息以及教学信息丢失的事件。对于稳定性方面,很多高校的教务系统服务器容量较小,在学生选课或期末查询成绩等高峰使用时间时,会时常发生系统崩溃、界面卡顿的情况。

(2)教务系统应具备较强的可扩展性和可升级性,随着教务信息的规模不断扩大,信息的种类日趋复杂,对教育管理系统的可扩展性要求非常高[8]。目前大多数教育管理系统都不具备可扩展性,很难及时满足高校教育管理的新要求。

(3)教务管理系统有很多平台,水平参差不齐。目前,我国教育管理系统开发人员众多,有专业软件公司人员,高校职工还有管理人员。有各种类型的应用软件开发,有独立版本的教育管理系统,也有基于互联网的教育管理系统。 教育管理平台水平参差不齐,真正适合大学教育管理的实际情况,智能化、可扩展的教务体系很少。

(4)缺少能够在线使用的客户端,目前很多高校的教务系统只是在局域网中运行,不能通过互联网来进行访问,这也就造成了教务系统有较强的限制性,便捷性大大降低。

(5)缺乏统一的信息交流规范,现在,高校间的教学交流越来越多,很多时候,需要不同教务系统间实现信息的同步与交流,而目前的教务系统缺少统一的标准,很多时候不能完成信息的共享,大大提高了校间交流的成本。

(6)教务管理中缺乏信息管理的指导和管理。管理信息化是一项全新的事物,发展迅速,严重依赖信息及数据库技术,缺乏对工作的指导和管理导致了财务、物质和人力资源的浪费。

1.3 本文所设计教务系统的基本功能

(1)实现学生信息的输入功能,其中学生的信息主要包括:姓名、性别、学号、生源地、专业。

(2)实现学生信息的查找功能,在链表中的暂存信息查找特定信息。

(3)实现学生信息的显示功能,将所有信息按格式输出。

(4)实现学生信息的修改功能,通过新信息覆盖修改特定信息。

(5)实现学生信息的删除功能,将特定信息删除。

(6)实现存盘功能,将链表中暂存的信息保存进文件中。

(7)实现读盘功能,将文件中信息输出。

1.4 本设计主要的实现方法

(1)运用Visual Studio软件进行代码的编写与编译。

(2)系统运用C语言完成。

(3)首先运用链表对信息进行暂存,此时可以进行修改、删除、查找等操作。

(4)将链表中暂存的信息存入文件以实现数据的长期保存。

第二章 C语言相关知识简介

2.1 C语言的发展与特点

C语言是一种高级的程序设计语言,其应用十分广泛,C语言是在B语言的基础上发展起来的,早期的软件设计主要采用的是汇编语言的方式,但是众所周知,汇编语言是一种底层语言,虽然更加接近于机器码,但对于编程人员来说,汇编语言和人类的思维相斥,而且,汇编语言也很难实现某些特定的功能。

此时,一种既有汇编语言的快速的编译速度同时又兼具高级语言特点的编程语言就显得尤为重要,1970年,UNIX操作系统的开发者Ken Thompson开发出了既简单又便于硬件操作的B语言,随后,贝尔实验室的D.M.Ritchie又在B语言的基础上开发出了C语言,1987年以后,C语言被移植到各种大型、微型计算机上[11],至此,C语言开始被广泛使用。

C语言的成功并非偶然。其强大的功能和可移植性使其易于在各种硬件平台上都游刃有余。通常,C语言具有以下特征:

C语言通常被称为中级语言,因为它既拥有汇编语言的直接性和灵活性又有高级语言的强大的逻辑思想,甚至其可以字节直接访问物理地址,直接对硬件进行操控这也就使它成为了集汇编语言优点和高级语言特点于一身的“中间语言”。

C语言是一种结构化的语言,其可以进行模块化的设计,由多个相对独立函数共同构成整个工程,每个函数间通过函数调用方式进行连接,这种方式可以使代码的逻辑更加清晰,同时,在对代码进行修改时,能够快速定位,并且不会影响到其它模块的正常运行,让整个工程更加简洁直观。

C语言具有极强的通用性和可移植性,C语言本身不不依赖于硬件系统,而是采用系统库函数来进行输入/输出操作[12],所以,当C工程移植到其他的操作系统或硬件系统上时,其依然能够正常工作。

2.2 链表

链表是数据结构中的概念。它使用编程的基本元素(如结构,指针和数组)以及动态内存管理来实现。它不仅可以在程序执行期间动态增长或调整数据项的数量,还可以动态地改变数据项之间的关系。

在C语言中,链表实现的基础是自引用结构[13],它包括两个方面:存储实际内容的数据部分和指向相同类型结构的指针部分。前者也称为数据字段,用于存储用户需要的数据。后者,也称为指针字段,用于指向另一个自引用结构并在不同数据对象之间建立关系。这就是它被称为“自引用结构”的原因。由于数据字段的数据类型和指针字段不同,因此链表中的节点由结构实现。最简单的链表是通过线性链接形成的,这里的每个自引用结构都只有一个指针,若干个自引用结构通过指针链接起来构成一个序列,如图2.1所示。

NULL

head

图2.1 单链表示意图

链表就像一个链条。自引用结构就像一个链节,因此链表中的自引用结构也是链表的“节点”。每个链表的长度不固定,所有节点都是通过动态内存分配获得的,因此可以随时添加和删除节点。但是每个链表都有一个指向列表第一个节点的头指针头[14]。当需要处理链表中的数据时,只需要使用头指针作为起始点,沿链表的指针字段,可以顺序访问链表中的所有节点,直到最后一个指针字段是一个NULL节点(尾节点),表示链表的结尾。使用链表的最大好处是实现在链表中插入和删除节点的过程非常方便。

单链表只能再次启动节点到终端节点,但终端节点不能返回到起始节点。如果要将数据序列从终端输出到起始节点,则单链表的操作非常麻烦。为了解决这个问题,构造了一个双链表。将指针字段添加到单链接表节点指向节点的前体。因此,从后续节点找到前任节点是方便的,从而实现从输出终端节点到起始节点的数据序列。结构示意图如图2.2

A1

head

A2

图2.2 双链表的示意图

2.3 动态内存的分配

计算机运行时,除了被系统和用户程序占用的内存外,在程序运行的过程中,还有一部分内存被用来进行动态分配,而这种内存占用被称为堆,堆的大小并不是固定的,其会根据程序的需要动态改变所占用内存的大小。

在程序调用动态内存分配的同时,其会在堆中为程序分配内存,若堆中的内存不足,此时系统就会在内存中选择空闲内存继续分配给需要内存的函数,以增加堆的容量,满足需要,堆的容量会继续增加,知道内存空间被全部分配完毕。

如下是两个动态内存分配函数原型:

void * calloc(unsigned i,unsigned size);

void * malloc(unsigned int num_bytes);

malloc函数有一个参数,就是总共要分配的内存的字节数。

calloc函数有两个参数,第一个参数是需要分配该类型数据的个数,第二个参数是此数据类型所需要占用的地址空间大小,其在分配完成后,这些数据会自动初始化为此类型数据的缺省值。

分配完成后,两个函数都返回一个void *类型的指针,这个指针所在的位置,就是刚分配的内存区域的首地址。

如果void出现在函数定义的参数中,那代表该函数没有参数。

如果void作为函数的返回类型,表示该函数没有返回值。

如果void和*共同作为函数返回类型,则表示该函数返回一个通用(generic)类型的指针。

动态内存分配函数可以要求对一直分配内存,直到堆将所有的空闲内存全部分配完为止,如果没有内存可以分配,则函数会得到NULL返回值,表示空,内存如果是通过动态分配的方式分配出的,变量使用完后,C语言将不负责回收内存,这些内存不能够再次使用,这样会造成许多的内存黑洞,因此,C语言提供了库函数free()来回收内存。

在需要的内存完成作用后,可以通过free函数释放特定的内存,其函数原型为:

void free (void * firstbyte);

free函数只有一个参数,即malloc或calloc函数所分配内存的首地址。

2.4 文件的读取与写入

文件可以存储程序或数据。在运行之前,计算机会将程序从硬盘转移到内存中。在处理数据之前,也必须将数据从硬盘文件转移到变量中。在将数据存储进硬盘文件中之前,数据也存储在变量中。文件是由文件名来识别的,并且可以通过指定文件名来读取或写入的数据。

C语言将文件视为若干字符顺序组成,即字符的数据序列。根据数据的组织形式,有两种类型:文本文件(也称为ASCII文件)和二进制文件。两者之间的区别在于数值数据的存储方式。

在二进制文件中,数值数据以二进制形式存储,把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。在文本文件中,每个数字占用一个字节的存储空间。

在C中,扩展名为.c的源文件由字符组成,扩展名由.obj目标文件和.exe可执行文件的二进制符号组成。实际上,txt文件也是一个文本文件。

C语言通过文件指针变量的操作实现对文件的特定访问。指向文件的指针不指向内存空间的一部分,而是指向描述有关文件的相关信息的文件信息结构,该文件在studio.h头文件中定义。当然,您不需要知道有关此结构的详细信息,只需知道如何使用文件指针即可。声明文件指针变量的一般形式是:

FILE *文件类型指针变量名;

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 50元 才能查看全部内容!立即支付

微信号:bysjorg

Copyright © 2010-2022 毕业论文网 站点地图