定义一个学生类student,学生类中有3个私有数据成员:num(学号)、name(姓名)、age(年龄);2个公有成员函数

定义一个学生类student,学生类中有3个私有数据成员:num(学号)、name(姓名)、age(年龄);2个公有成员函数:display、paixu。使用paixu函... 定义一个学生类student,学生类中有3个私有数据成员:num(学号)、name(姓名)、age(年龄);2个公有成员函数:display、paixu。使用paixu函数按照姓名的第一个字母从小到大排序,display负责显示学生的基本信息。 展开
 我来答
匿名用户
推荐于2016-08-19
展开全部
#include <iostream>
#include <string>
using namespace std;
class student
{
private:
int num;
char name[30];
int age;
public:
student(int nu,const char * na,int ag )
{
num=nu;
strcpy(name,na);
age=ag;
}
void display(student * *ss,int total ){
student * sp=ss[0];
int i=0;
while(i<total)
{
cout<<"("<<i+1<<") "<<sp->num<<" "<<sp->name<<" "<<sp->age<<endl;
i++;
sp=ss[i];
}
sp=NULL;
}
void paixu(student ** ss,int total){

student *sp =ss[0];
student * flag=ss[0];
student * temp=NULL;
int left=total-1;
int i=0;
int num,age;
char ctemp[30];
while(left>0)
{
flag=ss[total-left-1];
sp=ss[total-left];
i=0;
while(i<left)
{
if(strcmp(sp->name,flag->name)<0)
{
num=sp->num;
sp->num=flag->num;
flag->num=sp->num;
age=sp->age;
sp->age=flag->age;
flag->age=age;
strcpy(ctemp,sp->name);
strcpy(sp->name,flag->name);
strcpy(flag->name,ctemp);
}
i++;
sp=ss[total-left+i];
}
left--;
}
}
};
int main()
{
student * ss[4];
for(int i=0;i<4;i++)
{
ss[i]=NULL;
}
ss[0]=new student(1,"ebc",11);
ss[1]=new student(2,"cde",12);
ss[2]=new student(3,"ade",13);
ss[3]=new student(4,"dsa",11);
ss[0]->display(ss,4);
ss[0]->paixu(ss,4);
ss[0]->display(ss,4);
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式