回 帖 发 新 帖 刷新版面

主题:请求大家帮我修改一下咯

#include<iostream.h>
#include<string.h>
#include<iomanip.h>
#define m 5
struct a
{
int num;
char name[20];
char sex;
float shuxue;//数学
float yingyu;//英语
float c;//c++
float total;//总分
float pjf;//平均数
};
class student
{
a stu[m];
public:
void sr();//输入
void gtj;//单科统计
void ztj;//总分统计
void cx;//查询
void sc;//删除
void tj;//添加
void xg;//修改
};
void student::sr()
{
a stu[m]; 
for(int i=0;i<m;i++)
cin>>stu[i].num>>stu[i].name>>stu[i].sex>>stu[i].shuxue>>stu[i].yingyu
>>stu[i].c;
}
void student::gtj()
{
int sxpjf,yypjf,cpjf,count=0;
for(int i=0;i<m;i++)
{
sxpjf=stu[i].shuxue/m;
yypjf=stu[i].yingyu/m;
cpjf=stu[i].c/m;
}
cout<<"数学平均分:"<<sxpjf<<endl;
cout<<"英语平均分:"<<yypjf<<endl;
cout<<"c++平均分:"<<cpjf<<endl;
cout<<"数学优秀所占比例请按1:"<<setw(2)<<"良好所占比例请按2:"<<setw(2)
"中等所占比例请按3:"<<setw(2)<<"及格所占比例请按4:"<<setw(2)<<
"不及格所占比例请按5:"<<endl;
cout<<"英语优秀所占比例请按6:"<<setw(2)<<"良好所占比例请按7:"<<setw(2)
"中等所占比例请按8:"<<setw(2)<<"及格所占比例请按9:"<<setw(2)<<
"不及格所占比例请按10:"<<endl;
cout<<"c++优秀所占比例请按11:"<<setw(2)<<"良好所占比例请按12:"<<setw(2)
"中等所占比例请按13:"<<setw(2)<<"及格所占比例请按14:"<<setw(2)<<
"不及格所占比例请按15:"<<endl;
for(i=0;;i++)
{
cin>>a;
for(i=0;i<m;i++)
{
if(stu[i].shuxue>=90)
a=1;
if(stu[i].shuxue>=80)
a=2;
if(stu[i].shuxue>=70)
a=3;
if(stu[i].shuxue>=60)
a=4;
if(stu[i].shuxue>=0&&stu[i].shuxue<=60)
a=5;
if(stu[i].yingyu>=90)
a=6;
if(stu[i].yingyu>=80)
a=7;
if(stu[i].yingyu>=70)
a=8;
if(stu[i].yingyu>=60)
a=9;
if(stu[i].yingyu>0&&stu[i].yingyu<60)
a=10;
if(stu[i].c>=90)
a=11;
if(stu[i].c>=80)
a=12;
if(stu[i].c>=70)
a=13;
if(stu[i].c>=60)
a=14;
if(stu[i].c>=0&&stu[i].c<=60)
a=15;
switch(a)
{
case 1:cout<<double(count++/m);break;
case 2:cout<<double(count++/m);break;
case 3:cout<<double(count++/m);break;
case 4:cout<<double(count++/m);break;
case 5:cout<<double(count++/m);break;
case 6:cout<<double(count++/m);break;
case 7:cout<<double(count++/m);break;
case 8:cout<<double(count++/m);break;
case 9:cout<<double(count++/m);break;
case 10:cout<<double(count++/m);break;
case 11:cout<<double(count++/m);break;
case 12:cout<<double(count++/m);break;
case 13:cout<<double(count++/m);break;
case 14:cout<<double(count++/m);break;
case 15:cout<<double(count++/m);break;
}
}
}
}
void student::ztj()
{
for(i=0;i<m;i++)
{
stu[i].total=stu[i].shuxue+stu[i].yingyu+stu[i].c;
stu[i].pjf=double((stu[i].shuxue+stu[i].yingyu+stu[i].c)/m);
}
a leap;
for(i=0;i<m;i++)
{
for(int j=i;j<m-1;j++)
if(stu[j].total<stu[j+1].total)
{
stu[j]=leap;
stu[j+1]=stu[j];
leap=stu[j+1];
}
}
cout<<"编号"<<setw(10)<<"姓名"<<setw(10)<<"性别"<<setw(10)<<"数学"<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<"总分"<<setw(10)<<"平均分"<<endl;
for(i=0;i<m;i++)
{
cout<<stu[i].num<<setw(10)<<stu[i].name<<setw(10)<<stu[i].sex<<setw(10)<<stu[i].shuxue<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<stu[i].total<<setw(10)<<stu[i].pjf<<endl;
}
}
float student::cx()
{
int b;
cout<<"按学号查询请按1:"<<endl;
cout<<"按姓名查询请按2:"<<endl;
cin>>b;
switch(b)
{
case 1:
int num1;
cout<<"请输入学号"<<endl;
cin>>num1;
if(num1<10&&num1>9+m)
{
cout<<"你输入的学号有误"<<endl;
break;
}
else
cout<<"姓名"<<setw(10)<<"性别"<<setw(10)<<"数学"<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<"总分"<<setw(10)<<"平均分"<<endl;
for(int i=0;i<m;i++)
{
if(stu[i].num==num1)
cout<<stu[i].name<<setw(10)<<stu[i].sex<<setw(10)<<stu[i].shuxue<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<stu[i].total<<setw(10)<<stu[i].pjf<<endl;
}
case 2:
char name1[20];
cout<<"请输入姓名"<<endl;
cin>>name1;
cout<<"编号"<<setw(10)<<"性别"<<setw(10)<<"数学"<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<"总分"<<setw(10)<<"平均分"<<endl;
for(int i=0;i<m;i++)
{
if(strcmp(stu[i].name,name1)==0);
cout<<stu[i].num<<setw(10)<<stu[i].sex<<setw(10)<<stu[i].shuxue<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<stu[i].total<<setw(10)<<stu[i].pjf<<endl;
}
}
void student::sc()
{
intd;
cout<<"按学号删除请按1:"<<endl;
cout<<"按姓名删除请按2:"<<endl;
cin>>d;
switch(d)
{
case 1:
int num1;
cout<<"请输入学号"<<endl;
cin>>num1;
if(num1<10&&num1>9+m)
{
cout<<"你输入的学号有误"<<endl;
break;
}
else
for(int i=0;i<m;i++)
{
if(stu[i].num==num1)
{
stu[i]=stu[i+1];
}
}
cout<<"编号"<<setw(10)<<"姓名"<<setw(10)<<"性别"<<setw(10)<<"数学"<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<"总分"<<setw(10)<<"平均分"<<endl;
for(i=0;i<m-1;i++)
{
cout<<stu[i].num<<setw(10)<<stu[i].name<<setw(10)<<stu[i].sex<<setw(10)<<stu[i].shuxue<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<stu[i].total<<setw(10)<<stu[i].pjf<<endl;
}
case 2:
char name1[20];
cout<<"请输入姓名"<<endl;
cin>>name1;
cout<<"编号"<<setw(10)<<"性别"<<setw(10)<<"数学"<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<"总分"<<setw(10)<<"平均分"<<endl;
for(int i=0;i<m;i++)
{
if(strcmp(stu[i].name,name1)==0);
{
stu[i]=stu[i+1];
}
}
cout<<"编号"<<setw(10)<<"姓名"<<setw(10)<<"性别"<<setw(10)<<"数学"<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<"总分"<<setw(10)<<"平均分"<<endl;
for(i=0;i<m-1;i++)
{
cout<<stu[i].num<<setw(10)<<stu[i].name<<setw(10)<<stu[i].sex<<setw(10)<<stu[i].shuxue<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<stu[i].total<<setw(10)<<stu[i].pjf<<endl;
}
}
void student::tj()
{
for(int i=0;i<m;i++)
{
stu[i].total=stu[i].shuxue+stu[i].yingyu+stu[i].c;
stu[i].pjf=double((stu[i].shuxue+stu[i].yingyu+stu[i].c)/m);
}
for(i=0;i<m;i++)
{
for(int j=i;j<m-1;j++)
if(stu[j].total<stu[j+1].total)
{
stu[j]=leap;
stu[j+1]=stu[j];
leap=stu[j+1];
}
}
a st[];
cout<<"请输入编号,姓名,性别,数学,英语,c++"<<endl;
for(j=0;;j++)
{
cin>>st[j].num>>st[j].name>>st[j].sex>>st[j].shuxue>>st[j].yingyu>>st[j].c;
st[j].total[j]=stu[j].shuxue+stu[j].yingyu+stu[j].c;
stu[i].pjf=double((stu[i].shuxue+stu[i].yingyu+stu[i].c)/m);
for(i=0;i<m;i++)
{
if(st[j].total<stu[i].total)
{
stu[i+3]=stu[i+2];
stu[i+1]=st[j];
}
}
}
cout<<"编号"<<setw(10)<<"姓名"<<setw(10)<<"性别"<<setw(10)<<"数学"<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<"总分"<<setw(10)<<"平均分"<<endl;
for(i=0;i<m+j;i++)
{
cout<<stu[i].num<<setw(10)<<stu[i].name<<setw(10)<<stu[i].sex<<setw(10)<<stu[i].shuxue<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<stu[i].total<<setw(10)<<stu[i].pjf<<endl;
}
}
void student::xg()
{
a stud[];
cout<<"请输入编号,姓名,性别,数学,英语,c++"<<endl;
for(int i=0;;i++)
{
cin>>stud[i].num>>stud[i].name>>stud[i].sex>>stud[i].shuxue>>stud[i].yingyu>>stud[i].c;
for(int j=0;j<m;j++)
if(stu[j].num==stud[i].num)
{
strcpy(stu[j].name,stud[i].name);
strcpy(stu[j].sex,stud[i].sex);
stu[j].shuxue=stud[i].shuxue;
stu[j].yingyu=stud[i].yingyu;
stu[j].c=stud[i].c;
}
}
cout<<"编号"<<setw(10)<<"姓名"<<setw(10)<<"性别"<<setw(10)<<"数学"<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<"总分"<<setw(10)<<"平均分"<<endl;
for(i=0;i<m;i++)
{
cout<<stu[i].num<<setw(10)<<stu[i].name<<setw(10)<<stu[i].sex<<setw(10)<<stu[i].shuxue<<setw(10)<<"英语"<<setw(10)<<"c++"<<setw(10)<<stu[i].total<<setw(10)<<stu[i].pjf<<endl;
}
}
void main()
{
cout<<"请在1-7之间选择"<<endl;
cout<<"1.输入"<<setw(2)<<"2.单科统计"<<setw(2)<<"3.总体统计"<<setw(2)<<"4.查询"<<setw(2)<<"5.删除"<<set(2)<<"6.添加"<<setw(2)<<"7.修改"<<endl;
int e; student student1;
for(int i=0;;i++)
{
cin>>e;
switch(e)
{
case 1:student1.sr();break;
case 2:student1.gtj();break;
case 3:student1.ztj();break;
case 4:student1.cx();break;
case 5:student1.sc();break;
case 6:student1.tj();break;
case 7:student1.xg();break;
}
}
}
这是有关写学生成绩管理系统的一些代码,是我写的,但是编译发生了几处错误,需你们帮我修改以下咯!!先谢谢了








































回复列表 (共1个回复)

沙发

QQ1285305730

我来回复

您尚未登录,请登录后再回复。点此登录或注册