?? 馬碧沛.cpp
字號:
#include<iostream.h>
#include<string.h>
#include<fstream.h>
class stu
{
char name[20];
double math,VC,english,average,sum;
public:
stu(){}
stu(char n[20],double V,double eng)
{
strcpy(name,n);
math=ma;
VC=V;
english=eng;
}
double getsum()
{
sum=VC+english+math;
return sum;
}
double getaver()
{
average=getsum()/3;
return average;
}
friend void main();
}
void main()
{
cout<<"學(xué)生成績管理系統(tǒng)."<<endl;
cout<<"請選擇您需要的操作!"<<endl;
cout<<"操作:"<<endl;
cout<<"(0)數(shù)據(jù)錄入"<<endl;
cout<<"(1)增加人員"<<endl;
cout<<"(2)刪除人員"<<endl;
cout<<"(3)修改數(shù)據(jù)"<<endl;
cout<<"查詢:"<<endl;
cout<<"(4)按總成績查詢"<<endl;
cout<<"(5)按姓名查詢"<<endl;
cout<<"(6)輸出所有學(xué)生數(shù)據(jù)"<<endl;
cout<<"成績名詞"<<endl;
cout<<"(7)按總分查詢排名"<<endl;
cout<<"(8)按VC查詢排名"<<endl;
cout<<"(9)按數(shù)學(xué)查詢排名"<<endl;
cout<<"(y)按英語查詢排名"<<endl;
cout<<"選擇相操作請輸入相對的括號里的數(shù)字!"<<endl;
char p;char w;
stu *s[50];
ofstream *file[50];
int i=0;
int j=0;
bool flag2=0;
do
{
cin>>p;
if((p>='o'&&p<='10'))
flag2=1;
else
cout<<"指令錯誤!請重新輸入:"<<endl;
}while(flag2=0);
do
{
switch(p)
{
case'0';
{
char name[20];
double math,VC,english;
do
{
cout<<"請輸入姓名"<<endl;
cin>>name;
cout<<"請輸入數(shù)學(xué)成績:"<<endl;
cin>>math;
cout<<"請輸入VC成績:"<<endl;
cin>>VC;
cout<<"請輸入英語成績:"<<endl;
cin>>english;
file[j]=new ofstream("f1",ios::ate);
*file[j]<<"姓名"<<name<<"數(shù)學(xué)成績"<<math<<"VC成績"<<VC<<"英語成績"<<english<<endl;
j++;
s[i]=new stu(name,mtah,VC,english);
i++;
cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎?(y/n)"<<endl;
cin>>c;
flag2=0;
do
{
int flag=0;
cout<<"請輸入你要查詢的學(xué)生的姓名"<<endl;
cin>>n;
for(int j=0;j<i;j++)
{
if(strcmp(n,(*s[j].name)==0)
{
flag=1;
cout<<"您要查詢的學(xué)生是:"<<(*s[j]).name<<endl;
cout<<(*s[j].name<<"的總成績是"<<(*s[j]).getsum()<<endl<<"平均成績是:"
<<(*s[j].getaver()<<endl;
}
}
if(flag=0)
cout<<"對不起,沒有您要查詢的學(xué)生!"<<endl;
cout<<"您想繼續(xù)查詢嗎?(y/n)"<<endl;
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
}
while(c=='y');
break;
}
case'1':
{
char name[20];double math,VC,english;
char c;
do
{
cout<<"請輸入您要增加的學(xué)生的名字:"<<endl;
cin>>name;
cout<<"請輸入數(shù)學(xué)成績:"<<endl;
cin>>math;
cout<<"請輸入VC成績:"<<endl;
cin>>VC;
cout<<"請輸入英語成績:"<<endl;
cin>>english;
file[j]=new ofstream("d:\\document",ios::ate);
*file[j]<<"姓名"<<name<<"數(shù)學(xué)成績"<<math<<"VC成績"<<VC<<"英語成績"
<<english<<endl;
s[i]=new stu(name,math,VC,english);
i++;
cout<<"數(shù)據(jù)錄入成功,想繼續(xù)錄入嗎?(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入"<<endl;
cin>>c;
}
}
while(c=='y');
break;
}
case'2':
{
char name[20];bool flag3=0;char c;
do
{
cout<<"請輸入您要刪除的學(xué)生的名字:"<<endl;
cin>>name;
for(int h=0;h<i;h++)
{
if(strcmp(name,s[h]->name)==0)
{
flag3=1;
i--;
do
{
s[h]=s[h=1];
h++;
}
while(h<=i);
}
}
if(flag3==0)
cout<<"您要刪除的對象不存在!請檢查輸入的正確性!";
cout<<"要繼續(xù)嗎?(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
}
while(c=='y');
break;
}
case'3':
{
do
{
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
else
flag2=1;
}while(flag2=0);
}while(c=='y');
break;
}
case'4':
{
double t;char c;
do
{
int flag=0;
cout<<"請輸入你要查詢的學(xué)生的成績"<<endl;
cin>>t;
for(int q=0;q<i;q++)
{
if(s[q]->getsum()==t)
{
flag1=1;
cout<<"您要查詢的學(xué)生是:"<<(*s[q]).name<<endl;
}
}
if(flag==0)
cout<<"對不起!您要查詢的學(xué)生不存在!"<<endl;
cout<<"您想繼續(xù)查詢嗎?(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!="n")
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
}while(c=='y')
break;
}
case'5':
{
char n[20];int j=0;char c;
char name[20];double mat,chin,eng;flag2=0;
char c;
do
{
cout<<"請輸入您要修改的學(xué)生的名字:"<<endl;
cin<<name;
for(int h=0;h,i;h++)
{
if(strcmp(name,s[h]->name==0)
{
flag2=1;
cout<<"請輸入新學(xué)生的數(shù)學(xué)成績:"<<endl;
cin>>mat;
cout<<"請輸入新學(xué)生的VC成績:"<<endl;
cin>>chin;
cout<<"請輸入新學(xué)生的英語成績:"<<endl;
cin>>eng;
s[h]->eng;
s[h]->VC=chin;
s[h]->math=mat;
s[h]->english=eng;
cout<<"數(shù)據(jù)修改成功!";
}
}
if(flag2=0)
{
cout<<"您要修改的學(xué)生不存在!請檢查重新輸入!"<<endl;
}
cout<<"想繼續(xù)修改嗎(y/n)"<<endl;
cin>>c;
if(c!="y"&&c!="n")
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case'6':
{
cout<<"本系統(tǒng)所有學(xué)生數(shù)據(jù)如下:"<<endl;
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<<
"VC:"<<" "<<s[k]->VC<<"數(shù)學(xué):"<<" "<<s[k]->math<<"英語:"
<<" "<<s[k]->english<<"總分:"<<" "<<(*s[k]).getsum()
<<"平均分:"<<" "<<(*s[k]).getaver()<<endl;
}
break;
}
case'7':
{
int t;stu b;
cout<<"本系統(tǒng)所有學(xué)生排名如下:"<<endl;
for(int x=0;x<i-1;x++)
{
t=x;
for(int y=x+1;y<i;y++)
{
if((s[t]->getsum())<(s[y]->getsum()))
t=y;
if(t!=x)
{
b=*s[x];
*s[x]=*s[t];
*s[t]=b;
}
}
}
if(i==0)
cout<<"管理系統(tǒng)中沒有錄入數(shù)據(jù)或者數(shù)據(jù)已經(jīng)被刪除!";
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<<"VC:"
<<" "<<s[k]->VC<<"數(shù)學(xué):"<<" "<<s[k]->math
<<"英語:"<<" "<<s[k]->english<<"總分:"<<" "
<<s[k]->getsum()<<"平均分:"<<" "<<s[k]->getaver()<<endl;
}
break;
}
case'8':
{
int t;stu b;
cout<<"本系統(tǒng)所有學(xué)生語文排名如下:"<<endl;
for(int x=0;x<i-1;x++)
{
t=x;
for(int y=x+1;y<i;y++)
{
if((s[t]->VC)<(s[y]->VC))
t=y;
if(t!=x)
{
b=*s[t];
*s[t]=*s[x];
*s[x]=b;
}
}
}
if(i=o)
cout<<"管理系統(tǒng)中沒有錄入數(shù)據(jù)或者數(shù)據(jù)已經(jīng)被刪除!";
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<<"VC:"
<<" "<<s[k]->VC<<"數(shù)學(xué):"<<" "<<s[k]->math
<<"英語:"<<" "<<s[k]->english<<"總分:"<<
" "<<s[k]->getsum<<"平均分:"<<" "<<s[k]->getaver
<<endl;
}
break;
}
case'9':
{
int t;stu b;
cout<<"本系統(tǒng)所有學(xué)生數(shù)學(xué)排名如下:"<<endl;
for(int x=0;x<i-1;x++)
{
t=x;
for(int y=x+1;y<i;y++)
{
if((s[t]->math)<s[y]->math)
t=y;
if(t!=x)
b=*s[t];
*s[t]=*s[x];
*s[x]=b;
}
}
}
if(i=0)
cout<<"管理系統(tǒng)中沒有錄入數(shù)據(jù)或者數(shù)據(jù)已經(jīng)被刪除!";
for(int k;k<i;k++)
{
cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<<"VC:"
<<" "<<s[k]->VC<<"數(shù)學(xué):"<<" "<<s[k]->math
<<"英語:"<<" "<<s[k]->english<<"總分:"<<" "
<<s[k]->getsum()<<"平均分:"<<" "<<s[k]->getaver()<<endl;
}
break;
}
case
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -