您好,欢迎访问三七文档
数据结构(C++实现)实训报告题目:奖学金计算系统专业:班级:学生:学号:指导老师:目录一、需求分析...............................................................................31.1系统应实现的功能...........................................................31.2.系统应达到的性能..........................................................3二二、、系系统统设设计计...............................................................................42.1逻辑结构的设计...............................................................42.2物理结构的设计................................................................51)初始化学生信息................................................................52)查看奖学金信息................................................................53)查询个人奖学金................................................................54)修改个人成绩....................................................................5三、部分函数成员的实现.........................................................61.初始化顺序表.......................................................................62.查看奖学金信息顺序表.......................................................63.查询奖学金顺序表...............................................................64.修改学生顺序表.................................................................7四、测试与调试...........................................................................9五、归纳总结.............................................................................11一、需求分析随着社会的信息量与日俱增,越来越多的人依赖信息技术。同样,在大学的期末考核后,会有奖学金的评定。我们知道,学生人数诸多,评定的内容也并没有很简单,单单只是靠人力来评定,工作量较大而且准确率有时会受到影响。开发一个奖学金计算系统,可以充分减轻辅导员的工作量,又能提高准确率。1.1系统应实现的功能本奖学金计算系统主要是建立在学生成绩基础上,方便计算出学生的学分绩及对应的奖学金,主要功能有学生成绩和学分绩的添加、查找、删除和修改。根据输入姓名,学号,专业及成绩计算出学分绩,根据学分绩,按照实际奖学金的评定规则,输出各等奖学金。系统模块划分如图1.2.系统应达到的性能①①数数据据精精确确度度在在精精度度需需求求上上,,根根据据实实际际需需要要,,数数据据在在输输入入、、输输出出及及传传输输的的过过程程中中要要满满足足各各种种精精度度的的需需求求根根据据关关键键字字精精度度的的不不同同。。②②时时间间特特性性系系统统响响应应时时间间应应在在人人的的感感觉觉和和视视觉觉范范围围内内((11ss)),,系系统统响响应应时时间间足足够够迅迅速速((55ss)),,能能够够满满足足用用户户要要求求。。③③适适应应性性在在操操作作方方式式、、运运行行环环境境、、软软件件接接口口或或开开发发计计划划等等发发生生变变化化时时,,应应具具有有适适应应能能力力。。④④可可使使用用性性操操作作界界面面简简单单明明了了,,易易于于操操作作,,对对格格式式和和数数据据类类型型限限制制的的数数据据,,进进行行验验证证,,包包括括客客户户端端验验证证和和服服务务器器验验证证,,并并采采用用错错误误提提醒醒机机制制,,提提示示用用户户输输入入正正确确数数据据和和正正确确的的操操作作系系统统。。奖学金计算系统主窗体模块数据查询数据增加数据修改数据删除⑤⑤安安全全保保密密性性只只有有合合法法用用户户才才能能登登录录使使用用系系统统,,对对每每个个用用户户都都有有权权限限设设置置。。对对登登录录名名、、密密码码、、以以及及用用户户重重要要信信息息进进行行加加密密,,保保证证账账号号信信息息安安全全。。二二、、系系统统设设计计2.1逻辑结构的设计本本奖奖学学金金计计算算系系统统采采用用的的是是顺顺序序表表结结构构。。对对于于顺顺序序表表,,计计算算机机系系统统用用一一块块地地址址连连续续的的有有限限空空间间来来依依次次存存放放线线性性表表中中的的数数据据元元素素。。这这样样,,任任意意两两个个逻逻辑辑上上相相邻邻的的数数据据元元素素在在物物理理存存储储上上也也是是必必然然相相邻邻。。顺顺序序表表可可以以随随机机访访问问,,它它可可以以通通过过元元素素的的位位置置来来访访问问数数据据元元素素。。EE--RR图图学生具有课程考核成绩姓名学号专业性别英语体育实践上半年下半年计算学分绩判断奖学金x=9080=x9080=x9075=x80一等二等三等数学2.2物理结构的设计本奖学金计算系统采用的是顺序存储方式。1)初始化学生信息通过本模块添加学生的基本信息,包括学生姓名,学号,性别,专业。并输入两个学期各个科目的成绩。2)查看奖学金信息通过初始化学生的信息,查奖学金信息,包括姓名,学分绩及奖学金数额。3)查询个人奖学金当录入的人数诸多时,输入学号,可以查询自己的奖学金数额。4)修改个人成绩输入修改学生的学号输入要修改的成绩输入要修改的学科输入修改后的成绩是否继续修改?修改成功三、部分函数成员的实现1.初始化顺序表voidguanli::chushi(student*stu){inti;for(i=0;in;i++)//n是输入的人数stu[i].pingding();//调用奖学金评定函数,初始化每个同学奖学金都为零。}2.查看奖学金信息顺序表voidguanli::paihang(student*stu)//查看奖学金信息函数{inti;cout姓名学分绩奖学金数额endl;for(i=0;in;i++){stu[i].pingding();}boolfinish=false;//冒泡排序,学分绩从大到小排列intk=1;while(kn&&!finish){finish=true;for(intj=0;jn-k;j++)if(stu[j].GPAstu[j+1].GPA){swap(stu[j+1],stu[j]);finish=false;}}for(i=0;in;i++){coutstu[i].namestu[i].GPAstu[i].moneyendl;}}3.查询奖学金顺序表voidguanli::find(student*stu){inta;floatb;cout请输入所查询学生学号endl;stringch;cinch;inti;for(i=0;in;i++){if(ch==stu[i].number){b=stu[i].pingding();if(b=75&&b80)cout恭喜stu[i].name获得综合三等奖学金,数额为750endl;elseif(b=80&&b90)cout恭喜stu[i].name获得综合二等奖学金,数额为1500endl;elseif(b=90)cout恭喜stu[i].name获得综合一等奖学金,数额为3000endl;elsecout该生未获得奖学金,请继续努力endl;return;}}cout查无此人endl;}4.修改学生顺序表voidguanli::amend(student*stu){strings;inti=0,a,b;charch;floataa;cout请输入修改学生的学号endl;cins;for(i=0;in;i++)if(stu[i].number==s{loop1:cout请输入要修改的成绩endl;cout1上半年成绩endl;cout2下半年成绩endl;cina;if(a==1){cout请输入要修改的学科endl;cout1数学endl;cout2英语endl;cout3体育endl;cout4实践endl;cinb;cout请输入修改后的成绩endl;cinaa;switch(b){case1:stu[i].first_grade.Math=aa;break;case2:stu[i].first_grade.English=aa;break;case3:stu[i].first_grade.Sport=aa;break;case4:stu[i].first_grade.practise=aa;break;}}elseif(a==2){cout请输入要修改的学科endl;cout1数学endl;cout2英语endl;cout3体育endl;cout4实践endl;cinb;cout请输入修改后的成绩endl;cinaa;switch(b){case1:stu[i].second_grade.Math=aa;break;case2:stu[i].second_grade.English=aa;break;case3:stu[i].second_grade.Sport=aa;break;case4:stu[i].second_grade.practise=aa;break;}}else{cout输入错误请重新输入endl;gotoloop1;}//当输入错误时,跳转到loop1循环cout是否继续修改?(Y/N)endl;cinch;if(ch=='y')gotoloop1;//若继续修改,跳转循环return;//结束运行}cout查无此人endl;}四、测试与调试测试效果与截图程序效果主界面初始化学生信息查看奖学金信息查询个人奖学金修改个人成绩五、归纳总结本学期我们的C++数据结构实训课程的考试题目是让学生自主设计程序,全班每人都需要完成属于自己的程序.而我需要完成的是奖学金系统.C++数据结构的实质就是以一定的语法规范为准,通过对数据量的复杂结构运算,完成一定功能的程序,是一门计算机基础语言.而我们通过这一学期的学习,对于其特点和算法有了一定程度的了解.这两周的实训课程正是让我们巩固以前的知识并在此基础上能够有所突破.在大家的刻苦努力下,忙碌了两个星期,我们顺利的完成了对此程序的编译与调试运行.在设计程序的过程中,我们了解到要设计一个完整的程序,其中最难的可能就是设计整个程序的框架
本文标题:奖学金计算系统报告
链接地址:https://www.777doc.com/doc-6353443 .html