#include<iostream.h>
#include<iomanip.h>
#include<string.h>
void input(); //声明9个函数
void output();
void paixu();
void chazhao();
void charu();
void shanchu();
void tongji();
void bukao();
void xiugai();
struct Student //结构体
{
int num;
char name[12];
float math;
float eng;
float com;
float sum;
float ave;
};
Student x[30];
int N=0;
void main()
{
int m;
do
{ //开场效果
cout<<endl;
cout<<endl;
cout<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl;
cout<<" * 欢迎使用学生信息管理系统 *"<<endl;
cout<<" * 1.输入信息 2.输出信息 *"<<endl;
cout<<" * 3.总分排序 4.查找信息 *"<<endl;
cout<<" * 5.插入信息 6.删除信息 *"<<endl;
cout<<" * 7.补考学生 8.修改信息 *"<<endl;
cout<<" * 9.统计分数 0.退出系统 *"<<endl;
cout<<" * 第三组:尚靖博 李超 王蒙 许小慧 张婉君 王东 刘家俊 *"<<endl;
cout<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl;
cout<<endl;
cout<<"请选择···"<<endl;
cin>>m;
switch(m)
{
case 1: input();break; //选择9个函数。。
case 2: output();break;
case 3: paixu();break;
case 4: chazhao();break;
case 5: charu();break;
case 6: shanchu();break;
case 7: bukao();break;
case 8: xiugai();break;
case 9: tongji();break;
case 0: cout<<"谢谢使用!"<<endl;break;
default: cout<<"请输入正确数字(0--9)"<<endl;
}
}while(m!=0);
}
//***********************************************************
void bukao() //输出不及格的学生名单
{
if(N>0)
{
cout<<setw(10)<<"学号"<<setw(10)<<"姓名"<<setw(10)<<"数学"<<setw(10)<<"英语"<<setw(10)<<"计算机"<<setw(10)<<"总分"<<setw(10)<<"平均分"<<endl;
for(int m=0;m<N;m++)
if(x[m].ave<60)
cout<<setw(10)<<x[m].num<<setw(10)<<x[m].name<<setw(10)<<x[m].math<<setw(10)<<x[m].eng<<setw(10)<<x[m].com<<setw(10)<<x[m].sum<<setw(10)<<x[m].ave<<endl;
cout<<"\0"<<endl;
}
else
cout<<"未输入任何信息!!"<<endl;
}
//***********************************************************
void xiugai() //修改学生信息
{
if(N>0)
{
int n;
int i=0;
int flag=0;
cout<<"请输入您要修改的学生的学号:";
cin>>n;
do {
if(n==x[i].num)
{
cout<<"请输入姓名"<<endl;
cin>>x[i].name;
do
{
cout<<"请输入数学成绩(0--100)"<<endl;
cin>>x[i].math;
}while(x[i].math<0||x[i].math>100);
do
{
cout<<"请输入英语成绩(0--100)"<<endl;
cin>>x[i].eng;
}while(x[i].eng<0||x[i].eng>100);
do
{
cout<<"请输入计算机成绩"<<endl;
cin>>x[i].com;
}while(x[i].com<0||x[i].com>100);
x[i].sum=x[i].math+x[i].eng+x[i].com;
x[i].ave=x[i].sum/3;
flag=1;
cout<<".......数据修改成功!.......\n";
break;
}
}while(i<N);
if(flag==0) cout<<"对不起!您要修改的学生不存在!请检查重新输入!!!!!!!"<<endl;
}
if(N<=0)
cout<<"未输入任何信息!!"<<endl;
}
//***********************************************************
void input() //输入信息
{
char m;
do
{
int n=0;int z=N,t=0;
do{
t=0;
cout<<"请输入学号!"<<endl;
cin>>x[N].num;
for( n=0;n<z;n++)
if(x[N].num==x[n].num)
{
cout<<"该学号已存在!!"<<endl;
t++;
break;
}
}while(t==1);
cout<<"请输入姓名"<<endl;
cin>>x[N].name;
do
{
cout<<"请输入数学成绩(0--100)"<<endl;
cin>>x[N].math;
}while(x[N].math<0||x[N].math>100);
do
{
cout<<"请输入英语成绩(0--100)"<<endl;
cin>>x[N].eng;
}while(x[N].eng<0||x[N].eng>100);
do
{
cout<<"请输入计算机成绩"<<endl;
cin>>x[N].com;
}while(x[N].com<0||x[N].com>100);
x[N].sum=x[N].math+x[N].eng+x[N].com;
x[N].ave=x[N].sum/3;
cout<<"是否继续输入?(继续请输入y,结束输入其他)"<<endl;
cin>>m;
N++;
}while(m=='y');
}
//***********************************************************
void output() //输出信息
{
int m;
if(N>0)
{
cout<<setw(10)<<"学号"<<setw(10)<<"姓名"<<setw(10)<<"数学"<<setw(10)<<"英语"<<setw(10)<<"计算机"<<setw(10)<<"总分"<<setw(10)<<"平均分"<<endl;
for(m=0;m<N;m++)
cout<<setw(10)<<x[m].num<<setw(10)<<x[m].name<<setw(10)<<x[m].math<<setw(10)<<x[m].eng<<setw(10)<<x[m].com<<setw(10)<<x[m].sum<<setw(10)<<x[m].ave<<endl;
cout<<"\0"<<endl;
}
else
cout<<"未输入任何信息!!"<<endl;
}
//***********************************************************
void paixu() //排序
{
if(N>0)
{
for(int k=0;k<N-1;k++)
for(int m=0;m<N-k;m++)
{
Student max;
if(x[m].sum<x[m+1].sum)
{
max=x[m+1];
x[m+1]=x[m];
x[m]=max;
}
}
cout<<setw(10)<<"学号"<<setw(10)<<"姓名"<<setw(10)<<"数学"<<setw(10)<<"英语"<<setw(10)<<"计算机"<<setw(10)<<"总分"<<setw(10)<<"平均分"<<endl;
for(int m=0;m<N;m++)
cout<<setw(10)<<x[m].num<<setw(10)<<x[m].name<<setw(10)<<x[m].math<<setw(10)<<x[m].eng<<setw(10)<<x[m].com<<setw(10)<<x[m].sum<<setw(10)<<x[m].ave<<endl;
cout<<"\0"<<endl;
}
else
cout<<"未输入任何信息!!"<<endl;
}
//***********************************************************
void chazhao() //查找
{
int n;
if(N>0)
{
cout<<"请输入要查找学生的大约学号!"<<endl;
cin>>n;
for(int m=0;m<N;m++)
if(x[m].num==n)
{
cout<<setw(10)<<"学号"<<setw(10)<<"姓名"<<setw(10)<<"数学"<<setw(10)<<"英语"<<setw(10)<<"计算机"<<setw(10)<<"总分"<<setw(10)<<"平均分"<<endl;
cout<<setw(10)<<x[m].num<<setw(10)<<x[m].name<<setw(10)<<x[m].math<<setw(10)<<x[m].eng<<setw(10)<<x[m].com<<setw(10)<<x[m].sum<<setw(10)<<x[m].ave<<endl;
break;
}
if(x[m].num!=n)
cout<<"该学号不存在!!"<<endl;
}
else
cout<<"未输入任何信息!!"<<endl;
}
//***********************************************************
void charu() //插入
{
char n;
do
{
cout<<"请输入学号!"<<endl;
cin>>x[N].num;
cout<<"请输入姓名"<<endl;
cin>>x[N].name;
do
{
cout<<"请输入数学成绩(0--100)"<<endl;
cin>>x[N].math;
}while(x[N].math<0||x[N].math>100);
do
{
cout<<"请输入英语成绩(0--100)"<<endl;
cin>>x[N].eng;
}while(x[N].eng<0||x[N].eng>100);
do
{
cout<<"请输入计算机成绩"<<endl;
cin>>x[N].com;
}while(x[N].com<0||x[N].com>100);
x[N].sum=x[N].math+x[N].eng+x[N].com;
x[N].ave=x[N].sum/3;
N++;
cout<<"是否继续输入?(继续,输入y,否则输入其他)"<<endl;
cin>>n;
}while(n=='y');
}
//***********************************************************
void shanchu() //删除
{
if(N>0)
{
cout<<"请输入要删除学生的学号!"<<endl;
int n,t=0;
cin>>n;
for(int m=0;m<N;m++)
if(x[m].num==n)
{
for(int k=m;k<=N+1;k++)
x[k]=x[k+1];
N--;
t=1;
cout<<"已经完全删除一条学号为"<<n<<"的全部信息"<<endl;
}
if(t==0)
cout<<"该学号不存在!!"<<endl;
}
else
cout<<"未输入任何信息!!"<<endl;
}
//***********************************************************
void tongji() //统计
{
if(N>0)
{
int n,a=0,b=0,c=0,d=0,e=0,f=0;
for(int m=0;m<N;m++)
{
n=(int)x[m].ave/10;
switch(n)
{
case 10: a++;break;
case 9: b++;break;
case 8: c++;break;
case 7: d++;break;
case 6: e++;break;
default: f++;
}
}
cout<<"分数段 100"<<" 90--100"<<" 80--90 "<<" 70--80 "<<" 60--70 "<<" 60以下 "<<endl;
cout<<"人数 "<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<" "<<f<<endl;
}
else
cout<<"未输入任何信息!!"<<endl;
}//***********************************************************
geoff1314
- 粉丝: 4
- 资源: 11
最新资源
- 基于web的在线学习管理系统设计与实现
- 基于JavaWeb的汽车租赁平台论文.doc
- 基于javaweb的KTV点歌管理系统论文.doc
- 预警插件-Fine-report11
- 建设项目现场高温人员中暑事故应急预案.docx
- 建设项目工程超高层测量放线控制方案.docx
- 建筑公司建设项目现场雷电事故应急预案.docx
- 建筑公司员工食物中毒事故应急预案.docx
- 建筑公司建设项目现场风灾事故应急预案.docx
- 建筑集团建设项目火险应急预案.docx
- 深圳建设施工项目物体打击事故应急预案.docx
- 深圳建设项目高处坠落事故应急预案.docx
- 深圳建设项目机械伤害事故应急预案.docx
- 深圳建设项目施工现场各类事故应急预案.docx
- 深圳建设项目现场触电应急预案.docx
- 深圳建设项目坍塌事故应急预案.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页