ç¨accessæ°æ®åºæ¯è¾å¥½ï¼ç®åï¼åè代ç å¦ä¸ï¼å¸æ对æ¨æ帮å©
ä¾åèç代ç ï¼
#include<iostream.h>
#include<string.h>
#include<fstream.h>
class stu
{
char name[20];
double math,chinese,english,average,sum;
public:
stu()
{
}
stu(char n[20],double ma,double chin,double eng)
{
strcpy(name,n);
math=ma;
chinese=chin;
english=eng;
}
double getsum()
{
sum=chinese+english+math;
return sum;
}
double getaver()
{
average=getsum()/3;
return average;
}
friend void main();
};
void main()
{
cout<<"请éæ©æ¨éè¦çæä½ï¼"<<endl;
cout<<"æä½ï¼"<<endl;
cout<<"(0)æ°æ®å½å
¥"<<endl;
cout<<"(1)å¢å 人å"<<endl;
cout<<"(2)å é¤äººå"<<endl;
cout<<"(3)ä¿®æ¹æ°æ®"<<endl;
cout<<"æ¥è¯¢ï¼"<<endl;
cout<<"(4)ææ»æ绩æ¥è¯¢"<<endl;
cout<<"(5)æå§åæ¥è¯¢"<<endl;
cout<<"(6)è¾åºææå¦ççæ°æ®"<<endl;
cout<<"æ绩åè¯"<<endl;
cout<<"(7)ææ»åæ¥è¯¢æå"<<endl;
cout<<"(8)æè¯ææ¥è¯¢æå"<<endl;
cout<<"(9)ææ°å¦æ¥è¯¢æå"<<endl;
cout<<"(y)æè±è¯æ¥è¯¢æå"<<endl;
cout<<"éæ©ç¸å
³æä½è¯·è¾å
¥ç¸å¯¹çæ¬å·éçé¿æ伯æ°åï¼"<<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>='0'&&p<='10'))
flag2=1;
else
cout<<"æ令é误ï¼è¯·éæ°è¾å
¥ï¼"<<endl;
}while(flag2==0);
do{
switch(p)
{
case '0':
{
char c;
char name[20];double math,chinese,english;
do{
cout<<"请è¾å
¥å§å"<<endl;
cin>>name;
cout<<"请è¾å
¥æ°å¦æ绩ï¼"<<endl;
cin>>math;
cout<<"请è¾å
¥è¯ææ绩ï¼"<<endl;
cin>>chinese;
cout<<"请è¾å
¥å¤è¯æ绩ï¼"<<endl;
cin>>english;
file[j]=new ofstream("d:\\document",ios::ate);
*file[j]<<"å§å"<<name<<"æ°å¦æ绩"<<math<<"è¯ææ绩"<<chinese<<"å¤è¯æ绩"<<english<<endl;
j++;
s[i]=new stu(name, math, chinese, english);
i++;
cout<<"æ°æ®å½å
¥æåï¼æ³ç»§ç»å½å
¥å(y/n)"<<endl;
cin>>c;
flag2=0;
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 flag1=0;
cout<<"请è¾å
¥ä½ è¦æ¥è¯¢å¦ççæ»æ绩"<<endl;
cin>>t;
for(int q=0;q<i;q++)
{
if(s[q]->getsum()==t)
{
flag1=1;
cout<<"æ¨è¦æ¥è¯¢çå¦çæ¯ï¼"<<(*s[q]).name<<endl;
}
}
if(flag1==0)
cout<<"对ä¸èµ·ï¼æ¨è¦æ¥è¯¢çå¦çä¸åå¨ï¼"<<endl;
cout<<"æ¨æ³ç»§ç»æ¥è¯¢å?(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;
do{
int flag=0;
cout<<"请è¾å
¥ä½ è¦æ¥è¯¢çå¦çå§å"<<endl;
cin>>n;
for(int j=0;j<i;j++)
{
if(strcmp(n,(*s[j]).name)==0)
{
flag=1;
cout<<"æ¨è¦æ¥è¯¢çå¦çæ¯ï¼"<<(*s[j]).name<<endl;
cout<<(*s[j]).name<<"çæ»æ绩æ绩æ¯"<<(*s[j]).getsum()<<endl<<"å¹³åæ绩æ¯ï¼"<<(*s[j]).getaver()<<endl;
}
}
if(flag==0)
cout<<"对ä¸èµ·!æ¨è¦æ¥è¯¢çå¦çä¸åå¨!"<<endl;
cout<<"æ¨æ³ç»§ç»æ¥è¯¢å?(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"æ令é误ï¼è¯·éæ°è¾å
¥ï¼"<<endl;
cin>>c;
}
}
while(c=='y');
break;
}
case '1':
{
char name[20];double math,chinese,english;
char c;
do
{
cout<<"请è¾å
¥æ¨è¦å¢å çå¦ççå§åï¼"<<endl;
cin>>name;
cout<<"请è¾å
¥æ°å¦æ绩ï¼"<<endl;
cin>>math;
cout<<"请è¾å
¥è¯ææ绩ï¼"<<endl;
cin>>chinese;
cout<<"请è¾å
¥å¤è¯æ绩ï¼"<<endl;
cin>>english;
file[j]=new ofstream("d:\\document",ios::ate);
*file[j]<<"å§å"<<name<<"æ°å¦æ绩"<<math<<"è¯ææ绩"<<chinese<<"å¤è¯æ绩"<<english<<endl;
j++;
s[i]=new stu(name, math, chinese, english);
i++;
cout<<"æ°æ®å½å
¥æåï¼æ³ç»§ç»å½å
¥å(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<<"请è¾å
¥æ¨è¦å é¤çå¦çå§åï¼"<<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<<"è¦ç»§ç»å é¤åï¼(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"æ令é误ï¼è¯·éæ°è¾å
¥ï¼"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case '3':
{
char name[20];double mat,chin,eng;flag2=0;
char c;
do
{
cout<<"请è¾å
¥æ¨è¦ä¿®æ¹çå¦ççå§åï¼"<<endl;
cin>>name;
for(int h=0;h<i;h++)
{
if(strcmp(name,s[h]->name)==0)
{
flag2=1;
cout<<"请è¾å
¥æ°çæ°å¦æ绩ï¼"<<endl;
cin>>mat;
cout<<"请è¾å
¥æ°çè¯ææ绩ï¼"<<endl;
cin>>chin;
cout<<"请è¾å
¥æ°çå¤è¯æ绩ï¼"<<endl;
cin>>eng;
s[h]->chinese=chin;
s[h]->math=mat;
s[h]->english=eng;
cout<<"æ°æ®ä¿®æ¹æåï¼";
}
}
if(flag2==0)
{
cout<<"æ¨è¦ä¿®æ¹çå¦çæ¬æ¥å°±ä¸åå¨ï¼è¯·æ£æ¥éæ°è¾å
¥ï¼"<<endl;
}
cout<<"æ³ç»§ç»ä¿®æ¹å(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"æ令é误ï¼è¯·éæ°è¾å
¥ï¼"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case '6':
{
cout<<"æ¬ç³»ç»ææå¦çæ°æ®å¦ä¸ï¼"<<endl;
if(i==0)
cout<<"管çç³»ç»ä¸æ²¡æå½å
¥æ°æ®æè
æ°æ®å·²ç»è¢«å é¤ï¼"<<endl;
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"å§å:"<<" "<<s[k]->name<<
"è¯æï¼"<<" "<<s[k]->chinese<<"æ°å¦ï¼"<<" "<<s[k]->math
<<"å¤è¯ï¼"<<" "<<s[k]->english<<"æ»åï¼"<<" "<<(*s[k]).getsum()
<<"å¹³ååï¼"<<" "<<(*s[k]).getaver()<<endl;
}
break;
}
case '7':
{
int t;stu b;
cout<<"æ¬ç³»ç»æ以å¦çæåå¦ä¸ï¼"<<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<<"管çç³»ç»ä¸æ²¡æå½å
¥æ°æ®æè
æ°æ®å·²ç»è¢«å é¤ï¼";
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"å§å:"<<" "<<s[k]->name<<
"è¯æï¼"<<" "<<s[k]->chinese<<"æ°å¦ï¼"<<" "<<s[k]->math
<<"å¤è¯ï¼"<<" "<<s[k]->english<<"æ»åï¼"<<" "<<s[k]->getsum()
<<"å¹³ååï¼"<<" "<<s[k]->getaver()<<endl;
}
break;
}
case '8':
{
int t;stu b;
cout<<"æ¬ç³»ç»æ以å¦çè¯ææåå¦ä¸ï¼"<<endl;
for(int x=0;x<i-1;x++)
{
t=x;
for(int y=x+1;y<i;y++)
{
if((s[t]->chinese)<(s[y]->chinese))
t=y;
if(t!=x)
{
b=*s[t];
*s[t]=*s[x];
*s[x]=b;
}
}
}
if(i==0)
cout<<"管çç³»ç»ä¸æ²¡æå½å
¥æ°æ®æè
æ°æ®å·²ç»è¢«å é¤ï¼";
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"å§å:"<<" "<<s[k]->name<<
"è¯æï¼"<<" "<<s[k]->chinese<<"æ°å¦ï¼"<<" "<<s[k]->math
<<"å¤è¯ï¼"<<" "<<s[k]->english<<"æ»åï¼"<<" "<<s[k]->getsum()
<<"å¹³ååï¼"<<" "<<s[k]->getaver()<<endl;
}
break;
}
case '9':
{
int t;stu b;
cout<<"æ¬ç³»ç»æ以å¦çæ°å¦æåå¦ä¸ï¼"<<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<<"管çç³»ç»ä¸æ²¡æå½å
¥æ°æ®æè
æ°æ®å·²ç»è¢«å é¤ï¼";
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"å§å:"<<" "<<s[k]->name<<
"è¯æï¼"<<" "<<s[k]->chinese<<"æ°å¦ï¼"<<" "<<s[k]->math
<<"å¤è¯ï¼"<<" "<<s[k]->english<<"æ»åï¼"<<" "<<s[k]->getsum()
<<"å¹³ååï¼"<<" "<<s[k]->getaver()<<endl;
}
break;
}
case 'y':
{
int t;stu b;
cout<<"æ¬ç³»ç»æ以å¦çè±è¯æåå¦ä¸ï¼"<<endl;
for(int x=0;x<i-1;x++)
{
t=x;
for(int y=x+1;y<i;y++)
{
if((s[t]->english)<(s[y]->english))
t=y;
if(t!=x)
{
b=*s[t];
*s[t]=*s[x];
*s[x]=b;
}
}
}
if(i==0)
cout<<"管çç³»ç»ä¸æ²¡æå½å
¥æ°æ®æè
æ°æ®å·²ç»è¢«å é¤ï¼";
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"å§å:"<<" "<<s[k]->name<<
"è¯æï¼"<<" "<<s[k]->chinese<<"æ°å¦ï¼"<<" "<<s[k]->math
<<"å¤è¯ï¼"<<" "<<s[k]->english<<"æ»åï¼"<<" "<<s[k]->getsum()
<<"å¹³ååï¼"<<" "<<s[k]->getaver()<<endl;
}
}
break;
}
cout<<"æ¨æ³ç»§ç»è¿è¡å
¶ä»æä½å?(y/n)"<<endl;
bool flag4=0;
do
{
cin>>w;
if(w!='y'&&w!='n')
cout<<"æ令é误ï¼è¯·éæ°è¾å
¥ï¼"<<endl;
else
flag4=1;
}while(flag4==0);
if(w=='y')
cout<<"请è¾å
¥æä½ä»£ç (0 å½å
¥/4 ææ»åæ¥è¯¢/5 æå§åæ¥è¯¢/1 å¢å 人å/2 å é¤äººå/3 ä¿®æ¹æ°æ®/6 æ¾ç¤ºæææåæ°æ®/7 ææ»åæå/8 æè¯ææå/9ææ°å¦æå/yæè±è¯æå)"<<endl;
cin>>p;
}while(w=='y');
for(int x=0;x<i;x++)
{
delete s[x];
cout<<"delete all members!"<<endl;
}
}
追é®æ¯å¾ä¹¦ç®¡çç³»ç»ï¼ä¸æ¯å¦ç管çç³»ç»å~~~~
追çå¾ä¹¦ç®¡çç³»ç»