当前所在位置: 首页 > 自考论文

学生成绩管理系统论文

2024-01-19 16:45:19 本站作者 【 字体:

学生成绩管理系统论文(图1)

1、学生信息管理系统的需求分析

哈哈,我毕业的毕业论文嘛。你看看下面这些,我做的是招生管理系统,可以供你参考一下。

系统需求分析

4.1系统设计总体目标

(1)本系统具有很强的可靠行,可以对录入的考生信息进行效验,对数据进行修改、删除,规定招生工作人员的权限。

(2)本系统中的模块具有很强的可续性,可以方便招生工作人员的修改与维护。

(3)本系统操作方便、灵活、简单。操作人员只需录入考生的基本信息和招生数据。

(4)本系统可高效、快速的查询到考生的基本信息和招生计划,便于招生工作的开展。

4.2系统设计的需求概况功能分析

本系统主要实现对考生的基本信息管理、招生计划管理和已招生信息管理功能。

1、 考生基本信息管理:招生就业办公室管理考生的基本信息并同时提供考生的基本信息

(1)考生的基本信息包括:考号、姓名、性别、户口所在地、政治面貌、籍贯、年龄、出生年月、高考成绩、填报志愿等。

(2)需求实现的功能:考生基本信息维护、录取考生、统计考生信息

2、招生计划管理:根据学院各系在各省份的招生情况制定

(1)招生计划包括:院系、省份、招生名额

(2)需求实现功能:招生计划维护、招生计划查询、统计。

3、已招生信息管理:

(1)已招生信息包括:已录取考生志愿、分数、各省已招生名额、剩余名额。

(2)需求实现的功能:各省招生信息的统计、各院系招生信息的统计、汇总。

4、其他需求:为体现数据库相关概念,在系统实现中要尽量创建数据库、创建表、维护表、事务模型、视图以及安全管理的等功能。

4.3 性能需求

(1)安全性

在高系统配置、高网络带宽和容易得到保证的情况下,我们最需要考虑的性能需求就是系统安全性问题。在开发系统的每个阶段,均需要考虑彼此间的认证与授权。尤其要注意认证,简单地说就是确定谁是特定用户,并针对安全源验证该用户的身份。在处理完识别用户的方法之后,必须利用一种方法以向用户授权,从而能够使用系统的特定功能。

2、学生成绩管理系统选题的背景和意义,课题研究的主要内容.主要研究(设计)方法论述,求这3个怎么写?

90年代以来,西方发达国家大部分高校均成功地完成了数字化校园建设工作。目前我国的信息数字化工作也进入一个全新发展时期,特别是高校的信息化建设已进入了全面的发展阶段,诸多高校充分地认识到,信息化建设己经成为了高校提高自身管理水平、提升综合竞争实力的重要手段。在高校,各种信息管理系统层出不穷。Web数据库技术已经成为应用最为广泛的网站架构基础技术在应用系统中,Web提供了与客户进行通信联络的有效手段。而构建浙江水利水电专科学校学生管理信息系统也成了我校重要的议题。

学生成绩管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发。对于前者要求建立起数据一致性和完整性强、安全性高的数据库;对于后者则要求应用程序具有功能完备、易使用、易维护等特点。本文着重阐述了学生学籍管理系统的整体开发过程。介绍了系统的开发环境以及开发工具,对于设计思想和设计流程也做出了全面的叙述,在数据库创建思想以及各个数据表之间的具体关联等方面也做出了详细说明,并且具体剖析了系统各个功能的实现过程以及详细设计过程,在绘制简单系统功能模块图的同时,力求更加清晰地表明设计思想以及对整个程序设计的规划及具体实现。在进行了广泛需求调查的基础上,作者通过可行性分析,专门设计了一套基于/S结构的学生管理系统。该系统能够很好的满足学校教学、管理方面的要求。论文最后总结了系统的不足,给出了未来努力的方向。

3、求VB学生成绩管理系统毕业论文

上次提了一遍,被百度管理员给删了,气死了,怎么能这样,难道里面不能写邮箱QQ什么的吗?先说正题吧

我的这个毕业设计已经做好了,只是不会写论文和开题报告,哪位大侠能帮帮忙,先在此谢过~~~

最多好像也只能给250分,虽然这点分不算什么,但希望哪位能帮下忙,真的很急...谢谢,非常感谢

4、高分求一篇基于java的学生信息管理系统的开题报告?

粘的有点乱,凑合看吧。

毕业论文(设计)开题报告 论文题目 学生管理系统设计与实现

学生姓名 学 号 专 业 指导教师 职 称 学 历 开题报告文献综述)内容: 一、开发背景 学校学生信息管理是学校教务管理中的一个极为重要的环节,它是整个学校管理的核心和基础。现在我国的大中小学校档案的管理水平还停留在纸介质的基础上,这样的机智已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被以计算机为基础的信息管理所取代。信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能却有了长足的进步。它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率;第四,计算机可以使敏感文档更加安全,等等。为了适应现代社会人们高度强烈的时间观念,学籍管理系统软件将会为教学办公室带来极大的方便。随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。 二、选题的意义 通过学生管理系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。 三.系统研究内容 此学生信息管理系统需要完成的功能主要有: ● 有关学籍信息的输入,包括学生基本信息、所在班级、所学课程和成绩等. ● 学生信息的查询,包括学生基本信息、所在班级、已学课程和成绩等. ● 学生信息的修改. ● 班级管理信息的输入,包括班级设置、年级信息等. ● 班级管理信息的查询. ● 班级管理信息的修改 ● 学校基本课程信息的输入. ● 学校课程信息的修改.

● 学校课程的设置和修改. ● 学生成绩的输入. ● 学生成绩信息的修改 ● 学生信息的查询. ● 学生信息的统计. 四、毕业设计思路框架 (一)设计方法 1.查询相关资料,了解本系统的研究意义。可以上网搜索或者是去图书馆查阅相关资料。 2.通过查询资料了解该系统要如何做,及要做哪些东西。 3.设计出大体上的功能模块,画出模块图。 4.通过进一步的了解,对每个功能模块进行细化,将每一步都想清楚。制定出每一步的做法和注意的地方。 5.对设计好的程序进行调试,通过调试发现存在的问题并解决,从而达到完善系统的目的。 6.最后,整理各阶段的设计记录文档,写成论文稿。 开发工具开发工具开发工具开发工具 选用设计语言 目前的可用的设计技术在设计此类系统上的数据库技术已经非常成熟,可提供的开发工具也很多,例如:Visual C++ ,Visual Basic,PowerBuilder,Dephi, visual foxpro等,它们都是很好的数据库开发工具,都是可视化开发工具,功能强大,开发容易,开发周期短,对于本任务都能够胜任。 Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C++编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。

总的来说,Visual Basic具有以下特点: 可视化编程: 用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。 面向对象的程序设计 4.0版以后的Visual Basic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C++)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。 结构化程序设计语言 Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。 Visual Basic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计Visual Basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic环境,直接在Windows环境下运行。 5.2选用ACCESS作为后台数据库 ACCESS2000 就是关系数据库管理工具,数据库能汇集各种信息以供查询、存储和检索。ACCESS 的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于 Excel的电子表格,可以使数据库一目了然。另外,ACCESS允许创建自定义

报表用于打印或输出数据库中的信息。ACCESS也提供了数据存储库,可以使用桌面数据库文件把数据文件置于网络文件服务器,与其他网络用户共享数据库。ACCESS 是一种关系数据库管理工具,关系数据库是已开发的最通用的数据库之一。如上所述,ACCESS 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。 (三)设计要求 \ue000 数据库相关理论。汽车租赁管理是一个典型的数据库管理信息系统,系统的开发用到许多数据库相关的理论,因此要求作者具有这方面的基础知识,能够正确运用数据库理论进行系统的分析、逻辑设计、实体属性以及ER图等的转换,明白范式的相关内容,从而能够根据系统实际要求,设计出满足要求的合理的数据库。 \ue000 面向对象理论。当前流行的编程思想是面向对象思想,而且许多工具,如Visual Basic,体现的也正是这种思想。面向对象思想与传统的面向过程编程思想相比,具有明显的优势,而且汽车租赁系统的设计也要求用面向对象编程工具来实现。这就要求作者在进行毕业设计时,应该明白面向对象的思想,并能够运用其思想到实际的工作中。 \ue000 软件工程思想。大型系统的开发要用到软件工程相关的理论。虽然汽车租赁系统比较小,但是最好也能按照系统设计的生命周期模型来进行。严格按照软件工程思想和管理信息系统的开发步骤,设计并实现一个汽车租赁管理信息系统。以系统开发过程为主线,从需求分析,逻辑设计,总体设计,详细设计以及系统测试、实施各阶段的主要内容和成果,包括系统结构图、业务流程图、数据流程图、E-R模型、数据字典、物理表实现及其关系、功能模块算法流程、界面设计等等。 \ue000 一定的实际动手能力和实际编程经验。系统最后要落实到windows下的编程,因此要求作者对windows下的数据库编程具有一定的基础,能够较为熟练的进行数据库相关程序的开发。以Microsoft公司的Visual Basic 6.0为开发工具,以ACCESS为后台数据库,对上述逻辑设计的成果进行转换,实现一个完整的可运行的汽车租赁管理系统。 (四)设计环境 硬件环境 随着计算机硬件的高速发展,现在普通的机子已经可以做为一个服务器端使用。 CPU:CⅣ 2.0或更高 硬盘:40G或更多 内存:128M或更高(建议使用256M)

软件环境软件环境软件环境软件环境 操作系统 Windows 2000 Server /Windows XP 网络协议 TCP/IP 数据库 ACCESS 开发语言 VB 其它辅助软件:Microsoft Word等 四、参考文献 [1] 丁宝康:《数据库实用教程》, 清华大学出版社,2004年。 [2] 赛奎春等:《VB数据库开发关键技术与实例应用》,人民邮电出版社,2003年。 [3] 汪诗林等:《数据结构算法与应用》,机械工业出版社,2005年。 [4] 罗征等:《VB 6.0从入门到精通》,电子工业出版社,2004年。 [5] 冯博琴等:《面向对象分析与设计》,机械工业出版社,2003年。 [6] Awad.E.M, Gotterer M.H: Visual Basic 6.0, 1992. [7] Robert.H.Dependahl:《Database Principles and Applications》.Williams Brown,2003. 报告人签名: 年 月

指导教师对开题报告指导教师对开题报告指导教师对开题报告((((文献综述文献综述文献综述文献综述))))的评语的评语的评语的评语:::: 指导教师签名: 年 月

5、C#学生成绩管理系统.。。 毕业论文

速求一篇C#学生成绩管理系统的论文,只要你会给多少分都行

6、求有关学生管理系统的国内外研究现状

论文开题报告需要相关国内外研究现状的文字

帮帮忙

7、Access学生信息管理系统设计目标

随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长。面对庞大的信息量,有必要开发学生管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。

本学生信息管理系统包括学生记录、添加新生、编辑学生信息,查询学生信息,学生信息统计以及系统退出等几个模块。管理员登录后可以对学生的各项信息进行管理。

可以说,现在传统的学生的各项管理所具备的功能几乎都可以在互联网上进行互联网高效运作,虽然传统学生管理的手段不同,但是随着互联网的发展,它将有力的改变现存学生管理模式,给教育单位以高效低成本的发展空间。本学生管理系统的系统设计是基于HTML语言,嵌套ASP编程技术,以IIS为服务平台,实现基于网络学生管理系统的构建。本篇论文介绍了该系统的开发环境和运行平台、ASP、HTML脚本,而后台的数据库则使用ACCESS数据库管理整个学生管理系统的后台数据。

8、名侦探柯南

哪里可以再线观看>全集,不用注册也不用下载.

顺便问一下>一共有几集,有没有剧场版,有的话也给我吧

给出具体网址,最好不要是土豆网的.

9、求一篇学生学籍管理系统的毕业论文

快毕业了,论文还没有思路,不知如何让下手,只能求助了网络了。有学生学籍管理系统的麻烦给我一篇,不要太复杂,小弟水平有限,呵呵。还有,最好是用asp做的,数据库是Access。

10、用C++设计一个学生成绩管理系统

c++学生成绩管理系统论文--课程设计[日期:2007-01-19] 来源:25175--你我一起舞 作者:未知 阅读:3593 次 [字体:大 中 小] c++学生成绩管理系统论文--课程设计powered by 25175.net

1、 对C++设计的《学生成绩管理系统》总体说明

系统上采用BC31编译器作为开发环境,这个环境是我们在学习C++的平台,这个编译器功能完善,使用方便。我作的这次课程设计是《学生成绩管理系统》,它的主要功能是对学生的成绩进行修改和管理,而且方便快速,这个程序虽然简单,但是可以作为老师的辅助软件,对学生的各种成绩进行管理。

系统功能要求:

(1)界面

学生成绩管理系统

** F1 --帮助 **

** F2 --输入数据并存入文件 **

** F3 --根据学号查询成绩 **

** F4 --根据姓名查询成绩 **

** F5 --输出文件内容 **

** F6 --统计及格和优秀人数 **

** ESC--退出系统 **

(2)功能

这个程序的主要功能是输入学生的学号、姓名对其进行存储,在存储后可以对学生的成绩按学号和姓名进行查寻。该系统具有存贮学生数据,按学号、姓名查询,列出学生成绩和统计功能。使用方法:系统输入数据后,将在当前目录中建立一个名为stu.dat文件,用于保存输入的数据。学号输入只能用数字输入,并且学号只能是10位。姓名输入符合中国人的姓名,只能用中文,且最长为5个汉字。此程序在BC2.0下运行通过由于是第一次用C++编写,所以水平有限此系统还有许多不够完整和严密性,敬请老师指正!

(3)实用性

《学生成绩管理系统》是对学生的成绩进行修改和管理,而且方便快速,这个程序虽然简单,但是可以作为老师的辅助软件,对学生的各种成绩进行管理。

目的:

通过课程设计培养了我的动手能力以及综合运用所学的C++语言基础理论,基础知识,基本技能,进行程序分析和程序开发,提高在实际开发中解决问题的能力,达到了能够利用C++语言进行应用程序的规划,分析,设计和实施,更能进一步使我对这门语言有深刻的理解和更好的得到巩固,更能对我所学的知识得到检验。

2、对《学生成绩管理系统》的介绍

具体的功能:

(1)帮助

(2)输入数据并存入文件

(3)根据学号查询成绩

(4)根据姓名查询成绩

(5)输出文件内容

(6)统计及格和优秀人数

(7)退出

(1)帮助

运行程序,屏幕出现该程序界面,第一项就是帮助,在按下“F1”后出现帮助信息,“此系统是应老师所布置的作业编制而成,该系统具有存贮学生数据,按学号、姓名查询,列出学生成绩和统计功能。使用方法:系统输入数据后,将在当前目录中建立一个名为stu.dat文件,用于保存输入的数据。学号输入只能用数字输入,并且学号只能是10位。姓名输入符合中国人的姓名,只能用中文,且最长为5个汉字。”

(2)输入数据并存入文件

在界面状态下,按下“F2”后出现“请输入学号:”,若输入“#”,则返回真值结束输入。在其后面可以输入学生的学号,长度要求10位而且必须是数字,这里用到了结构体变量和函数,对输入的字符进行判断,如果输入字母和汉字会出现“非法学号!请重新输入。”,如果学号长度不为10,则返回重新输入提示“学号长度不对。”, 如果学号后面的字符不是回车符,则学号长度大于10提示“学号长度大于10个!请重新输入!” 输入完学号后会出现提示“请输入姓名:”,在其后面可以输入学生的姓名,姓名必须是汉字而且长度必须是5, 这里也用到了结构体变量和函数,对输入的字符进行判断,如果输入为字母和数字会提示“姓名只能用中文,请重新输入!”,如果输入的汉字长度大于5会提示“姓名长度大于5个!请重新输入!”,输入姓名后会出现“请输入数学成绩:”、“ 请输入英语成绩:”和“请输入总评成绩:”输入规则也和前面输入学号、姓名的类似,判断输入的是否为数字,如果不是就会出现提示,重新输入,直到输入正确为止。都输入完成后,改系统会调用写文件函数对指定的文件进行写操作,把输入的学生信息写入到文件中。

(3)根据学号查询成绩

在界面状态下,在按下“F3”后会出现“请输入要查询的学号:” 输入“#”结束查询,若文件打不开则输出下面的信息,“文件打开失败!按任意键返回...”,如果文件打开会按照用户的要求从文件头开始查询满足要求的学号,找到即显示该学生的基本信息和成绩。如果未找到就会显示“无此学号”。

(4)根据姓名查询成绩

在界面状态下,在按下“F4”后会出现“请输入要查询的学生姓名:” 输入“#”结束查询,若文件打不开则输出下面的信息,“文件打开失败!按任意键返回...”,如果文件打开会按照用户的要求从文件头开始查询满足要求的姓名,找到即显示该学生的基本信息和成绩。如果未找到就会显示“无此学生!”。

(5)输出文件内容

输出文件,列出所有学生成绩。如果文件未打开会出现“文件打开失败!按任意键返回...”打开成功会每输出20个学生成绩,停一下提示,“请按任意键继续...”,关闭文件。

(6)统计及格和优秀人数

这里用到结构体函数和变量,判断成绩大于等于60分的为及格,并统计人数,判断成绩大于等于80分的为优秀,并统计人数,最后统计出来,显示在屏幕上。

(7)退出

在界面状态下,按下“ESC”会退出该学生成绩管理系统。返回源程序。

程序清单

#include /*头文件*/

#define ESC 0x001b /* 退出 */

#define F1 0x3b00 /* 查看帮助信息,调用HelpMassage()函数 */

#define F2 0x3c00 /*输入学生成绩*/

#define F3 0x3d00 /*按学号查找*/

#define F4 0x3e00 /*按姓名查找*/

#define F5 0x3f00 /*列出所有学生成绩*/

#define F6 0x4000 /*统计*/

struct stuType /*定义结构体变量*/

char NO[11]; /*学号长度为10*/

float CJ[4]; /*包含4门成绩*/

int JY_NO(char *stu_num,FILE *fp) /*检验学号的正确性*/

if(strcmp(stu_num,"#")==0) return 1; /*若输入"#"返回真值,不再循环输入*/

{ puts("\

\

\

非法学号!请重新输入!\

");

else p++; /*指针加1*/

if(strlen(stu_num)!=10) /*若学号长度不为10,则返回重新输入*/

{ puts("\

\

\

学号长度不对!\

");

{ printf("\

\

\

学号长度大于10个!请重新输入!\

");

rewind(fp); /*使文件指针指向头*/

while(!feof(fp)) /*若文件指针未到结尾,就继续执行下面的循环,feof遇到文件结束符返回非零值,否则返回0*/

{ fread(&stud,sizeof(struct stuType),1,fp); /*读取一定长度的数据*/

if(strcmp(stu_num,stud.NO)==0) /*学号的唯一性*/

{ printf("\

\

\

学号重复,请重新输入!\

");

printf("\

\

\

该学生成绩如下:\

");

printf("\

\

\

语文:%.1f\

",stud.CJ[0]);

printf("\

\

\

数学:%.1f\

",stud.CJ[1]);

printf("\

\

\

英语:%.1f\

",stud.CJ[2]);

printf("\

\

\

总评:%.1f\

",stud.CJ[3]);

int JY_NO2(char *stu_num) /*检验学号*/

if(strcmp(stu_num,"#")==0)return 1; /*若输入“#”,则返回真值结束*/

if(strlen(stu_num)!=10) /*学号长度为10*/

{ puts("\

\

\

学号长度不对!\

");

{ puts("\

\

\

非法学号!请重新输入!\

");

else p++; /*指针加1*/

{ printf("\

\

\

学号长度大于10个!请重新输入!\

");

int JY_XM(char *stu_XM) /*检验姓名*/

{ puts("\

\

\

姓名只能用中文,请重新输入!\

");

else p++; /*使指针加1,指向下一汉字*/

{ printf("\

\

\

姓名长度大于5个!请重新输入!\

");

return 1; /*字符串全为汉字返回真*/

int JY_CJ(float stu_CJ) /*学生成绩只能在0~100之间*/

{ printf("\

\

\

输入错误,成绩只能在0~100之间!\

");

void CreatFile() /*输入文件*/

struct stuType stu,stu0={"","",}; /*对stu0先赋值*/

fp=fopen("stu.dat","wb+"); /*打开或创建一个二进制文件,打开时将原来的内容删除*/

{ printf("\

\

\

文件打开失败!\

\

\

\

按任意键返回...");

do{ printf("\

\

\

\

请输入学号:"); /*输入学号并检验其正确性*/

do{ printf("\

\

\

\

请输入姓名:"); /*输入姓名并检验其正确性*/

do{ printf("\

\

\

\

请输入语文成绩:"); /*输入成绩并检验其正确性*/

do{ printf("\

\

\

\

请输入数学成绩:"); /*同上*/

do{ printf("\

\

\

\

请输入英语成绩:");

do{ printf("\

\

\

\

请输入总评成绩:");

fwrite(&stu,sizeof(struct stuType),1,fp); /*写文件*/

fclose(fp); /*关闭文件*/

void Search_Xuehao() /*按学号查询*/

if(fp==NULL) /*若文件打不开则输出下面的信息*/

{ printf("\

\

\

文件打开失败!\

\

\

\

按任意键返回...");

{ do{ puts("\

\

\

\

输入“#”结束查询");

do{ printf("\

\

\

请输入要查询的学号:");

if(strcmp(stu.NO,"#")==0)break; /*若输入“#”则结束循环*/

while(fread(&stud,sizeof(struct stuType),1,fp)) /*检查文件指针结束*/

{ if(strcmp(stu.NO,stud.NO)==0) /*比较学号*/

{ puts("\

\

\

该学生成绩如下:");

printf("\

\

\

学号:%s\

",stud.NO);

printf("\

\

\

姓名:%s\

",stud.XM);

printf("\

\

\

语文:%.1f\

",stud.CJ[0]);

printf("\

\

\

数学:%.1f\

",stud.CJ[1]);

printf("\

\

\

英语:%.1f\

",stud.CJ[2]);

printf("\

\

\

总评:%.1f\

",stud.CJ[3]);

flag=1; /*记录学号是否查到*/

if(flag==0)puts("\

\

\

无此学号!");

fclose(fp); /*关闭文件*/

void Search_Xingming() /*按姓名查找*/

{ printf("\

\

\

文件打开失败!\

\

\

\

按任意键返回...");

do{ printf("\

\

\

请输入要查询的学生姓名:");

rewind(fp); /*文件指针指向头*/

{ if(strcmp(stu.XM,stud.XM)==0) /*比较姓名是否相同*/

{ puts("\

\

\

该学生姓名如下:");

printf("\

\

\

学号:%s\

",stud.NO);

printf("\

\

\

姓名:%s\

",stud.XM);

printf("\

\

\

语文:%.1f\

",stud.CJ[0]);

printf("\

\

\

数学:%.1f\

",stud.CJ[1]);

printf("\

\

\

英语:%.1f\

",stud.CJ[2]);

printf("\

\

\

总评:%.1f\

",stud.CJ[3]);

flag=1; /*记录姓名是否被查到*/

if(flag==0)puts("\

\

\

\

无此学生!");

puts("\

\

\

是否继续(y--继续,其他返回)?");

/* puts("\

\

\

请按任意键继续...");*/

int ListFile(void) /*输出文件,列出所有学生成绩*/

int REC=0; /*记录学生人数*/

{ printf("\

\

\

文件打开失败!\

\

\

\

按任意键返回...");

else{ printf("\

\

\

学生成绩如下:\

");

printf("\

\

\

学号\

\

姓名\

语文\

数学\

英语\

总评\

");

{ /*每读取一个长度的数据就输出*/

if(REC%20==0) /*每输出20个学生成绩,停一下*/

{ printf("\

\

\

请按任意键继续...\

");

fclose(fp); /*关闭文件*/

printf("\

\

\

请按任意键继续...");

void Statistics() /*统计及格和优秀人数*/

int REC=0,pass[4]={0},good[4]={0}; /*REC--记录个数,即人数,pass--及格人数,good--优秀人数*/

float highest[4]={0},score[4]={0}; /*highest--最高分,score--总分*/

{ printf("\

\

\

文件打开失败!\

\

\

\

按任意键返回...");

score[0]=score[0]+stu.CJ[0]; /*语文*/

score[1]=score[1]+stu.CJ[1]; /*数学*/

score[2]=score[2]+stu.CJ[2]; /*英语*/

score[3]=score[3]+stu.CJ[3]; /*总评*/

if(REC==0) /*可以防止记录为0是REC作除数而造成的错误*/

{ printf("\

\

\

未输入学生记录!按任意键返回...");

printf("\

\

\

\

语文\

数学\

英语\

总评\

"); /*输出统计信息*/

printf("\

\

\

平均分: %.1f\

%.1f\

%.1f\

%.1f\

",score[0]/REC,score[1]/REC,score[2]/REC,score[3]/REC);

printf("\

\

\

最高分: %.1f\

%.1f\

%.1f\

%.1f\

",highest[0],highest[1],highest[2],highest[3]);

printf("\

\

\

优秀人数:%d\

%d\

%d\

%d\

",good[0],good[1],good[2],good[3]);

printf("\

\

\

及格人数:%d\

%d\

%d\

%d\

",pass[0],pass[1],pass[2],pass[3]);

printf("\

\

\

\

请按任意键继续...");

printf("\

\

\

\

\

此系统是应老师所布置的作业编制而成,该系统具有存贮学生数据,按学号、姓名查询,列出学生成绩和统计功能。\

\

使用方法:系统输入数据后,将在当前目录中建立一个名为stu.dat文件,用于保存输入的数据。学号输入只能用数字输入,并且学号只能是10位。姓名输入符合中国人的姓名,只能用中文,且最长为5个汉字。\

此程序在Turbo C2.0下运行通过\

\

由于是初学者,水平有限此系统还有许多不够完整和严密性,敬请指正!");

int GetKey(void) /*此函数返回一个按键的数值*/

key=bioskey(0); /*bioskey为调用BIOS键盘接口*/

if(key<<8) /*位移*/

return key; /*返回按键*/

struct date d; /*定义时间结构体*/

getdate(&d); /*读取系统日期并把它放到结构体d中*/

clrscr(); /*清除屏幕*/

printf("\

\

\

****************************\

"); /*版本信息*/

printf("\

\

\

学生成绩管理系统1.0 \

");

printf("\

\

\

制作人:张春覃 \

");

printf("\

\

\

指导老师:杨宇晶 于宏伟 \

");

printf("\

\

\

制作时间:2005年9月 \

");

printf("\

\

\

请按任意键继续...");

getch(); /*从键盘读取一个字符,但不显示于屏幕*/

system("cls"); /*调用DOS的清屏函数,TC中可用clrscr代替*/

while(1) /*主菜单*/

printf("\

\

\

**\

F1 --帮助 **\

");

printf("\

\

\

**\

F2 --输入数据并存入文件 **\

");

printf("\

\

\

**\

F3 --根据学号查询成绩 **\

");

printf("\

\

\

**\

F4 --根据姓名查询成绩 **\

");

printf("\

\

\

**\

F5 --输出文件内容 **\

");

printf("\

\

\

**\

F6 --统计及格和优秀人数 **\

");

printf("\

\

\

**\

ESC--退出系统 **\

");

printf("\

\

\

\

请输入选项\

\

%d年%d月%d日\

\

",d.da_year,d.da_mon,d.da_day); /*提示信息,并显示当前系统日期*/

key=GetKey(); /*调用自定义函数,读取一个键*/

/*default: puts("\

\

\

输入错误选项!");

printf("\

\

\

按任意键返回...");

clrscr(); /*每执行完一项功能后,自动清屏*/

1. 总结

通过本次的C++课程设计,让我学会了把书本上的知识应用到了实际中来。虽然在这几周中有过挫折和坎坷,有的问题一直到了最后才被解决,但是我认为这未必就不是好事,这样能锻炼我的意志,磨练我的耐心,失败是成功之母,这话一点都没错,没有失败就没有成功。

让我没有失去信心的是关怀我们的老师,当我们有了问题和疑问,老师就很耐心的给予讲解,让我们有了一个良好的学习氛围。

2. 参考文献

《C++程序设计》 钱能 清华大学出版社

《C++程序设计试验指导》 钱能 清华大学出版社

《C程序设计》 谭浩强 清华大学出版社

阅读全文