麻烦帮看下程序
#include <iostream.h>#include <string.h>
int length = 0;
class student
{
int num;
char name[20];
double score;
friend class stulist;
};
class stulist
{
student *stu;
int volume;
public:
stulist(int n)
{
stu=new student[n];
volume=n;
}
void add(int nu,char na[],double sc)
{
if (length > volume)
cout<<"full"<<endl;
else
{
stu[length].num=nu;
strcpy(stu[length].name,na);
stu[length].score=sc;
length++;
}
}
void search(int n)
{
int i=0;
for(i=0;i<=length;i++)
{
if(stu[i].num==n)
{
cout<<"学号:"<<stu[i].num<<"姓名:"<<stu[i].name<<"成绩:"<<stu[i].score<<endl;
}
}
if (i==length)
cout<<"没有记录!"<<endl;
}
void sort()
{
int i,j,tnu;
double tsc;
char tna[20];
for(i=0;i<length-1;i++)
{
for(j=0;j<length-i-1;j++)
{
if(stu[j].score>stu[j+1].score)
{
tnu=stu[j].num;
stu[j].num=stu[j+1].num;
stu[j+1].num=tnu;
tsc=stu[j].score;
stu[j].score=stu[j+1].score;
stu[j+1].score=tsc;
strcpy(tna,stu[j].name);
strcpy(stu[j].name,stu[j+1].name);
strcpy(stu[j+1].name,tna);
}
}
}
}
void print()
{
cout<<"学号\t"<<"姓名\t"<<"成绩\t"<<endl;
for(int i=0;i<length;i++)
{
cout<<stu[i].num<<"\t"<<stu[i].name<<"\t"<<stu[i].score<<"\t"<<endl;
}
}
};
void main()
{
int nu,n;
double sc;
char na[20];
cout<<"请输入学生人数:"<<endl;
cin>>n;
stulist *st = new stulist(n);
for(int i=0;i<n;i++)
{
cout<<"请依次输入这"<<i<<"位学生的学号,姓名,成绩:"<<endl;
cin>>nu;
cin>>na;
cin>>sc;
st[0].add(nu,na,sc);
st[0].print(); //good
}
}
老哥给了个程序,让我看,看不明白啊!那位大侠能给解释下,这个程序的结构是什么样的啊!