奖学金计算系统报告.docx

上传人:b****3 文档编号:27332660 上传时间:2023-06-29 格式:DOCX 页数:11 大小:18.34KB
下载 相关 举报
奖学金计算系统报告.docx_第1页
第1页 / 共11页
奖学金计算系统报告.docx_第2页
第2页 / 共11页
奖学金计算系统报告.docx_第3页
第3页 / 共11页
奖学金计算系统报告.docx_第4页
第4页 / 共11页
奖学金计算系统报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

奖学金计算系统报告.docx

《奖学金计算系统报告.docx》由会员分享,可在线阅读,更多相关《奖学金计算系统报告.docx(11页珍藏版)》请在冰豆网上搜索。

奖学金计算系统报告.docx

奖学金计算系统报告

资料范本

 

本资料为word版本,可以直接编辑和打印,感谢您的下载

 

奖学金计算系统报告

 

地点:

__________________

时间:

__________________

 

说明:

本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容

数据结构(C++实现)

实训报告

题目:

奖学金计算系统

专业:

班级:

学生:

学号:

指导老师:

TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc486447761"一、需求分析PAGEREF_Toc486447761\h3

HYPERLINK\l"_Toc486447762"1.1系统应实现的功能PAGEREF_Toc486447762\h3

HYPERLINK\l"_Toc486447763"1.2.系统应达到的性能PAGEREF_Toc486447763\h3

HYPERLINK\l"_Toc486447764"二、系统设计PAGEREF_Toc486447764\h4

HYPERLINK\l"_Toc486447765"2.1逻辑结构的设计PAGEREF_Toc486447765\h4

HYPERLINK\l"_Toc486447766"2.2物理结构的设计PAGEREF_Toc486447766\h5

HYPERLINK\l"_Toc486447767"1)初始化学生信息PAGEREF_Toc486447767\h5

HYPERLINK\l"_Toc486447768"2)查看奖学金信息PAGEREF_Toc486447768\h5

HYPERLINK\l"_Toc486447769"3)查询个人奖学金PAGEREF_Toc486447769\h5

HYPERLINK\l"_Toc486447770"4)修改个人成绩PAGEREF_Toc486447770\h5

HYPERLINK\l"_Toc486447771"三、部分函数成员的实现PAGEREF_Toc486447771\h6

HYPERLINK\l"_Toc486447772"1.初始化顺序表PAGEREF_Toc486447772\h6

HYPERLINK\l"_Toc486447773"2.查看奖学金信息顺序表PAGEREF_Toc486447773\h6

HYPERLINK\l"_Toc486447774"3.查询奖学金顺序表PAGEREF_Toc486447774\h6

HYPERLINK\l"_Toc486447775"4.修改学生顺序表PAGEREF_Toc486447775\h7

HYPERLINK\l"_Toc486447776"四、测试与调试PAGEREF_Toc486447776\h9

HYPERLINK\l"_Toc486447777"五、归纳总结PAGEREF_Toc486447777\h11

需求分析

随着社会的信息量与日俱增,越来越多的人依赖信息技术。

同样,在大学的期末考核后,会有奖学金的评定。

我们知道,学生人数诸多,评定的内容也并没有很简单,单单只是靠人力来评定,工作量较大而且准确率有时会受到影响。

开发一个奖学金计算系统,可以充分减轻辅导员的工作量,又能提高准确率。

1.1系统应实现的功能

本奖学金计算系统主要是建立在学生成绩基础上,方便计算出学生的学分绩及对应的奖学金,主要功能有学生成绩和学分绩的添加、查找、删除和修改。

根据输入姓名,学号,专业及成绩计算出学分绩,根据学分绩,按照实际奖学金的评定规则,输出各等奖学金。

系统模块划分如图

奖学金计算系统

主窗体模块

数据删除

数据修改

增加

1.2.系统应达到的性能

①数据精确度

在精度需求上,根据实际需要,数据在输入、输出及传输的过程中要满足各种精度的需求根据关键字精度的不同。

②时间特性

系统响应时间应在人的感觉和视觉范围内(<1 s),系统响应时间足够迅速(<5 s),能够满足用户要求。

③适应性

在操作方式、运行环境、软件接口或开发计划等发生变化时,应具有适应能力。

④可使用性

操作界面简单明了,易于操作,对格式和数据类型限制的数据,进行验证,包括客户端验证和服务器验证,并采用错误提醒机制,提示用户输入正确数据和正确的操作系统。

⑤安全保密性

只有合法用户才能登录使用系统,对每个用户都有权限设置。

对登录名、密码、以及用户重要信息进行加密,保证账号信息安全。

系统设计

2.1逻辑结构的设计

本奖学金计算系统采用的是顺序表结构。

对于顺序表,计算机系统用一块地址连续的有限空间来依次存放线性表中的数据元素。

这样,任意两个逻辑上相邻的数据元素在物理存储上也是必然相邻。

顺序表可以随机访问,它可以通过元素的位置来访问数据元素。

姓名

E-R图

专业

学生

性别

学号

具有

80<=x<90

三等

二等

一等

80<=x<90

75<=x<80

x>=90

判断

学分绩

计算

实践

体育

成绩

课程

英语

数学

考核

下半年

上半年

奖学金

2.2物理结构的设计

本奖学金计算系统采用的是顺序存储方式。

1)初始化学生信息

通过本模块添加学生的基本信息,包括学生姓名,学号,性别,专业。

并输入两个学期各个科目的成绩。

2)查看奖学金信息

通过初始化学生的信息,查奖学金信息,包括姓名,学分绩及奖学金数额。

3)查询个人奖学金

当录入的人数诸多时,输入学号,可以查询自己的奖学金数额。

4)修改个人成绩

输入修改学生的学号

是否继续修改?

输入修改后的成绩

输入要修改的学科

输入要修改的成绩

修改成功

部分函数成员的实现

1.初始化顺序表

voidguanli:

:

chushi(student*stu)

{

inti;

for(i=0;i

stu[i].pingding();//调用奖学金评定函数,初始化每个同学奖学金都为零。

}

2.查看奖学金信息顺序表

voidguanli:

:

paihang(student*stu)//查看奖学金信息函数

{inti;

cout<<"姓名"<<""<<"学分绩"<<""<<"奖学金数额"<

for(i=0;i

{stu[i].pingding();

}

boolfinish=false;//冒泡排序,学分绩从大到小排列

intk=1;

while(k

finish){

finish=true;

for(intj=0;j

if(stu[j].GPA

swap(stu[j+1],stu[j]);

finish=false;

}

}

for(i=0;i

{cout<

}3.查询奖学金顺序表

voidguanli:

:

find(student*stu)

{

inta;floatb;

cout<<"请输入所查询学生学号"<

stringch;

cin>>ch;inti;

for(i=0;i

{if(ch==stu[i].number)

{

b=stu[i].pingding();

if(b>=75&&b<80)

cout<<"恭喜"<

elseif(b>=80&&b<90)

cout<<"恭喜"<

elseif(b>=90)

cout<<"恭喜"<

else

cout<<"该生未获得奖学金,请继续努力"<

return;}

}

cout<<"查无此人"<

}

4.修改学生顺序表

voidguanli:

:

amend(student*stu)

{strings;inti=0,a,b;charch;floataa;

cout<<"请输入修改学生的学号"<

cin>>s;

for(i=0;i

if(stu[i].number==s

{loop1:

cout<<"请输入要修改的成绩"<

cout<<"1上半年成绩"<

cout<<"2下半年成绩"<

cin>>a;

if(a==1){

cout<<"请输入要修改的学科"<

cout<<"1数学"<

cout<<"2英语"<

cout<<"3体育"<

cout<<"4实践"<

cin>>b;

cout<<"请输入修改后的成绩"<

cin>>aa;

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<<"请输入要修改的学科"<

cout<<"1数学"<

cout<<"2英语"<

cout<<"3体育"<

cout<<"4实践"<

cin>>b;

cout<<"请输入修改后的成绩"<

cin>>aa;

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<<"输入错误请重新输入"<

gotoloop1;}//当输入错误时,跳转到loop1循环

cout<<"是否继续修改?

(Y/N)"<

cin>>ch;

if(ch=='y')gotoloop1;//若继续修改,跳转循环

return;//结束运行

}

cout<<"查无此人"<

}

测试与调试

测试效果与截图

程序效果主界面

初始化学生信息

查看奖学金信息

查询个人奖学金

修改个人成绩

归纳总结

本学期我们的C++数据结构实训课程的考试题目是让学生自主设计程序,全班每人都需要完成属于自己的程序.而我需要完成的是奖学金系统.

C++数据结构的实质就是以一定的语法规范为准,通过对数据量的复杂结构运算,完成一定功能的程序,是一门计算机基础语言.而我们通过这一学期的学习,对于其特点和算法有了一定程度的了解.这两周的实训课程正是让我们巩固以前的知识并在此基础上能够有所突破.

在大家的刻苦努力下,忙碌了两个星期,我们顺利的完成了对此程序的编译与调试运行.在设计程序的过程中,我们了解到要设计一个完整的程序,其中最难的可能就是设计整个程序的框架即需求分析,其中可能需要经过很多次的修改与调试,所以必须要有耐心,直至最后设计出自己想要的程序.

另外平时学习C++数据结构的基础也很关键.如果平时学的不怎么样,那么你面对这么一个比较有难度的程序时,可能会望而却步,看懂他人的程序是个难点,更别说让自己去设计了.获悉解决此类问题,最好就是多向同学,请教老师或者查找资料.

设计一个程序的过程就是解决一个实际问题的过程,从解决实际问题的角度,我们可以这样来看:

首先要了解这个问题的基本要求,即输入.输出.完成从输入到输出的要求是什么;其次我们必须捋清思路,逐一的解决问题的各个方面,即从输入开始入手,着重考虑如何从输入导出输出,在这个过程中,确定所需的变量,数组,函数,然后确定处理的过程-----算法.

感谢这次的实训课程,它使我更加深刻的体会到C++数据结构程序编写过程的严谨与细致,还有就是无论做任何事情都要有耐心.总的来说,这次实训课程让我受益匪浅,对数据结构也有了进一步的认识:

其功能多,表达能力强,使用灵活方便,目标程序效率高等.C++是在国内外都广泛使用的一种计算机语言,相信以上优点,还有很多我所没有发现的,希望能在以后的学习中有更深入的认识。

附录参考文献

谭浩强著《C++面向对象程序设计》清华大学出版社;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 小升初

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1