// Note:Your choice is C++ IDE
#include
#include
using namespace std;
//N代表科目数,M代表人数
#define N 2
#define M 3
class student
{public:
float score[N];
string name;
float average;
float total;
int rank;
student();
void inscore();
void calav();
void caltt();
void show();
};
void student::inscore()
{
int i;
cout<<"输入姓名:";
cin>>name;
cout<<"输入成绩:";
for(i=0;i
cin>>score[i];
}
caltt();
calav();
}
void student::calav()
{
average=total/N;
}
void student::caltt()
{
int i;
for(i=0;i
}
void student::show()
{
int i;
cout<
cout<
void setrank(student sys[M])
{
int i,j;
student tmp=sys[0];
for(i=0;i
for(j=i+1;j
{
tmp=sys[j];
sys[j]=sys[i];
sys[i]=tmp;
}
sys[i].rank=i+1;
}
sys[i].rank=i+1;
}
void findsc(student sys[M])
{
string n;
int i;
cout<<"请输入查询的名字:";
cin>>n;
cout<<"排名 "<<"姓名 "<<"--成绩--"<
{
sys[i].show();
}
}
void findrank(student sys[M])
{
string n;
int i;
cout<<"请输入查询的名字:";
cin>>n;
for(i=0;i
}
void find10(student sys[M])
{
int j;
cout<<"排名 "<<"姓名 "<<"--成绩--"<
sys[j].show();
}
void findgrade(student sys[M])
{
int i,j;
cout<<"1.>=85 2.>=75 3.>=60 4.<60"<
switch(i)
{
case 1:
{
cout<<"排名 "<<"姓名 "<<"--成绩--"<
}
break;
case 2:
{
cout<<"排名 "<<"姓名 "<<"--成绩--"<
}
break;
case 3:
{
cout<<"排名 "<<"姓名 "<<"--成绩--"<
}
break;
case 4:
{
cout<<"排名 "<<"姓名 "<<"--成绩--"<
}
break;
}
}
void findbad(student sys[M])
{
int i,j,k;
for(i=0;i
k=0;
cout<<"排名 "<<"姓名 "<<"--成绩--"<
if(sys[i].score[j]<60) k++;
if(k==3)
}
}
}
void pub(student sys[M])
{
int i;
cout<<"排名 "<<"姓名 "<<"--成绩--"<
}
int main()
{
student st[M];
int i,j;
while(1)
{
cout<<
"-------------------------------\n"<<
"1.输入成绩\n"<<
"2.查询任一学生成绩\n"<<
"3.查询任一学生排名\n"<<
"4.查询前十的学生\n"<<
"5.查询成绩级别的情况\n"<<
"6.查询三门不及格的学生\n"<<
"7.按成绩高低,顺序输入所有学生\n"<<
"-------------------------------"<
switch(i)
{
case 1:
for(j=0;j
cout<<"输入第"<
};
setrank(st);
break;
case 2:findsc(st);system("pause");break;
case 3:findrank(st);system("pause");break;
case 4:find10(st);system("pause");break;
case 5:findgrade(st);system("pause");break;
case 6:findbad(st);system("pause");break;
case 7:pub(st);system("pause");break;
}
}
return 0;
}
用链表,设计三个结构体如下
typedef struct
{
int id;
char name[20];
......../*学生的其他属性*/
}Student,*PStudent;
typedef struct
{
int id;
char name[20] ;
float score;
}Cause,*PCause;
typedef struct
{
Student student;
PCause nextCause;
}StudentCause,*PStudentCause;
看看再想想,不会了再来问
N门课的原理是一样的 根据需要输入