C++学籍管理系统.docx
《C++学籍管理系统.docx》由会员分享,可在线阅读,更多相关《C++学籍管理系统.docx(28页珍藏版)》请在冰豆网上搜索。
![C++学籍管理系统.docx](https://file1.bdocx.com/fileroot1/2022-12/31/f128c457-cf8c-44eb-b99b-c27695fd3eda/f128c457-cf8c-44eb-b99b-c27695fd3eda1.gif)
C++学籍管理系统
C++学生学籍管理系统
1、基本要求:
为方便管理一个班同学的学籍,编写一个学籍管理系统软件。
系统记录必须包括学生姓名、学号、数学、物理、化学、英语、网络等课程成绩。
2、基本管理功能:
(1)添加:
增加一个同学的记录到管理系统中。
(2)查询:
可以根据姓名或学号查找某人的相关信息,若找到则显示其信息。
(3)修改:
在管理系统中修改一个同学的记录。
(4)保存:
将所有学生学籍信息保存在一个文件中(数据库文件或普通的文本文件)。
(5)读取:
从文件中读取已保存了数据。
(6)删除:
从管理系统中删除一条记录。
(7)恢复:
能恢复被删除的记录。
(8)统计:
(A)计算各门课程全班平均成绩及总成绩;(B)统计其课程全班得:
100分、90~99分、80~89分、70~79分、60~69分、59分以下学生人数及全班总人数的百分比;(C)以表格形式打印全部学生的平均成绩(包括各课总的平均成绩)。
(9)其他:
可以根据自己的思路设计其他功能。
PS:
我们报告是手写的,所以报告没有弄上来,不过源程序大家可以看一下,下面是运行的界面
剩下的功能大家自己试吧,这里就不截图了。
源程序:
(头文件#include"stdafx.h"和主函数intmain(intargc,char*argv[])是建工程时自带的,把之前的清掉后直接复制即可)
#include"stdafx.h"
#include
#include
#include
#include
#include
#include
#include
usingnamespacestd;
intn=0,u=0;
intnumber[5][6]={{0},{0},{0},{0},{0}};//各门学科分段成绩的人数
doublepoint[5][6]={{0},{0},{0},{0},{0}};
doubleeva[5]={0,0,0,0,0};
stringfind_name;
stringfind_num;
intp;
voidsearch(string);
voidsearch(int);
voidcunqu_data();/*存取文件*/
voidsave_data();/*保存文件*/
voidread_data();/*读取文件*/
voidrenew_data();/*删除恢复*/
voiddelete_data(intm);/*删除记录*/
voidrecover_data();/*恢复记录*/
voidset_eva2();/*课程的平均成绩*/
voidput_result1();
voidput_result2();
voidput_result3();
classStudent/*定义一个Student类*/
{public:
Student();/*构造函数*/
voidset_eva();
friendvoidset_massage(intm,Studentj[]);/*友元函数*/
friendvoidadd_massage(intm,Studentj[]);/*友元函数*/
friendvoidput_massage(intm,Studentj[]);
friendvoidchange_data(intm,Studentj[]);/*修改学生信息*/
friendvoidsearch_data();/*查找学生信息*/
friendvoidsearch_name(stringname);
friendvoidsearch_num(stringnum);
friendvoidset_number();
friendvoidset_point();
friendvoidsave_data();/*保存文件*/
friendvoidread_data();/*读取文件*/
friendvoiddelete_data(intm);/*删除记录*/
friendvoidrecover_data();/*恢复记录*/
friendvoidset_eva2();/*课程的平均成绩*/
friendvoidput_result1();
private:
stringname;/*姓名*/
stringnum;/*学号*/
stringsex;/*性别*/
doubleeva;/*学习水平*/
doubleshuxue;/*数学成绩*/
doublewuli;/*物理成绩*/
doublehuaxue;/*化学成绩*/
doubleyingyu;/*英语成绩*/
doublewangluo;/*网络成绩*/
}stud[200],studl[200];
Student:
:
Student()/*定义构造函数*/
{name="wu";
num="wu";
sex="wu";
shuxue=0;
wuli=0;
huaxue=0;
yingyu=0;
wangluo=0;
}
voidStudent:
:
set_eva()//计算平均成绩
{eva=(shuxue+wuli+huaxue+yingyu+wangluo)/5;
}
voidset_massage(intm,Studentj[])
{inti;
for(i=0;i{cout<<"输入第"<
cout<<"姓名学号性别数学成绩物理成绩化学成绩英语成绩网络成绩"<cin>>j[i].name>>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[])//增加学生信息
{inti;
for(i=n;i{cout<<"输入第"<
cout<<"姓名学号性别数学成绩物理成绩化学成绩英语成绩网络成绩"<cin>>j[i].name>>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[])//修改学生信息
{if(m==0||m>n)
{cout<<"输入错误!
"<else
{
cout<cout<<"输入该同学的新学籍信息"<cout<<"______________________________"<cout<<"姓名学号性别数学成绩物理成绩化学成绩英语成绩网络成绩"<cin>>j[m-1].name>>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()//查找功能
{chara;
for(a='0';a=='0'||a!
='4';)
{system("cls");
cout<<"1.按姓名查找"<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)//按姓名查找
{inti;
boolflag=false;
for(i=0;iif(stud[i].name==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)//按学号查找
{inti;
boolflag=false;
for(i=0;iif(stud[i].num==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()//number[][]开始
{inte,f,i,t;
for(e=0,f=0,t=0,i=0;i{if(stud[i].shuxue==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{if(stud[i].shuxue>=90&&stud[i].shuxue<=99)
t++;
}
number[e][f]=t;
for(e=1,f=1,t=0,i=0;i{if(stud[i].wuli>=90&&stud[i].wuli<=99)
t++;
}
number[e][f]=t;
for(e=2,f=1,t=0,i=0;i{if(stud[i].huaxue>=90&&stud[i].huaxue<=99)
t++;
}
number[e][f]=t;
for(e=3,f=1,t=0,i=0;i{if(stud[i].yingyu>=90&&stud[i].yingyu<=99)
t++;
}
number[e][f]=t;
for(e=4,f=1,t=0,i=0;i{if(stud[i].wangluo>=90&&stud[i].wangluo<=99)
t++;
}
number[e][f]=t;
for(e=0,f=2,t=0,i=0;i{if(stud[i].shuxue>=80&&stud[i].shuxue<=89)
t++;
}
number[e][f]=t;
for(e=1,f=2,t=0,i=0;i{if(stud[i].wuli>=80&&stud[i].wuli<=89)
t++;
}
number[e][f]=t;
for(e=2,f=2,t=0,i=0;i{if(stud[i].huaxue>=80&&stud[i].huaxue<=89)
t++;
}
number[e][f]=t;
for(e=3,f=2,t=0,i=0;i{if(stud[i].yingyu>=80&&stud[i].yingyu<=89)
t++;
}
number[e][f]=t;
for(e=4,f=2,t=0,i=0;i{if(stud[i].wangluo>=80&&stud[i].wangluo<=89)
t++;
}
number[e][f]=t;
for(e=0,f=3,t=0,i=0;i{if(stud[i].shuxue>=90&&stud[i].shuxue<=99)
t++;
}
number[e][f]=t;
for(e=1,f=3,t=0,i=0;i{if(stud[i].wuli>=70&&stud[i].wuli<=79)
t++;
}
number[e][f]=t;
for(e=2,f=3,t=0,i=0;i{if(stud[i].huaxue>=70&&stud[i].huaxue<=