C++学生成绩管理系统源代码Word文档格式.docx
- 文档编号:22459571
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:17
- 大小:17.50KB
C++学生成绩管理系统源代码Word文档格式.docx
《C++学生成绩管理系统源代码Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++学生成绩管理系统源代码Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
{};
voidWrite(studentstud[],intn)//向文件中写入数据
fstreammyFile;
myFile.open("
score.txt"
ios:
:
out|ios:
binary);
if(!
myFile)
{
cout<
<
"
score.txtcan'
topen!
endl;
abort();
}
intcount=n;
myFile<
count<
endl<
for(inti=0;
i<
=count;
i++)
myFile<
stud[i].class_0<
"
stud[i].num<
stud[i].name<
stud[i].c_program<
stud[i].english<
stud[i].math<
stud[i].average<
myFile.close();
}
intRead(studentstud[])//从文件中读数据
in|ios:
intcount;
myFile.seekg(0);
myFile>
>
count;
{
myFile>
stud[i].class_0>
stud[i].num>
stud[i].name>
stud[i].c_program>
stud[i].english>
stud[i].math>
stud[i].average;
returncount;
voidInput(studentstud[])//---------------输入学生成绩
system("
cls"
);
/*运行前清屏*/
inti=0;
intflag;
charsign;
cout<
请输入学生成绩<
\n"
while(sign!
='
n'
&
sign!
N'
)/*判断*/
班级:
;
/*交互输入*/
cin>
stud[i].class_0;
loop:
学号:
stud[i].num;
intc=0;
while(c<
i)
{
c++;
if(stud[i].num==stud[i-c].num)
{
cout<
你输入的学号已经存在!
请重新输入!
gotoloop;
}
}
姓名:
stud[i].name;
do{
flag=0;
C++成绩:
stud[i].c_program;
if(stud[i].c_program>
100||stud[i].c_program<
1)
请输入1-100之间的数字!
else
flag=1;
}while(flag==0);
flag=0;
英语成绩:
stud[i].english;
if(stud[i].english>
100||stud[i].english<
cout<
数学成绩:
stud[i].math;
if(stud[i].math>
100||stud[i].math<
stud[i].average=(stud[i].c_program+stud[i].english+stud[i].math)/3;
平均分:
继续录入学生成绩?
(y/n)"
sign;
/*输入判断*/
i++;
}
Write(stud,i);
voidStatistic(studentstud[])//---------------统计学生数据
intn=Read(stud);
显示学生成绩<
班级"
\t"
学号"
姓名"
平均分"
for(inti=0;
n;
cout<
\t"
pause"
voidLookup(studentstud[])//---------------查找学生成绩
{intp;
请选择1.按学号查找2.按姓名查找"
cin>
p;
if(p==1)
{
ints;
查找学生成绩<
请输入查找学生的学号:
s;
while((stud[i].num-s)!
=0&
n)i++;
/*查找判断*/
if(i==n)
没有该学生的信息!
/*输入失败信息*/
else
---------------------------"
/*输出该学生信息*/
C++:
英语:
数学:
平均分:
if(p==2)
{system("
intm=Read(stud);
chart;
请输入查找学生的姓名:
t;
while(strcmp(stud[i].name-t,stud[i].name)==0&
m)i++;
voidModify(studentstud[])//---------------修改学生成绩
ints,a;
floatq;
修改学生成绩<
输入修改成绩学生的学号:
没有该学生的成绩!
/*输入失败信息*/
----------该学生的信息----------\n"
/*格式头*/
学号"
姓名"
c++"
英语"
数学"
平均分"
---------------------------------"
请输入要修改的课程号"
1.c语言2.英语3.数学"
cin>
a;
重新输入分数"
q;
if(a==1)stud[i].c_program=q;
if(a==2)stud[i].english=q;
if(a==3)stud[i].math=q;
stud[i].average=(stud[i].c_program+stud[i].english+stud[i].math)/3;
charc;
是否保存数据?
c;
if(c!
c!
)
Write(stud,n);
voidInsert(studentstud[])//---------------增加学生成绩
chars;
************插入学生成绩***********\n"
while(s!
s!
stud[n].class_0;
stud[n].num;
stud[n].name;
stud[n].c_program;
stud[n].english;
stud[n].math;
stud[n].average=(stud[n].c_program+stud[n].english+stud[n].math)/3;
stud[n].average;
n++;
插入成功!
/*返回成功信息*/
是否继续输入(y/n)"
voidManage(studentstud[])//---------------按平均分对学生成绩记录项进行降序排序
/*运行前清屏*/
inti,j,k;
floats;
chart[20];
**********排列管理成绩**********\n"
for(i=0;
n-1;
i++)/*冒泡法排序*/
for(j=0;
j<
n-1-i;
j++)
if(stud[j].average<
stud[j+1].average)
{
strcpy(t,stud[j+1].class_0);
strcpy(stud[j+1].class_0,stud[j].class_0);
strcpy(stud[j].class_0,t);
k=stud[j+1].num;
stud[j+1].num=stud[j].num;
stud[j].num=k;
strcpy(t,stud[j+1].name);
strcpy(stud[j+1].name,stud[j].name);
strcpy(stud[j].name,t);
s=stud[j+1].c_program;
stud[j+1].c_program=stud[j].c_program;
stud[j].c_program=s;
s=stud[j+1].english;
stud[j+1].english=stud[j].english;
stud[j].english=s;
s=stud[j+1].math;
stud[j+1].math=stud[j].math;
s=stud[j+1].average;
stud[j+1].average=stud[j].average;
stud[j].average=s;
}
-------------------------------------"
C++"
名次"
for(i=0;
i++)/*循环输入*/
stud[i].order=i+1;
stud[i].order<
Write(stud,n);
voidOutput(studentstud[])//---------------显示全部学生成绩
*****************显示班级学生成绩*****************\n"
stud)
没有记录"
-------------------------------------------------------------------------"
for(inti=0;
<
intmenu()/*菜单函数*/
do
system("
*******************************************************\n"
-----------------欢迎使用学生成绩管理系统-------------\n"
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
*【1】输入学生成绩*"
*【2】显示学生成绩*"
*【3】查找学生成绩*"
*【4】修改学生成绩*"
*【5】插入学生成绩*"
*【6】排列管理成绩*"
*【7】显示班级学生成绩*"
*【0】退出本系统*"
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
请你选择(0-7):
c=getchar();
/*读入选择*/
while(c<
'
0'
||c>
8'
return(c-'
/*返回选择*/
}
voidmain()/*主函数*/
for(;
)
switch(menu())/*选择判断*/
{
case1:
Input(stud);
/*输入学生成绩*/
break;
case2:
Statistic(stud);
/*输出学生统计数据*/
case3:
Lookup(stud);
/*查找学生成绩*/
\t\t\t"
system("
case4:
Modify(stud);
/*修改学生成绩*/
case5:
Inse
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 学生 成绩管理系统 源代码