可视化学生成绩管理系统QT_第1页
可视化学生成绩管理系统QT_第2页
可视化学生成绩管理系统QT_第3页
可视化学生成绩管理系统QT_第4页
可视化学生成绩管理系统QT_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、可视化学生成绩管理系统(QT) /31 /31中国地质大学计算机高级语言课程设计报告(设计)学生成绩管理系统班级:191142班学号:姓名:日期:2015年7月2日课程设计题目与要求(包括题目与系统功能要求)【实习内容】语言,面向对象的分析与设计。然后改成语言。【基本要求】学生成绩管理是高等学校教务管理的重要组成部分,主要包括学生成绩的录入、删除、查找及修改、成绩的统计分析等等。请设计一个系统实现对学生成绩的管理。系统要求实现以下功能:(1)增加记录:要求可以连续增加多条记录。(2)删除一个学生的记录:要求可以先查找,再删除。删除前,要求用户确认。(3)成绩修改:若输入错误可进行修改;要求可以

2、先查找,再修改。(4)查找:可以根据姓名(或学号)查找某个学生的课程成绩,查找某门课程成绩处于指定分数段内的学生名单等等。(5)统计分析:对某个班级学生的单科成绩进行统计,求出平均成绩;求平均成绩要求实现函数的重载,既能求单科的平均成绩,又能求三科总分的平均成绩。求出一门课程标准差和合格率;(6)排序功能:要求按总分进行排序(从高到低),若总分相同,则按数学排序;若总分和数学相同,则按物理排序;若总分和各科成绩都相同,则按学号排序;(7)文件操作:可以打开文件,显示班级的所有学生信息;可以将增加或修改后的成绩重新写入文件;可以将排序好的信息写入新的文件。【较高要求】查找可以实现模糊查询,即输入

3、名字的一部分,可以列出满足条件的所有记录。再从这个记录中进行二次选择。需求分析【问题描述】在编写过程中,主要的困难有:模糊搜索(不能使用中的函数)需要自定义一个函数。排序,需要自己学习算法。【系统环境】5.4.1概要设计【类的设计】:类:(&);();复制构造函数析构函数();(,);构造函数();自定义接口();();();();();(&);=号重载;(m);删除记录(m);模糊搜索1();分数段搜索();文件写入();();统计分析();排序();增加记录可视化学生成绩管理系统(QT)可视化学生成绩管理系统(QT)4(); /314(); /31();成绩修改();文件输出();输出;类

4、7(*=0);();();();2();2();();2();3();*;J可视化学生成绩管理系统(QT)可视化学生成绩管理系统(QT) /31 /31;【主界面设计】:主机面主要以一个循环使得系统能够多次查询。循环中大部分是判断语句的嵌套。能够以用户意愿自由查询和进出系统。F忒迎进人爭生盧绩晉埋系统!举加此录:k-搜索烁刪除纪录;比比电母廉轉能密土!,t沽序弓爲吐址;文件读到屏幕上】r修改记录】changeinformation湮強芙潘戚,迂:100100100ok4t-rI-.二richangeinformation2012000000址現鞍芋戒評:没有悠所修改学生的信息!10010010

5、0changeinformation修改成功!隆氏英:海矗輻:2012100020添加纪录】F1Mjairmmdcw-a201210000 xiaomingW0100100林加成功!添加纪录:亭号4i汕也mu_4,s,;刪除紀录:|带违诲軸#进啣墓林#21*总棉*+A_Sl-1:w律軽打.rti-r:/J2址:/萼也:让耳删除记录】删除纪录:王晨359596离隹维869390初国和858785利掘嵌70SSB8-盂坷908696罗云迪869075田甜958587王如男908994邵叶飞80S436周雇曦87S690王烘968呂91尹苗露刘宇坤尹然宇陈云網于丈诗最揭侥U:11打859094888

6、69082908B80弹80S39585889086859285训IFIBM蚀搜索纪隶:diiX:数学:英语:物理:2012100042420121000553201210005702012100058420121000818201210009212012100112120121001248!012100131620121001375201210016952012100184220121002002201210021522012100216220121002269!0121002321201210024391D:姓名:数学:英语*输理:20121000424王晨B595962012100055

7、3高佳维3693900121000570初国利85878520121000584利振彬70888S20121000018孟珂90069620121000921罗云迪86907520121001121田甜95S53720121001248王如男90899420121001316邵叶飞8004862012W01375周晨曦8786902012100195王;共96889120121001842201210020022012100215220121002162201210022692012W023212012100243908056599-B88B8-TO6O4502P98999990203856&

8、B&SS&嘩坤宇磊锅涛傥一蕃宇然史云文揭尹刘尹帥陈于景&MninWindow搜索記录;V*IC.模糊搜索】!数学:英语:物理:边达宇756065王晨859596高性维869390初国和85S785/利撅彬708888孟珂908696器云迪869075田甜958587王如男908?94邵叶飞808486間晨曦878690玉洪968891尹859094刘宇坤888690尹然宇82908S孙史儀809480陈云锅839585于文濤889036ID:姓老!01210002902012100042420121000553!012100057020121000504J0121000818201210009

9、2120121001121?01210012482012100131620121001375201210016952012100184220121002002?0121002152201210021622012100226920121002321MamWlndoiAdiBpVdy添畑纪录:|gH!ZI网搜索纪录:斟ISV-甬比九%-i删脍紀录:扇加纪汞:4:20121000290201210004242012100055320121000570201210005842012100081S20121000921楚名:皺学:英语:粕理:边达宇756065王晨859596鬲佳维869390初国利85

10、87S5.利捧郴708S88孟珂908696罗云迪S69075剧除齟黍:it*建竭1二二I处曲分段搜索】MdlnWlriilv占89孙農洪如畀王玉王睦笛晴寒甜厚雄宇尤国晨云宙尹马肯田曹张刘于賈周降8886旳8B90868S90S6878690839535D:姓名2012100339920121000424201210016952012100124820121000818201210044152012100055320121001842201210027752012100335320121001121201210026852012100335920121002002201210023212012

11、10042332012100137520121002269英语:畅理:909396|95968S9190S994I&696869590869390859094;8590i9090i858790879019584dinWindwI剖时删除纪录:索纪录:嶽旳轨宅亩号ID-好扛碰履*:ID:姓思:数学*芙语;松理;Z0121Q02162孙史磊80948020121001316邳吋飞808486!0121000584利振彬708888R0121003127冯泽宇80397520121000290边达宇756065统计分析】ID:姓名:教芋:英语:物理:20121002162孙史轟80943020121

12、001316邵叶飞8034860121000584利振形70888820121003127冯泽宇80397520121000290边达756065MjinVMindow亠于ID:時除纪录:搜素纪录:世集八它卍鼻*11*实仏电啲*爭耳:d乱ungpinidymMlM?添加記录;排序】详细设计【增加记录】:所用函数:()函数、()函数。增加记录主要是调用()函数。进入()函数后,用户经过手动添加信息。添加信息过后,系统会将用户所输入的信息与数据库中已有信息进行对比,判断数据库中是否已存在该信息不存在则添加,添加时会调用类的构造函数。用户所添加的信息则会有一个以类型为的变量到默认以为类型的容器中。然

13、后点击确定转为槽函数,再通过类中的指针指向,使结果输出到上。此时在经过循环,使得系统支持重复添加功能。()函数将数据输出保存到文件中。【删除记录】:实现该功能先要调用()函数。进入该函数后系统会提示用户输入所需删除信息的学号或姓名。然后系统会在数据库中搜索是否真的存在此信息。不存在系统会提示用户。若存在则所删信息会在对话框中出现。此时系统会调用()函数、()函数、()函数、()函数()函数、()函数、()函数。然后系统会提示用户确定是否删除该信息。若否则回到主菜单。若是此时系统会定义一个以为类型的容器。然后默认的以为类型的容器(其中有数据库中的全部信息。)经过两个循环将数据库中除了用户要删除的

14、信息全部到定义的容器中。然后再经过一个循环。使得默认的容器当中的信息与定义的容器当中的信息相同。则完成删除。删除成功后,通过类中指针指向另一个对话框此时对话框会提示用户删除成功。【成绩修改】:先进入()函数,对话框中会提示用户输入所要修改的信息。输入信息后系统会定义一个以为类型的变量。然后系统会调用(&)函数,使得修改后的信息覆盖掉原有信息。在用类中的指针把结果输出到上,在调用文本输入的函数使得用户能够确定信息确实修改成功了。【查找】:进入查找后对话框中会提示用户是分数段查找还是个人成绩查询。若是前者则系统调用1()函数。此时对话框会提示用户选择哪一门成绩以及分数的上下限。然后系统再调用此时系

15、统会调用()函数、()函数、()函数、()函数()函数、()函数、()函数。对话框中会出现在此分数段中的所有信息。并回到菜单。若是后者则系统调用()函数(支持模糊搜索)。此时对话框中会提示用户输入所要寻找的信息的学号或姓名。系统会将数据库中满足条件的信息反馈到对话框中,然后类中指针将返回的容器的成员转化为类型然后将结果反馈到上。【统计分析】:现根据对话框的提示选择系统分析栏。对话框会提示用户是单科情况或是全科情况。若是前者系统会调用()函数,把结果反馈到对话框中并回到主菜单中。若是后者系统调用(i)函数。然后把结果(平均分、总平局分、及格率、标准差)用类中指针转到另一个对话框中,在调用该对话框

16、中的指针将结果反馈到上。【排序】:现根据对话框的提示选择排序。系统会调用()函数。进入()函数系统会调用()函数、()函数、()函数()函数、()函数、()函数。根据总分进行排序(从高到低),若总分相同,则按数学排序;若总分和数学相同,则按物理排序;若总分和各科成绩都相同,则按学号排序;排序完成后,类中指针将容器中的信息全部转化为类型。然后调用输出文本将结果反馈到上。【退出系统】:在主菜单中选择退出系统,系统会跳出主菜单中的循环,结束程序。测试【原有数据】20121000290边达宇75606520121000424王晨85959620121000553高佳维86939020121000570

17、初国利85878520121000584利振彬70888820121000818孟珂90869620121000921罗云迪86907520121001121田甜95858720121001248王如男90899420121001316邵叶飞80848620121001375周晨曦87869020121001695王洪96889120121001842尹笛露85909420121002002刘宇坤88869020121002152尹然宇82908820121002162孙史磊80948020121002269陈云锅83958520121002321于文涛88908620121002439景揭俊

18、85928520121002585戴贤铎88867820121002685曹厚臻90879020121002775马晴93859020121003127冯泽宇80897520121003358肖寒88909020121003359张赓87958420121003398刘剑峰88848620121003399龚方怡90939620121004233贾国栋88908620121004415孙一卓869590结论【总结】:在设计程序时,我们需要对每个文件域之间的联系了解,包含关系要明确。每设计完成一个函数时我们都要进行测试。确保没有语法错误和逻辑错误后再进行下一个函数的设计。将函数编写完之后,再进行

19、函数的编写。在设计文件读入与文件输出时,要保证保存路径的正确性。通过此次课设使得我对这两个知识点更好的理解与掌握。对于引用、运算符的重载的运用更加透彻。意识到在设计当中应尽量提高系统的效率的重要性。在设计模糊搜索和删除记录中,使得我对类中自带的函数与函数的执行过程的理解。此次课设使我明白了在设计时应以谨慎的态度对待。不能马虎粗心。不要太过心急。遇到困难要冷静。在做可视化时,遇到了许多问题。由于对很多系统自带的函数斌不了解,所以花了很多时间去网上查阅了很多知识点。也学到了很多东西。在做弹出对话框时,用了很多工夫去做这个,但依旧有一些我目前无法解决的问题。为了界面跟家美观,向同学请教了如何做背景。

20、然后自己也将画面中的字体和颜色改变,但依旧还是有一些不足之处。例如:当信息输出到上,若滑动鼠标上的滑轮时,背景会出现断层现象。七附录7(*=0);();();*;7;7(*=0);();*;J;7(*=0);();();可视化学生成绩管理系统(QT)可视化学生成绩管理系统(QT)4(); /314(); /31*;7(*=0);();();();2();2();();2();3();*;J;可视化学生成绩管理系统(QT)可视化学生成绩管理系统(QT) /31 /31;(m);删除记录(m);模糊搜索1();分数段搜索();文件写入();();统计分析();排序();增加记录();成绩修改();

21、文件输出();输出;();(,);构造函数(&);复制构造函数();析构函数();自定义接口();();();();();=号重载(&);(*):(),()();*=();(0.4);();()()();Q;();();7p(0);(0();(0()(j()j);();(0(没有您所修改学生的信息!);()()2-()(),3-()()4-()();vi;(修改成功!);();(*):(),()();()(*):(),()();(确定显示统计分析?);*=();(0.6);();()()();(科目依次为数学、英语、物理。);(前三个为平均分,中间为及格率,后三个为标准差);();(0(n);

22、(,*)a(,);w;();();();s2q()(8();(*):(),()();(欢迎进入学生成绩管理系统!);*=();(0.5);7-();();()()();(:姓名:数学:英语物理:);s;(0(o);()();()()()()()(),()()()();();2q();2q();(),10);(),10);(),10);(o);(添加成功!);();2()*1=();();(1-();2()2-();();();2-();*2=();();(2-();()();();();();();2()1();21-();32-();1();2();3();1();()();();(对不起!

23、没有您所查的信息!);();1-();2-();3()*3=();();(3-();4()();();()增加记录p(0);(1)请输入您所添加的信息:,);s(,(0()()i()()i()数据库已有此人!不能再添加!;(0)(s);();是否继续增加?(继续回复1。否则回复0.)m;(0);()文件写入(F:);(s);();();()文件输出(F:);(0;i()(20)i()(6)i()(6)i()(6)i()(6)i();();(m)模糊搜索s;p(0)(0);(0()(0()(mji()j)()(i);(0()(mki()k)()(i);s;1(m)分数段搜索s;()(0i()(i);()(0j()(j);()(0k()(k);s;(m)删除记录s;(0(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论