24小时热门版块排行榜    

查看: 143  |  回复: 2
【奖励】 本帖被评价1次,作者烂熊邓增加金币 0.5
当前主题已经存档。

烂熊邓

金虫 (小有名气)


[资源] 【原创】一个异质链表的代码:

////这个程序是两个文件组成:

#include"异质链表.h"
int main()
{people *head=0,*end,*p;
        people *p1=0;
        people *q=0;

      int i,j;
          while(true)
          {cout<<"请选择:1:添加,2:显示,3:删除,4:退出"<              cin>>i;

                switch(i)
                        {case 1:
                  cout<<"请选择:1:学生,2:教授,3:职工"<                           cin>>j;
                          switch(j)
                                {case 1:
                                  p=new student ;break;
                                case 2:
                                       p=new professor ;break;
                                case 3:
                                                 p=new worker ;break;
                                                 
                                }
                               

                          if(head==0)
                          {head=p;
                            end=p;}


                          else  
                          {end->next=p;
                            end=p;}
                          
               end->set();
                          end->next=0;
                          
                                        break;


               
                        case 2:

                                for(p=head;p;p=p->next)
                                        p->show();
                                break;

                case 3:    int m;
                                        cout<<"请输入要删除的元素的身份证号:";
                                        cin>>m;
                               
                                        if(head->id==m)
                                        {q=head;
                                        head=head->next;
                                        }

                                 else
                                        for(p1=head;p1->next;p1=p1->next)
                                         {if(p1->next->id==m)
                                                q=p1->next;
                                        p1->next=q->next;
                                        break;
                                          }

                                         if(q)
                                   delete(q);
                                        break;

                        case 4:   break;
                                }


                if(i==4)
                break;          
          
                }       

        return 0;
}


//第二个文件:
#include
#include
using namespace std;

class people
{protected:
        string name;
        string sex;
        int id;
public:
        people *next;

        void virtual set()=0;
        void virtual show()=0;
};



       
class student:public people
{
   string grade;
  string average;

public:
       
        void set()
        {cout<<"姓名:";
        cin>>name;
        cout<<"性别:";
        cin>>sex;
        cout<<"身份证:";
        cin>>id;
        cout<<"年级:";
        cin>>grade;
        cout<<"平均分:";
        cin>>average;
        cout<         }

        void  show()
        {cout<<"姓名:"<
};

class professor:public people
{
  float salary;
public:
       
        void set()
        {cout<<"姓名:";
        cin>>name;
        cout<         cout<<"性别:";
        cin>>sex;
        cout<         cout<<"身份证:";
        cin>>id;
        cout<<"工资:";
        cin>>salary;
        }

        void  show()
        {cout<<" 姓名:"< };


class worker:public people
{
   float hour;

public:
       
        void set()
        {cout<<"姓名:";
        cin>>name;
        cout<<"性别:";
        cin>>sex;
        cout<         cout<<"身份证:";
        cin>>id;
        cout<<"工作时间:";
        cin>>hour;
        cout<         }

        void  show()
        {cout<<"姓名:"< };

这个程序可以把case3写成注释;
你在试试;
case3的删除部分是有点问题;我们就交流交流;

[ Last edited by 烂熊邓 on 2009-6-12 at 12:26 ]
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rjjy

木虫 (著名写手)


★★★ 三星级,支持鼓励

支持原创
3楼2009-08-13 13:39:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
烂熊邓2楼
2009-06-12 12:27   回复  
 
相关版块跳转 我要订阅楼主 烂熊邓 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见