问题描述
- 谁能帮我写下排序函数呀,程序有一大半是别人帮写的,最好能直接写上去,感激不尽
-
#include
#includeclass student
{
int number;
char name[20];
char sex[6];char old[20];
char place[6];char ment[20];
char clas[10];
public:student next;
char getname(){ return name;}
int getnumber(){ return number;}
void input()
{
cout<<"ttt按提示输入:"<
cout>number;
cout<<"tt输入姓名: "; cin>>name;
cout<<"tt输入性别: "; cin>>sex;
cout<<"tt输入年龄: "; cin>>old;cout<<"tt输入籍贯: "; cin>>place;
cout<<"tt输入系别: "; cin>>ment;cout<<"tt输入班级: "; cin>>clas;
}
void output()
{
cout<<"学生基本信息如下:"<
cout
}
};
class school
{
public:
school()
{
head=new student;
head->next=NULL;
}void input();
void mend();
void del();
int find(student **p,int num);
void found();void show();
void count();
char mainmenu();
private:student *head;
};
int school::find(student **p1,int num)//子查找函数
{
student *p;p=head;
while(p->next)
{
(*p1)=p;
if( (p->next)->getnumber()==num)
return 1;
p=p->next;
}
return 0;}
void school::input() //录入函数
{
student *p,*p2=NULL;
p=head;
int n;
while(p->next)
p=p->next;
while(n)
{
p2=new student;p2->input();
p->next=p2;p2->next=NULL;
p=p->next;
cout<<"ttt按1继续,按0返回 : ";cin>>n;
}
}
void school::found() //查找函数
{student *p;
int num=1;
cout<<"按编号查找: ";
cout<<"ttt输入编号: ";
cin>>num;
if(!find(&p,num) )
{
cout<<"tt找不到你要查找的内容!"<
return;
}
(p->next)->output();
}
void school::del() //删除函数
{
student *p,*p2;int num;
cout<<"ttt输入编号: ";cin>>num;
if( !find(&p,num) )
{
cout<<"tt找不到你要删除的内容!"<
return;
}
(p->next)->output();
p2=p->next;
p->next=p2->next;
delete p2;
}
void school::show() //显示函数
{
student *p;p=head;
while(p->next)
{(p->next)->output();
p=p->next;
}
}
void school::mend() //修改函数
{
student *p;int num=1;
cout<<"ttt输入编号: ";
cin>>num;
if( !find(&p,num) )
{
cout<<"tt找不到你要修改的内容!"<
return;
}
(p->next)->output(); (p->next)->input();
}
char school::mainmenu() //主选菜单函数
{
char n[6];
cout<<"————————欢迎进入学籍管理系统————————"<
cin>>n;
return n[0];
}
void main() //主函数
{
school pp;
int k=1;char n;
while(k==1)
{
n=pp.mainmenu();
switch(n)
{
case '1':; break;
case '2':pp.input(); break;
case '3':pp.found(); break;
case '4':pp.mend(); break;
case '5':pp.del(); break;
case '7':pp.show(); break;
case '0':
break;
}
}}
解决方案
http://www.cppblog.com/everyday/archive/2013/07/12/201727.aspx
http://www.cnblogs.com/wouldguan/archive/2012/10/18/2730178.html
http://www.2cto.com/kf/201309/246943.html
你这个就是单链表的排序,以上代码稍作修改即可。
解决方案二:
呵呵呵!苦逼的学生党,没人会帮你写的。不要做伸手党!称早自己来吧!