学生综合测评系统C++设计报告文档格式.docx

上传人:b****6 文档编号:8536871 上传时间:2023-05-11 格式:DOCX 页数:20 大小:20.63KB
下载 相关 举报
学生综合测评系统C++设计报告文档格式.docx_第1页
第1页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第2页
第2页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第3页
第3页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第4页
第4页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第5页
第5页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第6页
第6页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第7页
第7页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第8页
第8页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第9页
第9页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第10页
第10页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第11页
第11页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第12页
第12页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第13页
第13页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第14页
第14页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第15页
第15页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第16页
第16页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第17页
第17页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第18页
第18页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第19页
第19页 / 共20页
学生综合测评系统C++设计报告文档格式.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

学生综合测评系统C++设计报告文档格式.docx

《学生综合测评系统C++设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《学生综合测评系统C++设计报告文档格式.docx(20页珍藏版)》请在冰点文库上搜索。

学生综合测评系统C++设计报告文档格式.docx

classStudent

{

public:

intnum;

um>

>

stud[i].name>

stud[i].sex>

stud[i].address

>

stud[i].phone>

stud[i].english>

stud[i].math

stud[i].physics>

stud[i].grade1

stud[i].grade2>

stud[i].grade3;

i++;

}

while(!

());

();

cout<

<

"

读取成功!

endl;

以上为读取文件中学生信息的函数,当信息成功读取后才可进行修改或添加或删除,所以在许多外部函数里面都必须要有读取函数的功能为前提。

voidsave()

inti;

charfilename[20];

将记录保存在文件夹!

请输入文件名:

;

cin>

filename;

ofstreamoutfile(filename);

if(!

outfile)

{

cerr<

openerror!

um<

"

stud[i].name<

stud[i].sex<

stud[i].address<

<

stud[i].phone<

stud[i].english<

stud[i].math<

stud[i].physics<

<

stud[i].grade1<

stud[i].grade2<

stud[i].grade3<

保存成功!

}

在每次保存时都先按学号排序,保证信息是按学号从小到大的顺序存入文件。

在输入、修改、添加和删除函数的末端都有保存函数以实现信息的保存。

voidXG()

read();

begin:

stringfind_name;

请输入你要修改的学生名字:

find_name;

for(i=0;

i<

n;

i++)

if(stud[i].name==find_name)

{……}ame!

=find_name)

cout<

can'

tfindthisname"

请重新查找!

gotobegin;

请输入新的信息:

学号:

'

'

cin>

stud[i].num;

……

修改成功,是否保存(y/n)"

press;

switch(press)

case'

y'

:

save();

break;

default:

不保存!

基于数组形式对数据进行修改。

基本上所有函数都是基于数组进行操作,像删除函数是用循环先匹配类中的一个数据,找到之后再以此开始用对象数组后面的替换掉前一个,以实现删除功能。

stringSC_name;

请输入你要删除的学生名字:

inti=0;

cin>

SC_name;

while(stud[i].name!

=SC_name&

&

i<

n)

ame==SC_name)

{

for(intj=i;

j<

n+1;

j++)

{

stud[i].num=stud[i+1].num;

stud[i].name=stud[i+1].name;

}

考试成绩排名和综合测评成绩排名都是采用冒泡排序法实现:

doubletemp[100];

for(inta=0;

a<

a++)verage=(stud[a].english+stud[a].math+stud[a].physics)/3;

temp[a]=stud[a].average;

doublet;

for(intj=0;

j++)verage==temp[q])

stud[p].ranking1=q+1;

}}

最后各种界面函数通过switch语句进行调用,以实现各种功能来完成此系统:

voidFire()pp的文件,如果有编译错误,则根据提示修改,否则编译成功。

最后编译、连接和运行测试程序文件,输入数据并测试程序的各种操作。

如图所示。

在当前的Dos窗口中,输入要执行的功能号码,如输入1,然后单击回车,则显示如图所示。

此为学生信息管理界面,输入要执行的功能号码,如输入1,然后单击回车,则显示如图所示。

按提示输入3个学生信息并保存至文件中,完成后返回学生信息管理界面,输入要执行的功能号码,如输入5,然后单击回车,然后输入文件名和要读取几名学生信息,如输入3,则显示如图所示。

如上所示,按照提示内容输入功能号并回车确认就能正确使用本系统。

4、使用的主要技术

文本文件的读写、数组。

5、总结

经过一个学期对《C++程序设计》的学习,我学习到了基本的理论知识,了解到了C++语言程序设计的思想,这些知识都为我的课程设计和进一步学习打下了坚实的基础。

在为期一周的的C++课程设计中,我体会颇多,学到了很多东西。

我加强了对C++程序设计这门课程的认识,并且复习了自己以前学过的知识。

这些都使得我对计算机语言的学习有了更深入的认识。

像学生测评系统这样的程序设计,经历了平时在课堂和考试中不会出现的问题和考验。

而这些问题,并不是只靠课本就可以轻易解决的。

所以,锻炼了我们独立思考和解决问题的能力。

特别是向老师提问时,老师教会了我调试程序的方法,让我更容易发现自己所犯的错误。

在老师和同学的帮助下,通过自己的努力,终于完成了这次学生测评系统的课程设计,虽然还有缺陷,但过程中所摸索到的经验是一笔宝贵的财富。

总而言之,这次课程设计让我收获很大。

附录

#include<

iostream>

fstream>

string>

iomanip>

usingnamespacestd;

charpress;

intchoose=1;

intn;

um;

(5);

stud[i].name;

stud[i].sex;

(8);

stud[i].address;

stud[i].phone;

(6);

stud[i].english;

stud[i].math;

stud[i].physics;

stud[i].grade1;

stud[i].grade2;

intt;

for(intk=0;

k<

n-1-j;

k++)

if(temp[k]>

temp[k+1])

t=temp[k];

temp[k]=temp[k+1];

temp[k+1]=t;

}

}

inttempnum;

stringtempname;

stringtempsex;

stringtempaddress;

stringtempphone;

doubletempenglish;

doubletempmath;

doubletempphysics;

doubletempgrade1;

doubletempgrade2;

doubletempgrade3;

for(intq=0;

q<

q++)

for(intp=0;

p<

p++)

if(stud[p].num==temp[q])

tempnum=stud[p].num;

tempname=stud[p].name;

tempsex=stud[p].sex;

tempaddress=stud[p].address;

tempphone=stud[p].phone;

tempenglish=stud[p].english;

tempmath=stud[p].math;

tempphysics=stud[p].physics;

tempgrade1=stud[p].grade1;

tempgrade2=stud[p].grade2;

tempgrade3=stud[p].grade3;

stud[p].num=stud[q].num;

stud[p].name=stud[q].name;

stud[p].sex=stud[q].sex;

stud[p].address=stud[q].address;

stud[p].phone=stud[q].phone;

stud[p].english=stud[q].english;

stud[p].math=stud[q].math;

stud[p].physics=stud[q].physics;

stud[p].grade1=stud[q].grade2;

stud[p].grade2=stud[q].grade2;

stud[p].grade3=stud[q].grade3;

stud[q].num=tempnum;

stud[q].name=tempname;

stud[q].sex=tempsex;

stud[q].address=tempaddress;

stud[q].phone=tempphone;

stud[q].english=tempenglish;

stud[q].math=tempmath;

stud[q].physics=tempphysics;

stud[q].grade1=tempgrade1;

stud[q].grade2=tempgrade2;

stud[q].grade3=tempgrade3;

outfile<

stud[i].num<

姓名:

stud[a].name;

性别:

stud[a].sex;

家庭住址:

stud[a].address;

联系方式:

stud[a].phone;

英语成绩:

stud[a].english;

物理成绩:

stud[a].physics;

高数成绩:

stud[a].math;

同学互评:

stud[a].grade1;

品德成绩:

stud[a].grade2;

任课教师评分:

stud[a].grade3;

输入成功,学生资料是否保存(y/n)"

ame!

stud[i].sex=stud[i+1].sex;

stud[i].address=stud[i+1].address;

stud[i].phone=stud[i+1].phone;

stud[i].english=stud[i+1].english;

stud[i].math=stud[i+1].math;

stud[i].physics=stud[i+1].physics;

stud[i].grade1=stud[i+1].grade1;

stud[i].grade2=stud[i+1].grade2;

stud[i].grade3=stud[i+1].grade3;

删除成功!

n=n-1;

save();

elseif(i==n)

cout<

该信息不存在,无法删除!

}

(是否继续操作?

(y/n))"

while(press=='

||press=='

Y'

);

新学生姓名:

stud[n].name;

新学生性别:

stud[n].sex;

新学生家庭地址:

stud[n].address;

新学生的联系方式:

stud[n].phone;

新学生的英语成绩:

stud[n].english;

新学生的高数成绩:

stud[n].math;

新学生的物理成绩"

stud[n].physics;

新学生的同学互评分"

stud[n].grade1;

新学生的品德成绩"

stud[n].grade2;

新学生的任课教师评分"

stud[n].grade3;

n++;

);

添加成功,学生资料是否保存(y/n)"

ame==find_name)

hasbeenfound:

学生的学号:

姓名:

性别:

家庭住址:

联系方式:

英语成绩:

高数成绩:

物理成绩:

同学互评分:

品德成绩:

任课教师评分:

break;

if(stud[i].name!

同学互评分:

verage=(stud[a].english+stud[a].math+stud[a].physics)/3;

j++)verage==temp[q])

学号"

姓名"

考试成绩"

考试成绩排名"

for(intb=0;

b<

b++)

stud[b].num;

(10);

stud[b].name;

stud[b].average;

stud[b].ranking1<

是否要保存到文件中(y/n)"

switch(press)

case'

:

姓名:

stud[i].name

<

考试成绩:

stud[i].average<

考试成绩排名"

stud[i].ranking1<

default:

radesum=((stud[a].english+stud[a].math+stud[a].physics)/3)*+

stud[a].grade1*+stud[a].grade2*+stud[a].grade3

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2