资源描述
. 毕 业 设 计论 文题目中文:基于C+语言的教务管理 系统的设计与实现 英文:EducationalAdministrationManagementSystem Design and Implementation Based onC+ language学院专业班级 学生 学 号 指导教师 学院负责人 (签章)完 成 日 期 2015年 5月师大学天华学院本科毕业设计论文诚信声明本人重声明:所呈交的毕业设计论文,题目“基于C+语言的教务管理系统的设计与实现“是本人在指导教师的指导下,进展研究工作所取得的成果。对本文的研究做出重要奉献的个人和集体,均已在文中以明确方式注明。除此之外,本设计论文不包含任何其他个人或集体已经发表或撰写过的作品成果。本人完全意识到本声明应承当的法律责任。作者(签名): 日期: 年 月日 毕业设计论文任务书2015 届题目中文:基于C+语言的教务管理 系统的设计与实现 英文:EducationalAdministrationManagementSystem Design and Implementation Based onC+ language 学院 工学院 专业班级 学生 学 号 指导教师 学院负责人 (签章)日 期: 2014年12月 5 日一、 毕业设计论文的主要容与具体要求任务及背景、工作环境、成果形式、着重培养的能力、有实验环节的要提出主要技术指标、要求一、毕业设计论文主要容及主要技术指标、要求1. 主要容本课题基于C+语言的教务管理系统的设计与实现。课题研究容如下:本课题是利用C+语言来实现学校学生信息的管理。研究目标是将本课题的成果应用于学校学生信息以及学年成绩的管理。课题的最终应该实现现代化、与校园网严密相连的教务管理系统,该系统应可以便捷、简单的对学生信息进展录入以及修改,对学生信息进展更加优化的管理。在程序上,运用了Microsoft Visual Studio 2005软件进展编写主要程序代码,设计实现了三个教务管理系统管理模块功能以及三个模块功能下的多个子功能模块,涉及了系统的管理人员、教师、学生三个全体的全部人员的使用。研究也是为了缩减学校资源,降低本钱,提高学校管理效率。2. 主要技术指标、要求1使用C+语言开发软件,利用所学相关知识,开发出一套适宜的教务管理系统,掌握运用C+语言编写调试应用系统程序,训练独立开发应用系统,进展信息处理的综合能力。2建立一个完善的教务管理系统。对不同的信息类型、程序控制构造、数据构造的特点,结合设计题目进展综合性的应用,对所学的知识到达融会贯穿的程度。二、毕业设计论文的根本要求1. 认真、独立完成不少于4000字或10000字符的“外文科技文献译文“,按照学校规定的译文要求和格式撰写。2. 认真、独立完成不少于10000字的毕业设计论文报告的写作,按照学校规定的论文要求和格式撰写。3. 毕业设计报告要求包含:1教务管理系统的实际应用与意义的介绍。2教务管理系统的设计思路。3教务管理系统的各个功能模块设计4系统实现呈现的结果。4. 及时与指导教师进展沟通,按方案完成毕业设计论文报告的写作和辩论工作。二、毕业设计论文进度安排起讫日期工作容备 注第七学期第13周第七学期第14-16周第七学期第17周第八学期第1-3周第八学期第4周第八学期第5-10周第八学期第11周承受“毕业设计论文任务书“。调研,完成英文资料翻译。完成毕业设计论文开题报告。按照毕业设计要求,开展研究,完成设计方案。毕业设计中期检查。整理、撰写毕业论文。辩论资格审查,辩论。三、所需的资料和主要参考文献1 皮德常.C+程序设计.M.:机械工厂,1983:1-7.2 John Viescas.Microsoft Access 2000中文版使用大全M.:清华大学,2001:70-95.3 蔡士杰,吴春镕,正兴.计算机图形学.M:电子工业,2012:38.4 王守中.信息时代高校招生宣传策略研究J.教育信息化,2005,11(3):2473.5 万晶.Access 2003数据库管理根底与提高 M.:清华大学,2009:75-132.6 Mike Morrison.数据库的WEB站点M.:清华大学,2002:40-70.7 梁爽.NET框架程序设计M.:清华大学,2010:42-44.8 尚俊杰.ASP.NET程序设计M.:北方交通大学,2004:67-69.9徐孝凯.C+语言程序设计M.:清华大学,2001:41-43.10 卫宏,培.Visual C+ 编程根底M.:科学,2003:34-37.注:1. 本任务书一式两份,须双面打印。由指导教师填写并经所在系审核确认后交系部;2. 本任务书一份须与学生的毕业设计论文一并存档,另一份系部存档3. 指导教师、学生可各执一份复印件,供检查论文进度时使用。师大学天华学院2015届毕业设计论文开题报告设计论文题目基于C+语言的教务管理系统的设计与实现学生学 号专业、班级学院工学院指导教师建议从以下方面填写:1. 简述课题的作用和意义2. 国外的现状和开展趋势等情况(文献综述),尚待解决的问题;3. 重点介绍完成任务的可能思路、方案和方案;4. (工科类专业需填写)所需的主要仪器和设备等。1、课题的作用和意义对于学校而言,一个好的教务管理系统最主要的还是管理好学生的根本信息以及学年成绩,如果用一般的方法来管理会让这件事变得繁琐,管理起来也很容易出错。为了方便教务人员的管理工作,提高工作效率,同时也为了更好的为教师、学生提供效劳,有必要的去开发教务管理系统是毋庸置疑的,这能使学校的管理走向信息化以及人性化的道路。任何的组织以及高校需要生存需要开展就必须要高效率的把部活动有机的结合起来,就一定要建立起一个与自身特点相适应相结合的管理操作系统,教务管理系统就是在这个根底上把所有的管理结合在一个平台,在现今多种多样的教务管理系统中,最为常见的就是学生的根本信息管理和学生课程成绩管理。这是我国现今大多数学校对学生管理的需要而开发设计的,随着学校的开展网络时代的进步,这种各自独立的系统已经不能在满足学校管理的需要。教务管理系统是一个教育单位不可缺少的局部,它的容对于学校的决策者和管理者来说都至关重要,所以教务管理系统应该能为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理学生成绩,这种管理方式存在着许多缺点,效率低、性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。这就迫切的需要设计出一套简单有效的教务管理系统系统。2、国外现状和开展趋势,尚待解决的问题随着科学技术的迅猛开展以及管理水平的不断提高,计算机已经被广泛的应用于日常管理之中,它的运行极大改良了传统的管理模式,使管理日趋程序化、规化、现代化。在我国,随着全国高校的普遍扩招,在校大学生人数急剧增加,计算机在高校的大量使用以及校园网的不断建立,高校教务管理系统的信息化建立也就顺理成章的提到日程上来,实用、科学的高校教务管理系统能为学校实施高效的教务管理,提供及时、准确和可靠的信息。如何设计出一套查找方便、可靠性高、存储量大、寿命长、本钱低的教务管理系统有待我们去开发。而目前的此类系统或多或少的存在以下的问题: 1、不清楚设计这个程序的目的或没有根据自己高校的目的详细筹划教务管理系统功能,只适应一时之需;结果程序的设计以及系统的和功能未能真正提供方便; 2、缺少一个针对有效管理学生根本信息以及学科成绩工作的基于C+语言技术的管理系统,所以很多的管理系统远远达不到标准,没能很好地发挥管理系统应有的效果;通过对学生信息管理工作的初步了解,从系统构造的组织,功能的实现,技术的要求以及可行性等多方面进展考虑,认为本课题是一个适应现今高校学生信息管理工作需求的教务管理系统,具有一定的实际开发价值和使用价值。3、重点介绍完成任务的可能思路、方案和方案 在设计方面,经过对高校的调查研究,本论文设计的教务管理系统希望设计出三个大的模块,分别为管理人员模块、教师模块、学生模块。最终有以下定义:设计教务管理系统教务人员模块;设计教务管理系统教师查询模块;设计教务管理系统学生查询模块;研究思路及方案:在查阅,调研的根底上,进展总体理论分析与设计。整体方案设计画出系统整体设计框图程序设计按照系统功能图编写相关程序采用Microsoft Visual studio 2005软件对系统进展测试4、所需的主要仪器和设备等Microsoft Visual Studio 2005软件、计算机一台。5、所需的资料和主要参考文献1皮德常.C+程序设计.M.:机械工厂,2015:1-7.2JohnViescas.Running Microsoft Access two thousandM.Washington:MicrosoftPress,2012:100-134.3 蔡士杰,吴春镕,正兴.计算机图形学M.:电子工业,2012:38.4 王守中.信息时代高校招生宣传策略研究J.教育信息化,2011,11(3):2473.5 万晶.Access 2003数据库管理根底与提高M.:清华大学,2011:75-132.6 闪四清.SQL Sever 2000系统管理指南M.:清华大学,2011:78-79.7 梁爽.NET框架程序设计M.:清华大学,2010:42-44.8 尚俊杰.ASP.NET程序设计M.:北方交通大学,2011:67-69.9 贾艳萍.高职院校人力资源管理系统的设计与实现D.:大学,2013:7.10 卫宏,培.Visual C+ 编程根底M.:科学,2010:34-37.学生签名日期: 年 月 日指导教师评语:建议填写容:对学生提出的方案给出评语,明确是否同意开题,提出学生完成上述任务的建议、考前须知等 指导教师 _签名日期: 年 月 日注:1. 本开题报告,须双面打印。由学生填写并经指导教师审核、评价。2. 本开题报告一式两份,一份须与学生的毕业设计论文一并存档,一份作系部存档用。. .目录摘 要IABSTRACTII1 绪论11.1 课题的背景11.2 课题的意义11.3 论文的主要任务22 开发软件的简介32.1 Visual Studio简介32.2 C+介绍42.3 C+开展历史53 系统分析与设计63.1 系统设计思路63.2 系统功能设计73.2.1 学生资料管理模块设计83.3.2 学生成绩统计管理设计83.3.3 学生查询模块设计94 系统功能的实现104.1 登录界面的设计104.2 系统功能模块124.3 学生资料管理124.3.1 录入学生资料功能144.3.2 删除资料功能154.3.3 添加学生资料功能164.3.4 修改学生资料功能174.3.5 读取学生资料功能184.4 学生成绩统计管理194.4.1 按总分排名194.4.2 按单科成绩排名204.4.3 查看最高以及最低总分214.4.4 按平均分排名224.4.5 及格率234.5 学生查询管理234.5.1 按*查询244.5.2 按查询254.5.3 按班级查询254.6 关于系统模块265 总结27参考文献28致29附录30. .摘 要随着现代计算机网络技术与校园信息化的联系越来越严密,信息技术在学生信息的管理上已经逐步成熟学生信息以及学生成绩的管理是一项繁琐而复杂的工作,并且拥有着巨大的工作量,每一所学校都必须建立一套与学校自身校园网特点严密结合的教务管理系统,方能更好的提高管理力度。本文系统而且全面的讲解了教务管理系统的开发过程,文章开头先对教务管理系统的背景以及意义进展了研究,得出现在校园信息管理的一些弊端,随后通过对系统的分析以及设计编写出教务管理系统。本次开发的系统在提升工作效率、学生成绩的登记以及管理方面都有很多的优势且系统是在Visual C+ 5.0环境下设计完成的。该系统对学校学生信息的进展了需求分析,通过学生资料管理、学生成绩的各种统计、学生的登录查询三个大的模块实现对学校学生的信息进展管理,到达方便快捷的管理学生信息,优化校园管理资源的目的。关键词:教务管理系统,信息,查询. .AbstractWith the modern puter network technology is more and more connect to the campus informatization, information technology in the student information management information has gradually mature students and student performance management is a cumbersome and plicated work, and had a huge workload, each school must establish a set of closely integrated with the characteristics of school campus network itself educational administration management system, in order to better improve the strength of management. This article system and prehensive interpretation of the educational administration management system management system development process, the article starts by the background and significance of the educational administration system are studied, now some of the problems of the campus information management, then through the analysis of the system design and write the educational administration system. The development of the system in raising the work efficiency, on the registration and management of student achievement has many advantages and the system is designed in Visual c + + 5.0 environment. The system of school students information has carried on the demand analysis, through the student information management, student achievement of various statistics, student login query three big modules realize the school student information management, to achieve the fast and convenient information management students, the purpose of optimizing campus management resources. Keywords:Educational management system,information, inquire. .1 绪论C+语言的根底上扩大而成,以其独特的机制在计算机领域有着广泛的应用。C+语言吸收 C和Simula 67(一个古老的计算机语言)语言的精华,它具有C语言所无法比较的优越性。C+语言在维持C语言原来特长如效率高和程序灵活的根底上,借鉴了Simula67语言的面向对象的思想,将这两种程序设计语言的优点相结合。C+语言的程序构造清晰、易于扩展、易于维护,同时又不失效率。目前,C+语言已超出了当初设计它的目的,成功地应用在数据库系统、数据通信系统等领域,并成功地构造了许多高性能的系统软件。1.1 课题的背景随着计算机网络技术的开展,给信息时代的人们带来了很大的方便。如今在Internet上,你随处都可以看到很多的各类信息管理系统,如企业信息管理系统,电子商务系统,等各类信息管理系统的普及。每年伴随着大量大学生进入校园,管理好学生的根本信息以及学年成绩信息是无可厚非的事情,目前如果还是由人为来处理操作,则花费的人力将是巨大的,这会给整个工作带来了很多不便,而且容易出错。因此就需要一个对学生信息进展管理的教务系统,使得此过程更加方便,更加透明,更加高效,以节省更多的人力和不必要的工作。如今很多学校都利用C+来管理教务系统,C+语言进展教务管理工作,不仅能够保证学校学生信息管理准确无误、更方便查找、删除,而且还可以利用程序对有关学生成绩的各种信息进展统计。通过对学生信息管理工作的初步了解,从系统构造的组织,功能的实现,技术的要求以及可行性等多方面进展考虑,认为本课题是一个适应现今学生资料管理工作需求的教务管理系统,具有一定的实际开发价值和使用价值。1.2课题的意义任何的组织需要生存需要开展就必须要高效率的把部活动有机的结合起来,就一定要建立起一个与自身特点相适应相结合的管理操作系统,教务管理系统就是在这个根底上把所有的管理结合在一个平台,在现今多种多样的教务管理系统中,最为常见的就是学生的根本信息管理和学生课程成绩管理。这是我国现今大多数学校对学生管理的需要而开发设计的,随着学校的开展网络时代的进步,这种各自独立的系统已经不能在满足学校管理的需要。教务管理系统是一个教育单位不可缺少的局部,它的容对于学校的决策者和管理者来说都至关重要,所以教务管理系统应该能为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理学生成绩,这种管理方式存在着许多缺点,效率低、性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。这就迫切的需要设计出一套简单有效的教务管理系统系统。1.3 论文的主要任务针对本次论文“基于C+语言的教务管理系统的设计与实现“,论文章节安排为:第一章初步介绍一下课题的背景、主要研究方向。第二章 简单的对教务管理系统的开发软件进展简单的认识和介绍。第三章主要介绍教务管理系统的分析以及设计管理流程。第四章是本次论文的重点,仔细分析介绍每一个主模块以及分模块的功能。第五章为全文总结。最后则是参考文献、致和附录。2开发软件的简介2.1 Visual Studio简介Visual Studio 它是微软公司推出的一个全新的开发环境。是如今Windos平台上最流行的程序开发环境之一。目前,该开发软件已经有9.0个版本,最新版本的visual Studio为Visual Studio 2008。Visual Studio 可以在Windows平台下创立应用程序以及网络应用程序,还可以用来设计智能设备的应用程序、网络效劳和office的插件1。 1998 年,微软公司最后一次发布Visual Basic,从这个版本以后微软公司的 Visual Studio 中不再包括面向 Java 虚拟机的开发环境。 2002 年,随着 .NET 口号的提出与Windows *P / Office *P 的发布,微软公司发布了全新的 Visual Studio .NET。在这个版本的 Visual Studio 中,微软限制了 Visual Fo*Pro 可以当作一个单独的开发环境以及取消了 Visual Fo*Pro 7.0 单独销售,同时取消的还有 Visual InterDev。与此同时,微软引入了建立在 .NET 框架上版本1.0的托管代码机制以及一门新的语言 C# 读作 C Sharp,意为 C+。C# 是一门建立在 C+ 和 Java 根底上的现代语言,是编写 .NET 框架的语言2。 .NET 的通用语言框架机制mon Language Runtime, CLR,其意义在于同一个开发工程中可以支持不同的语言的组件。所有 CLR 支持的代码都会先被被解释成为 CLR 的可执行的机器代码然后才会运行。 Visual Basic、Visual C+ 在新的版本中都扩展成为可以支持托管代码机制的开发环境,而且 Visual Basic .NET更是彻底的支持面向对象的编程机制,而 Visual J+ 也变成了 Visual J#。后者仅仅只是语法跟 Java 的一样,面向的对象已经不是 Java 虚拟机,而变成了面向 .NET Framework 3。 2003 年,微软公司对 Visual Studio 2002 进展了一小局部的修改,以 Visual Studio 2003 的名义发布上市。Visio 作为使用统模语言UML架构应用的程序被引入,同时被引入的还包括了移动设备的支持以及企业模版。.NET 框架也被升级到了最新的 1.1版本。 2005 年,微软发布了 Visual Studio 2005。.NET 这字眼在各种语言的名字中都被删除了。虽然如此,这个版本的 Visual Studio 依旧还是面向 .NET 框架的版本2.0。它同时也能开发跨越平台的应用程序。总的来说是这是一个非常庞大的软件,它甚至还包含了代码的测试功能。 这个版本的 Visual Studio 拥有众多的版本,分别面向了不同的开发角色。同时还永久提供免费的 Visual Studio E*press 版本4。 随着即将发布的 Windows Vista 部名称:Longhorn) 和 Office 2007,Visual Studio 9 也渐渐浮出水面。Visual Studio 9 开发环境可以支持建立于 DHTML 根底上的 AJa* 技术,这种在 Visual InterDev 时代提出的基于异步的客户端动态网页技术在当年并没有如微软预料的那样流行起来,反而随着 GMail 等应用的崛起,它渐渐成为主流网络应用之一。同时 Visual Studio 9 会强化对于数据库的支持以及微软新的基于工作流Workflow的编程模型。还保持了与 Office 系列的统一,Visual Studio 9 的名称为 Visual Studio 2008。微软公司还创立出了满足关键性要求的多层次的智能客户端、Web、移动或基于Microsoft Office的应用程序5。2.2C+介绍计算机诞生初期,人们要使用计算机必须用机器语言或汇编语言编写程序。开发于1954年的FORTRAN语言是世界上第一种计算机高级语言。之后陆陆续续也出现了许多的计算机高级语言,其中使用最多、最广泛、影响最大的当推BASIC语言和C语言。BASIC语言是1964年由 Dartmouth 学院 John G. Kemeny 与 Thomas E. Kurtz 两位教授在FORTRAN语言的根底上简化而成的,适用于初学者设计的小型高级语言;C语言是1972年由美国贝尔实验室的D.M.Ritchie所开发,采用构造化编程方法,遵从自顶向下的原则。在操作系统和系统使用程序以及需要对硬件进展操作的场合,用C语言明显优于其它高级语言,但在编写大型程序时,C语言仍面临着挑战。1983年,贝尔实验室的Bjarne Stroustrup在C语言根底上推出了C+,+进一步扩大和完善了C语言,是一种面向对象的程序设计语言6。2.3 C+开展历史在“C with Class阶段,研制者在C语言的根底上加进去的特征主要有:类及派生类、共有和私有成员的区分、类的构造函数和析构函数、友元、联函数、赋值运算符的重载等。1985年公布的的C+语言1.0版的容中又添加了一些重要特征:虚函数的概念、函数和运算符的重载、引用、常量constant等。1989年推出的2.0版形成了更加完善的支持面向对象程序设计的C+语言,新增加的容包括:类的保护成员、多重继承、对象的初始化与赋值的递归机制、抽象类、静态成员函数、const成员函数等7。1993年的C+语言3.0版本是C+语言的进一步完善,其中最重要的新特征是模板template,此外解决了多重继承产生的二义性问题和相应的构造函数与析构函数的处理等8。1998年C+标准ISO/IEC14882 Standard for the C+ Programming Language得到了国际标准化组织ISO和美国标准化协会ANSI的批准,标准C+语言及其标准库更表达了C+语言设计的初衷。名字空间的概念、标准模板库STL中增加的标准容器类、通用算法类和字符串类型等使得C+语言更为实用。此后C+是具有国际标准的编程语言,该标准通常简称ANSI C+或ISO C+ 98标准,以后每5年视实际需要更新一次标准9。后来又在2003年通过了C+标准第二版ISO/IEC 14882:2003:这个新版本是一次技术性修订,对第一版进展了整理修订错误、减少多义性等,但没有改变语言特性。这个版本常被称为C+03。 此后, C+ 0*标准草案的最终国际投票已于2011年8月10日完毕,并且所有国家都投出了赞成票,C+0*已经毫无疑义地成为正式国际标准。C+0*的新标准正式定名为ISO/IEC14882:2011,简称ISO C+ 11标准。C+ 11标准将取代现行的C+标准C+98和C+03。国际标准化组织于2011年9月1日出版发布“ISO/IEC 14882:2011“,名称是:Information technology - Programming languages - C+ Edition: 310。3系统分析与设计系统分析和设计是信息系统开发的一个重要环节。本章将主要对一个基于C+语言的教务管理系统的功能需求、总体框架、以及系统开发原理等做系统的分析研究,并介绍系统所拥有的特点。3.1 系统设计思路1在系统编写之初我们要先编入教务管理系统需要的库函数,这才能让程序得以运行。#include #include 该函数为输入输出文件。#include #include 该函数为输出格式控制2Main()函数的设计,这里需要用到dowhile语句来做系统运行的循环,用switch判断语句来调用相关功能模块。3主程序设计在该教务管理系统中这么设计程序,一是因为能让户对程序操作的流程更加清晰简明,二是保证了用户同时只能对一个文件进展操作系统的要求,保证了系统不会翻开文件紊乱或者出现致命的错误。每个函数如下所示。Void main (),主函数; Void aver (Student *r),平均分信息;Void jgl (Student *r),及格率信息; Void SR (Student *r),录入学生信息;Void SC (Student *r),删除学生信息; Void TJ (Student *r),添加学生资料;Void *G (Student *r),修改学生资料; Void read (Student *r),读取学生资料; Void zf (Student *r),按总分及单科分数排序;Void ma*/min_student (Student *r),按最高/最低分排序;3.2系统功能设计本教务系统该教务管理系统的设计和实现包括三大模块,分为学生资料管理模块、学生成绩统计管理模块、学生查询管理模块。学生资料管理系统中有五个子功能模块,分别为学生资料的录入、删除、添加、修改、读取,学生成绩统计管理模块中同样分有五个子功能模块,分别为按学生总分、单科成绩、最高最低分、平均分排名,已经各科成绩的合格率。在学生查询管理模块中,设计了三个子功能模块供学生查询,分为按*、按、按班级查询。系统功能如图3.1所示。图3.1系统功能模块主要的功能模块在图3.1中已经给出,其中:1管理员可以在学生资料管理模块对学生的信息进展录入、删除、添加、修改、读取。录入功能包括从键盘手打录入和文件夹直接录入,删除功能能直接删除掉学生的所有信息,当有新学生的到来或者需要更新科目成绩时我们就会用到添加功能,读取功能方便管理员浏览教务管理系统中录入的所有学生资料,当资料有错误时需要通过修改功能进展修改。2各个科任教师以及辅导员可以通过学生统计管理模块了解学生的总分排名情况各科分数情况、班级平均分以及各科及格率。3学生可以通过教务系统的学生查询模块,用自己的*、查询到自己的根本信息以及各科考试成绩,同时也可以使用班级查询功能查看本班级各个同学的科目成绩。3.2.1 学生资料管理模块设计学生资料管理模块是给管理员以及科任教师登录使用的一个模块,辅导员以及科任教师在学校管理模块中录入学生的根本信息和学生学年的各科成绩,管理员在教师录入信息后进展读取查看学生信息,发现有错误的信息时将进展修改或修改的操作,最后把修改好的信息再一次的保存入教务管理系统。流程如图3.2所示。图3.2学生资料管理功能模块 学生成绩统计管理设计学生成绩统计管理模块是能查看到学生的各科成绩、单科最高最低分、各系学生的总分排名情况、学生的平均分、及格率等等学分信息的地方,该模块能让科任教师以及辅导员简单快捷的了解到各个学生的学年成绩,方便了解学生的根本学习状况,示意图如图3.3所示。图3.3学生成绩统计功能模块3.3.3 学生查询模块设计该模块的主要功能是为学生在教务管理系统中查询成绩提供平台,学生登录教务管理系统后,只需要在学生查询模块下输入自己的或者*就可以查询到自己的学年成绩。同时,学生还可以通过输入班级号来浏览整一个班级的所有同学的各科成绩,学生查询示意图如图3.4所示。图3.4学生查询模块4 系统功能的实现教务管理系统系统采用C+语言进展编写,利用Visual Studio 2005进展测试与运行。4.1 登录界面的设计一个教务系统的登录界面应该简化、明确,给人一种直观的表现。可以让进入该系统的用户在第一时间识别出这个系统是做什么的,这也是系统和用户进展交互的关键,同时也在一定程度上影响着用户对系统的评价。一个学校的教务系统更应该在登录界面就凸显出该学校的名字让用户认识到这个系统。登录首页如图4.1所示。图4.1 系统首页图实现过程:在int main( )主函数下当while(choose!=0)时简单的输出通过cout对象实现,简单的输入又cin对像进展实现。用户和教务系统管理员在登录界面进展选择时都是由switch(choose)语句进展选择。同时用case1-4对象进展语句的选择,当输入1时进入子函数Fire也就是学生资料管理界面,当输入2时进入子函数statistics()也就是学生成绩统计管理界面,以此类推。本教务系统程序的所有界面设计都基于该主登录界面设计而来,因此不多做复述。该程序容较多,主要的代码如下所示。int main()while(choose!=0) couttt*endl;couttt* 操作菜单 *endl;couttt* *endl; couttt* 1.学生资料管理 *endl;couttt* 2.学生成绩统计管理 *endl; couttt* 3.学生查询管理 *endl;couttt* 4.关于系统 *endl;couttt* 0.退出系统 *endl;couttt* *endl; couttt* 按Enter继续 *endl;couttt* *endl; couttt*end couttt*endl; couttt 请输入0-4之间的任意一数字:choose;switch(choose)case 1: Fire();break;case 2: statistics();break;case 3: inquiry();break;case 4: about();break;case 0: thanks();e*it(0);break;default:coutttt 输入错误,返回endl;break;return 0;4.2系统功能模块该“教务管理系统“程序是一个具有对学生的信息进展录入、添加、删除、根据*进展学生信息的查询、显示已有学生信息的显示、对学生成绩进展统计包括总分、最高分、最低分、各科排名、平均成绩排名和及格率,可以对已有的学生信息进展修改,保存和读取输入的数据等功能。该教务管理系统分为以下几个功能模块:学生资料管理模块、学生成绩统计管理模块、学生查询管理模块、关于系统模块,下面我们将分别介绍该教务系统的功能模块。4.3学生资料管理在主函数的显示登录程序的主界面,可以通过输入1进入学生资料管理界面,该功能一般由教务系统管理人员以及各个科任教师进入。学生资料管理界面如图4.2所示。进入该界面后用户可以通过选择0-5数字来选择各个不同的功能以便进入下一个操作步骤。图4.2学生资料管理界面实现过程:在void Fire()这个主函数下当while(choose!=0)时简单的输出通过cout对象实现,简单的输入又cin对像进展实现。用户在登录界面进展选择时都是由switch(choose)语句进展多分支选择。同时用case1-5对象进展语句的选择,当输入1时进入子函数SR录入学生资料界面,当输入2时进入子函数statistics()删除学生资料界面以此类推,分别进入的子函数为SR、SC、TJ、*G、read。主要代码如下所示。void Fire()while(choose!=0) coutttt*endl; coutttt*endl; coutttt* 学生资料管理 *endl; coutttt* *endl; coutttt* 1.录入学生资料 *endl; coutttt* 2.删除学生资料 *endl; coutttt* 3.添加学生资料 *endl; coutttt* 4.修改学生资料 *endl; coutttt* 5.读取学生资料 *endl; coutttt* 0.返回 *endl; coutttt* *endl; coutttt* 按Enter继续 *endl; coutttt*endl; coutttt*endl; couttt 请输入0-5之间的任意一数字:choose; switch(choose) 4.3.1录入学生资料功能该功能可以方便各个科任教师或者教务系统管理人员输入学生*、名字、性别、班级等根本信息以及各科成绩。为了方便测试教务系统录入的正确性,本设计在这里录入了两个班一共三个同学的根本情况以及各科的成绩。录入情况如图4.3所示。图4.3学生资料录入实现过程:在void SR()子函数下首先用cout语句判定需要输入的学生数量,然后用cinn;for(int a=0;an;a+)语句判断显示多少次输出数量,使用cout语句输入学生的*、性别、班级、各科成绩等。如:cout学生的*:studi.num 最后用switch(press)语句判断是否把输入的学生资料保存。主要代码如下所示。void SR() coutn;for(int a=0;an;a+)cout请输入第a+1个学生资料:endl;cout*:studa.num;cout:studa.name;cout性别:studa.se*;cout班级:studa.bj;cout高数成绩:studa.Math;cout大学英语成绩:studa.English;cout电信传输技术:studa.Cjj;cout输入成功,学生资料是否保存“(y/n)press;4.3.2删除资料功能该功能可以让教务系统管理员或者科任教师在输入学生资料错误或者其他原因想要删除学生资料时使用。删除效果如图4.4所示。图4.4学生资料删除实现过程:进入子函数void SC()后输入需要删除的学生的名字,然后运用代码whilestudi.name!=SC_name &in) i+;查找输入的学生名字,然后进展判断,名字正确则删除。主要代码如下所示。void SC() dostring SC_name;cout请输入你要删除的学生名字:SC_name;while(studi.name!=SC_name&in) i+; if(studi.name=SC_name) for(int j=i;jn-1;j+)4.3.3添加学生资料功能当该教务系统需要添加新的学生时我们就需要用到添加学生资料功能,该功能可以让管理员和科任在教师在任何情况下添加新的学生资料。添加功能测试如图4.5所示。图4.5添加新的学生资料由图4.5可以看出新的学生成绩信息在输入完成后会被成功的添加到教务系统中。实现过程:进入子函数void TJ ()后输入新学生的所有信息,用press语句判断是否继续操作,运用switchpress语句进展判断学生的资料是否保存,主要的代码如下所示。docout请添加新的学生信息endl;studn.sum=studn.Math+studn.English+studn.Cjj;studn.average=(studn.Math+studn.English+studn.Cjj)/3;n+; cout(是否继续操作?(y/n)press;while(press=y|press=Y);cout添加成功,学生资料是否保存“(y/n)press;switch(press)case y : save();break;default: cout不保存!;break;4.3.4 修改学生资料功能该功能允许管理人员能够在了解学生根本信息或者成绩信息有错误的情况下修改学生信息,修改时只需要输入想要修改学生的名字,系统就将自动寻找到该学生的所有信息,同时将允许管理员修改该学生的所有信息,修改成功后新的学生信息将自动替换旧的学生信息如图4.6所示。图4.6学生资料修改 实现过程:进入子函数void *G ()后输入需要修改学生资料的学生名字,程序先显示该学生原保存信息,使用简单的cout语句进展新资料的录入,最后用press语句判断是否继续操作,switchpress语句进展判断学生的资料是否保存,主要的代码如下所示。void *G() begin:string find_name;int i;cout请输入你要修改的学生名字:find_name;for(i=0;in;i+)if(studi.name=find_name)coutstudi.name has been found:endl; 4.3.5读取学生资料功能该功能可以让管理员查看到所有保存在该教务系统中的学生的各种信息以便管理人员即使的了解、更改教务系统的学生资料库。到达随时了解一个学生的学习近况,随时更新学生信息的功能。资料读取如图4.7所示。图4.7 读取学生资料实现过程:进入子函数void read ()运用ifstreaminfile(filename,ios:in|ios:out);语句定义输入文件流对象,以输出方式翻开用户自定义的磁盘文件,我们这里自定义的文件夹是“zzz“文件夹,使用infile语句从自定义的磁盘中读取学生的信息,最后使用代码while(!infile.eof();判断是否为文件尾资料读取完全,主要的代码如下所示。ifstream infile(filename,ios:in|ios:out); if(!infile)cerropen error!studi.numstudi.namestudi.se*studi.bj; i
展开阅读全文