c设计报告学生管理系统Word格式文档下载.docx
《c设计报告学生管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c设计报告学生管理系统Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
。
)
{switch()
{case0:
输入学生成绩
break。
case1:
增加学生数据
break。
case2:
修改学生数据
strcmp(name,s[h].name
case3:
按姓名查询
case4:
按学号查询
case5:
按平均分排序
case6:
按总分排序
case7:
退出程序
五、程序功能模块图
功能:
学生成绩查询系统有:
成绩录入、增加、修改,数据查询,排序.
模块框架图:
六、程序
#include<
iostream>
string>
fstream.h>
stdlib.h>
iomanip.h>
classstudent
{
private:
charname[4]。
//姓名
doublecpro,english,math,sport,allscore,average。
//课程
intorder,number。
//名次,学号
public:
student(){}
student(charn[4],intnu,doublecc,doubleeng,doublema,doublesp,doubleas,doubleav)
{strcpy(name,n)。
number=nu。
cpro=cc。
english=eng。
math=ma。
sport=sp。
allscore=as。
average=av。
}
friendvoidmain()。
}。
{doubleallscore。
doubleaverage。
cout<
<
"
欢迎使用学生管理系统"
endl。
0、输入数据"
1、增加数据"
2、修改数据"
3、按姓名查询"
4、按学号查询"
5、按平均分排序"
<
6、按总分高低排序"
7、退出系统"
选择0-7数字进行操作"
charp。
charw。
students[50]。
//指针对象,最多存50个学生数据
ofstream*file[50]。
//负责对文件插入操作
inti=0。
intj=0。
intflag=0。
do//flag判断输入是否有效
{cin>
>
p。
if((p>
='
0'
&
p<
7'
))
flag=1。
else
指令错误!
请重新输入:
}while(flag==0)。
do{
switch(p)//接收功能选项
{
case'
:
//输入数据
charc。
charname[4]。
intnumber。
doublecpro,english,math,sport。
do{
endl<
姓名:
cin>
name。
学号:
number。
C++成绩:
cpro。
英语成绩:
english。
线代成绩:
math。
体育成绩:
sport。
{allscore=cpro+english+math+sport。
总成绩:
allscore<
{average=(cpro+english+math+sport)/4。
平均成绩:
average<
file[j]=newofstream("
D:
\student.dat"
ios:
ate)。
*file[j]<
姓名"
name<
学号"
number<
C++成绩"
cpro
英语成绩"
english<
线代成绩"
math<
体育成绩"
sport<
总成绩"
平均成绩"
j++。
s[i]=student(name,number,cpro,english,math,sport,allscore,average)。
i++。
数据输入成功,想继续输入吗(y/n):
c。
do
{if(c!
y'
c!
n'
)
{cout<
请重新输入!
"
}
}while(c=='
)。
1'
//增加数据
{charname[20]。
charc。
do
请输入您要增加的学生的姓名:
cin>
cout<
{allscore=cpro+english+math+sport。
数据输入成功,想继续数入吗(y/n):
if(c!
{cout<
while(c=='
break。
2'
//修改数据
intnu。
doublecc,eng,ma,sp,as,av。
flag=0。
if(i==0)
系统中找不到这个学生"
请输入您要修改的学生的姓名:
for(inth=0。
h<
i。
h++)//h纪录要修改学生的位置
{if(strcmp(name,s[h].name)==0)//找到要修改名字的位置
{flag=1。
新的学号:
nu。
cc。
eng。
ma。
sp。
{as=cc+eng+ma+sp。
as。
{av=as/6。
av。
s[h].cpro=cc。
s[h].english=eng。
s[h].math=ma。
s[h].sport=sp。
s[h].number=nu。
数据修改成功!
if(flag==0)
您要修改的学生本来就不存在!
请检查重新输入!
想继续修改吗(y/n):
3'
//按姓名查询
{charn[20]。
intj=0。
if(i==0)
管理系统中没有输入数据!
}
请输入你要查询的学生姓名:
n。
for(intj=0。
j<
j++)
{if(strcmp(n,(s[j]).name)==0)
您要查询的学生是:
(s[j]).name<
的成绩是:
C++:
(s[j]).cpro<
英语:
(s[j]).english<
线代:
(s[j]).math<
体育:
(s[j]).sport<
总成绩"
(s[j]).allscore<
平均成绩"
(s[j]).average<
对不起!
您要查询的学生不存在!
您想继续查询吗?
(y/n):
while(c=='
4'
//按学号查询
intn,j=0。
if(i==0){
请输入你要查询的学生的学号:
if(s[j].number==n)
您要查询的学生是:
C++:
英语:
总成绩:
平均成绩:
case'
5'
//平均分排序
{studenttemp。
for(inta=0。
a<
a++)
for(intb=a+1。
b<
b++)
while(s[a].average<
s[b].average)
temp=s[a]。
s[a]=s[b]。
s[b]=temp。
已经排好序了,是否需要输出(y/n):
charyn。
yn。
while(yn!
yn!
操作错误!
!
if(yn=='
所有学生的成绩按总分从高到低的排名是:
本系统所有学生数据如下:
姓名学号c++英语线代体育总成绩平均成绩"
for(intb=0。
{
s[b].name<
setw(7)<
s[b].number<
setw(4)
(s[b]).cpro<
setw(5)<
(s[b]).english<
setw(5)
(s[b]).math<
setw(4)<
(s[b]).sport<
s[b].allscore<
setw(10)<
(s[b]).average<
case'
6'
//总成绩排序
for(intt=0。
t<
t++)
for(intk=t+1。
k<
k++)
while(s[t].allscore<
s[k].allscore)
{temp=s[t]。
s[t]=s[k]。
s[k]=temp。
for(intk=0。
s[k].name<
s[k].number<
(s[k]).cpro<
(s[k]).english<
(s[k]).math<
(s[k]).sport<
s[k].allscore<
(s[k]).average<
//退出
{exit(0)。
Byebye!
您想继续进行其他操作吗?
intflag=0。
{cin>
w。
if(w!
w!
else
}while(flag==0)。
if(w=='
请输入操作代码:
0输入数据"
1增加数据"
2修改数据"
3按姓名查询"
4按学号查找"
5按平均分高低排序"
6按总分高低排序"
7退出系统"
}while(w=='
七、程序未完成和添加的功能
程序未完成功能有对学生的成绩进行删除和按总成绩查询.添加的功能有按平均分排序.
八、总结及参考资料
参考资料:
《c++全方位学习》中国铁道出版社,《c++程序设计题解与上机指导》清华大学出版社,《c++语言基础教程》人民邮电出版社,《c++程序设计基础(第3版),以及上网查询资料等.
总结:
此次c++课程设计,在指导教师的精心教导下,我们学会了如何用C++编写一个简单的应用程序.首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试.程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询.
通过这次c++程序设计,我从中得到很大的收益,并且学的了很多知识.C++已经学了一个学期了,有许多知识都存在似懂非懂的现象,这种现象通过实际的上机操作,已经减少了许多.对这些知识也有了更深的理解和很好的掌握.我觉得写程序,应该先找到该程序中的核心地方,用多种方法来实现该核心,这才可能避免等到发现逻辑上或者编译器不支持上的错误,才来想补救的措施,这样花费时间在想补救措施是很不值得的.同时我还深刻的认识到,实践是检验真理的唯一标准.没有实践,就不会发现和深刻体会它的真实所在.只有通过检验的真理,在自己的心里,才会认可它的真实性.我从中深深的感觉到实践和理论的差异,只懂理论而没有实践是不行的,只有把理论和实践相结合才能才能更好的了解程序设计的开发和运行,才能从中有所收益.程序设计的完成,使我们懂得了真理的重要性,理论和实际的相结合,才能真正把握所学和所掌握的知识.措施是很不值得的.
同时,在此我对在程序过程中,老师同学给了我很多宝贵的建议和指点,我很感谢他们.使他们让我学到了很多知识,让我对所学知识有了更深层次的理解.我从中受益很多.
版权申明
本文部分内容,包括文字、图片、以及设计等在网上搜集整理。
版权为潘宏亮个人所有
Thisarticleincludessomeparts,includingtext,pictures,anddesign.CopyrightisPanHongliang'
spersonalownership.
用户可将本文的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人的书面许可,并支付报酬。
Usersmayusethecontentsorservicesofthisarticleforpersonalstudy,researchorappreciation,andothernon-commercialornon-profitpurposes,butatthesametime,theyshallabidebytheprovisionsofcopyrightlawandotherrelevantlaws,andshallnotinfringeuponthelegitimaterightsofthiswebsiteanditsrelevantobligees.Inaddition,whenanycontentorserviceofthisarticleisusedforotherpurposes,writtenpermissionandremunerationshallbeobtainedfromthepersonconcernedandtherelevantobligee.
转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任。
Reproductionorquotationofthecontentofthisarticlemustbereasonableandgood-faithcitation