C++学籍管理系统.docx
《C++学籍管理系统.docx》由会员分享,可在线阅读,更多相关《C++学籍管理系统.docx(23页珍藏版)》请在冰点文库上搜索。
C++学籍管理系统
C++学生学籍管理系统
1、基本要求:
为方便管理一个班同学的学籍,编写一个学籍管理系统软件。
系统记录必须包括学生姓名、学号、数学、物理、化学、英语、网络等课程成绩。
2、基本管理功能:
(1)添加:
增加一个同学的记录到管理系统中。
(2)查询:
可以根据姓名或学号查找某人的相关信息,若找到则显示其信息。
(3)修改:
在管理系统中修改一个同学的记录。
(4)保存:
将所有学生学籍信息保存在一个文件中(数据库文件或普通的文本文件)。
(5)读取:
从文件中读取已保存了数据。
(6)删除:
从管理系统中删除一条记录。
(7)恢复:
能恢复被删除的记录。
(8)统计:
(A)计算各门课程全班平均成绩及总成绩;(B)统计其课程全班得:
100分、9099分、8089分、7079分、6069分、59分以下学生人数及全班总人数的百分比;(C)以表格形式打印全部学生的平均成绩(包括各课总的平均成绩)。
(9)其他:
可以根据自己的思路设计其他功能。
PS:
我们报告是手写的,所以报告没有弄上来,不过源程序大家可以看一下,下面是运行的界面
剩下的功能大家自己试吧,这里就不截图了。
源程序:
(头文件#include""和主函数intmain(intargc,char*argv[])是建工程时自带的,把之前的清掉后直接复制即可)
#include""
#include
#include
#include
#include
#include<>
#include<>
#include
usingnamespacestd;
intn=0,u=0;
intnumber[5][6]={{0},{0},{0},{0},{0}};ame>>j[i].num>>j[i].sex>>j[i].shuxue>>j[i].wuli>>j[i].huaxue>>j[i].yingyu>>j[i].wangluo;
cout<<'\n';
system("cls");
}}
voidadd_massage(intm,Studentj[])ame>>j[i].num>>j[i].sex>>j[i].shuxue>>j[i].wuli>>j[i].huaxue>>j[i].yingyu>>j[i].wangluo;
system("cls");
}
n=n+m;}
voidchange_data(intm,Studentj[])ame>>j[m-1].num>>j[m-1].sex>>j[m-1].shuxue>>j[m-1].wuli>>j[m-1].huaxue>>j[m-1].yingyu>>j[m-1].wangluo;
system("cls");
cout<"<}
voidput_massage(intm,Studentj[])
{inti;
cout<<"________________________________________________________________"<cout<<"|序号|姓名|学号|性别|数学|物理|化学|英语|网络|"<cout<<"|----|--------|----------|----|----|----|----|----|----|"<for(i=0;i{
cout<<"|";cout<<""<:
left)<:
fixed)<cout<<""<:
left)<:
fixed)<cout<:
left)<:
fixed)<cout<<""<:
left)<:
fixed)<cout<<""<:
left)<:
fixed)<cout<<""<:
left)<:
fixed)<cout<<""<:
left)<:
fixed)<cout<<""<:
left)<:
fixed)<cout<<""<:
left)<:
fixed)<cout<<'\n';}
cout<<"|____|________|__________|____|____|____|____|____|____|"<}
voidsearch_data()姓名查找"<cin>>a;
system("cls");
switch(a)
{case'1':
cout<<"输入您需要查找的学生姓名:
";cin>>find_name;search_name(find_name);break;
case'2':
cout<<"输入您需要查找的学号:
";cin>>find_num;search_num(find_num);break;
case'3':
cout<cout<<"学生学籍信息"<put_massage(n,stud);getch();break;
case'4':
break;
default:
cout<按任意键返回。
"<}}
}
voidsearch_name(stringname)ame==name)
{cout<<"________________________________________________________________"<cout<<"|序号|姓名|学号|性别|数学|物理|化学|英语|网络|"<cout<<"|----|--------|----------|----|----|----|----|----|----|"<cout<<"|";cout<<""<:
left)<
cout<<""<:
left)<cout<:
left)<cout<<""<:
left)<cout<<""<:
left)<cout<<""<:
left)<cout<<""<:
left)<cout<<""<:
left)<cout<<""<:
left)<cout<<'\n';
cout<<"|____|________|__________|____|____|____|____|____|____|"<flag=true;
break;
}
if(flag==false)
cout<<"对不起,暂无此学生信息";
getch();}
voidsearch_num(stringnum)um==num)
{cout<<"________________________________________________________________"<cout<<"|序号|姓名|学号|性别|数学|物理|化学|英语|网络|"<cout<<"|----|--------|----------|----|----|----|----|----|----|"<cout<<"|";cout<<""<:
left)<
cout<<""<:
left)<cout<:
left)<cout<<""<:
left)<cout<<""<:
left)<cout<<""<:
left)<cout<<""<:
left)<cout<<""<:
left)<cout<<""<:
left)<cout<<'\n';
cout<<"|____|________|__________|____|____|____|____|____|____|"<flag=true;
break;
}
if(flag==false)
cout<<"对不起,暂无此学生信息";
getch();}
voidset_number()huxue==100)
t++;
}
number[e][f]=t;
for(e=1,f=0,t=0,i=0;i{if(stud[i].wuli==100)
t++;
}
number[e][f]=t;
for(e=2,f=0,t=0,i=0;i{if(stud[i].huaxue==100)
t++;
}
number[e][f]=t;
for(e=3,f=0,t=0,i=0;i{if(stud[i].yingyu==100)
t++;
}
number[e][f]=t;
for(e=4,f=0,t=0,i=0;i{if(stud[i].wangluo==100)
t++;
}
number[e][f]=t;
for(e=0,f=1,t=0,i=0;i=90&&stud[i].shuxue<=99)
t++;
}
number[e][f]=t;
for(e=1,f=1,t=0,i=0;i=90&&stud[i].wuli<=99)
t++;
}
number[e][f]=t;
for(e=2,f=1,t=0,i=0;i=90&&stud[i].huaxue<=99)
t++;
}
number[e][f]=t;
for(e=3,f=1,t=0,i=0;i=90&&stud[i].yingyu<=99)
t++;
}
number[e][f]=t;
for(e=4,f=1,t=0,i=0;i=90&&stud[i].wangluo<=99)
t++;
}
number[e][f]=t;
for(e=0,f=2,t=0,i=0;i=80&&stud[i].shuxue<=89)
t++;
}
number[e][f]=t;
for(e=1,f=2,t=0,i=0;i=80&&stud[i].wuli<=89)
t++;
}
number[e][f]=t;
for(e=2,f=2,t=0,i=0;i=80&&stud[i].huaxue<=89)
t++;
}
number[e][f]=t;
for(e=3,f=2,t=0,i=0;i=80&&stud[i].yingyu<=89)
t++;
}
number[e][f]=t;
for(e=4,f=2,t=0,i=0;i=80&&stud[i].wangluo<=89)
t++;
}
number[e][f]=t;
for(e=0,f=3,t=0,i=0;i=90&&stud[i].shuxue<=99)
t++;
}
number[e][f]=t;
for(e=1,f=3,t=0,i=0;i=70&&stud[i].wuli<=79)
t++;
}
number[e][f]=t;
for(e=2,f=3,t=0,i=0;i=70&&stud[i].huaxue<=79)
t++;
}
number[e][f]=t;
for(e=3,f=3,t=0,i=0;i=70&&stud[i].yingyu<=79)
t++;
}
number[e][f]=t;
for(e=4,f=3,t=0,i=0;i=70&&stud[i].wangluo<=79)
t++;
}
number[e][f]=t;
for(e=0,f=4,t=0,i=0;i=60&&stud[i].shuxue<=69)
t++;
}
number[e][f]=t;
for(e=1,f=4,t=0,i=0;i=60&&stud[i].wuli<=69)
t++;
}
number[e][f]=t;
for(e=2,f=4,t=0,i=0;i=60&&stud[i].huaxue<=69)
t++;
}
number[e][f]=t;
for(e=3,f=4,t=0,i=0;i=60&&stud[i].yingyu<=69)
t++;
}
number[e][f]=t;
for(e=4,f=4,t=0,i=0;i=60&&stud[i].wangluo<=69)
t++;
}
number[e][f]=t;
for(e=0,f=5,t=0,i=0;i=0&&stud[i].shuxue<=59)
t++;
}
number[e][f]=t;
for(e=1,f=5,t=0,i=0;i=0&&stud[i].wuli<=59)
t++;
}
number[e][f]=t;
for(e=2,f=5,t=0,i=0;i=0&&stud[i].huaxue<=59)
t++;
}
number[e][f]=t;
for(e=3,f=5,t=0,i=0;i=0&&stud[i].yingyu<=59)
t++;
}
number[e][f]=t;
for(e=4,f=5,t=0,i=0;i=0&&stud[i].wangluo<=59)
t++;
}
number[e][f]=t;
}
voidset_point()huxue;}
eva[0]=s/(n*;
for(i=0,s=0;i{s=s+stud[i].wuli;}
eva[1]=s/(n*;
for(i=0,s=0;i{s=s+stud[i].huaxue;}
eva[2]=s/(n*;
for(i=0,s=0;i{s=s+stud[i].yingyu;}
eva[3]=s/(n*;
for(i=0,s=0;i{s=s+stud[i].wangluo;}
eva[4]=s/(n*;
}
voidput_result()询每位学生的总平均分"<cin>>g;
system("cls");
switch(g)
{case'1':
put_result1();getch();break;
case'2':
put_result2();getch();break;
case'3':
put_result3();getch();break;
case'4':
break;
default:
cout<按任意键返回。
"<}
}}
voidput_result1()ame<<""<<"|";cout<:
right)<}
cout<<"|_______|________|"<}
voidput_result2()存文件"<cin>>g;
system("cls");
switch(g)
{case'1':
save_data();break;
case'2':
read_data();break;
case'3':
break;
default:
cout<按任意键返回。
"<}
}}
voidsave_data()at");
ofstreamoutfile("学生学籍信息.dat",ios:
:
out);
if(outfile==0)
{cerr<<"打开失败!
"<exit
(1);
}
else
{
for(i=0;i{
outfile<outfile<outfile<outfile<outfile<outfile<outfile<outfile<}
n=i;
cout<