24小时热门版块排行榜    

查看: 432  |  回复: 8
当前主题已经存档。

烂熊邓

金虫 (小有名气)

自然自由者

[交流] 【讨论】”用面向对象的方法实现一个异质链表“的一实验题

我顺便就把我们的一次实验题给你看看:
        "用面向对象的方法实现一个异质链表。以大学环境为例,包括学生、职员、教授,希望对这些人的信息进行管理。
        学生:姓名、年龄、身份证、年级、平均成绩
        职员:姓名、年龄、身份证、小时工资
        教授:姓名、年龄、身份证、年工资
        要求实现3个操作:
        插入、删除、打印"
你们试试看>>>>>>
把你们写好的代码就直接发在我们的交流交流........
回复此楼

» 猜你喜欢

我还年轻,我渴望一直在路上
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woshilsh

荣誉版主 (职业作家)

优秀版主


小木虫(金币+0.5):给个红包,谢谢回帖交流
本版有C++答疑顾问,转帖,解决不了可以去那里求助滴
[center][url=http://www.91cool.net/][img]http://id.91cool.net/sign/?name=小木虫印&say=各位版主辛苦了![/img][/url][/center]
2楼2009-06-05 21:47:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hxz

木虫 (正式写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
sunxiao(金币+3,VIP+0):谢谢参与 6-11 23:15
建个基类 然后学生教授那些继承过去
链表就算了 stl有现成的list
3楼2009-06-09 17:06:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木叶清风

木虫 (正式写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
sunxiao(金币+3,VIP+0):谢谢参与 6-11 23:15
你这只是想要代码,方法我在答疑帖里面都说过了
www.cvdelver.com
4楼2009-06-09 18:25:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

烂熊邓

金虫 (小有名气)

自然自由者

我的代码:异质链表

★ ★ ★ ★
sunxiao(金币+4,VIP+0):谢谢分享,欢迎大家讨论 6-11 23:16
///这个是有两个文件组成:

#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;p=p->next)
                                         {if(p->id==m)
                                                q=p;
                                        p1=p1->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<<"姓名:"< };


你可以运行来看看;有什么好想法交流交流
我还年轻,我渴望一直在路上
5楼2009-06-11 13:01:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ms98

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
wangen994(金币+2,VIP+0):谢谢交流,O(∩_∩)O哈哈~ 6-19 16:39
可以修改一下。
class people
{protected:              //这里做成protected有什么深意吗?从含义来看,private好些
        string name;
        string sex;
        int id;
...

class professor:public people
{
  float salary;            //很老的写法,一般建议不省略private
public:      
   void set()...          //我们不是BS,一般还是按照公有函数放前面,私有成员放后面的格式写好
6楼2009-06-19 14:43:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

烂熊邓

金虫 (小有名气)

自然自由者

回复ms98

★ ★
wangen994(金币+2,VIP+0):感谢你的参与讨论 6-27 22:28
你说的
一个)那里写成保护型的是因为里边有个 指针所有就要做成保护型的或者是公有的型的;
第二:
关于float salary的写法问题。我想学了c++的就都知道不明写的就是代表私有型的;
第三:
我们的学习的就是把数据称员放在前面的,函数就放在后面的

你就可以把这个代码拿到c++的去运行一下看看结果;
我还年轻,我渴望一直在路上
7楼2009-06-27 22:24:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shipsw

木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
其实就是让你写一个类而已。
内部写一些插入,删除等操作的成员函数。
复杂点的写个基类 人
然后继承出 类 学生,教授 等等。。。
选择了这条路也就放弃了其他的路了。
8楼2009-08-07 10:14:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ms98

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
wangen994(金币+1,VIP+0):感谢参与讨论 8-7 16:34
引用回帖:
Originally posted by 烂熊邓 at 2009-6-27 22:24:
你说的
一个)那里写成保护型的是因为里边有个 指针所有就要做成保护型的或者是公有的型的;
第二:
关于float salary的写法问题。我想学了c++的就都知道不明写的就是代表私有型的;
第三:
我们的学习的就是 ...

翻了翻老帖子才发现还有专门回给我的:
1、不知道你在说什么,如果有个指针就要保护的话,那protect就不会是最有争议的类型了。
2、我想稍微有点常识的都知道不允许省略类型。
3、你们学的有问题...

有机会做点实践,看看设计模式方面的书,写代码和写好代码是两回事。
9楼2009-08-07 14:54:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 烂熊邓 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见