不知道你要實現什麼樣的功能,下面的你可以參考一下。
#include<iostream.h>
#include<iomanip.h>
void input(); //聲明7個函數
void output();
void paixu();
void chazhao();
void charu();
void shanchu();
void tongji();
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<<" * Made by Shanglogo *"<<endl;
cout<<" * * * * * * * * * * * * * * * * * * * * * *"<<endl;
cout<<endl;
cout<<"請選擇···"<<endl;
cin>>m;
switch(m)
{
case 1: input();break; //選擇七個函數。。
case 2: output();break;
case 3: paixu();break;
case 4: chazhao();break;
case 5: charu();break;
case 6: shanchu();break;
case 7: tongji();break;
case 8: cout<<"謝謝使用!"<<endl;break;
default: cout<<"請輸入正確數字(1--8)"<<endl;
}
}while(m!=8);
}
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;
}
}
}
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;
}
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;
}