标题:求写剩下的部分,思路也行
只看楼主
moyurongxu
Rank: 1
来 自:广西科技大学鹿山学
等 级:新手上路
帖 子:35
专家分:6
注 册:2012-10-11
结帖率:62.5%
 问题点数:0 回复次数:10 
求写剩下的部分,思路也行
涉及一个虚类Staff(员工),包含编号、姓名和年龄保护数据成员以及相关的成员函数;由Staff派生出工程师类Engieer,包含专业和职称保护数据成员以及相关的成员函数;再由Staff派生出领导类Leader,包含职称和部门保护数据成员以及相关的成员函数;然后由Engineer和Leader类派生出主任工程师类Chairman


设计一个利用文件处理方式实现对公司人员(包括工程师、领导和主任工程师)进行管理,具有增加数据、更新数据、查询数据、删除数据以及重组数据文件的功能。

#include<iostream>

#include<fstream>

#include<string>

using namespace std;

class staff

{

protected:

       int num,age;

       string name;

public:

       virtual void input()=0;

       virtual void show()=0;

       virtual void Read(fstream &f)const=0;

       virtual void Write(fstream &f)const=0;

};

class engieer:virtual public staff

{

protected:

       string major;//专业

       string workname;//职称

public:

       fstream out;

       out.open("staff.dat");

       void input()

       {

              cout<<"编号"<<endl;

              cin>>num;

              cout<<"名字"<<endl;

              cin>>name;

              cout<<"专业"<<endl;

              cin>>major;

              cout<<"职称"<<endl;

              cin>>workname;

       }

       void show()

       {

              cout<<"名字"<<name<<endl;

              cout<<"编号"<<num<<endl;

              cout<<"年龄"<<age<<endl;

              cout<<"专业"<<major<<endl;

              cout<<"职称"<<workname<<endl;

       }

     void Read(fstream &f)const

        {

              f.read((char*)this,sizeof(engineer));

        }

        void Write(fstream &f)const

        {

              f.write((char*)this,sizeof(engineer));

        }

 

       out.close();

};

class leader:virtual public staff

{

protected:

       string job;//职务

       string dep;//部门

public:

    out.open("staff.dat");

       void input()

       {

              cout<<"编号"<<endl;

              cin>>num;

              cout<<"名字"<<endl;

              cin>>name;

              cout<<"部门"<<endl;

              cin>>dep;

              cout<<"职务"<<endl;

              cin>>job;

       }

       void show()

       {

              cout<<"名字"<<name<<endl;

              cout<<"编号"<<num<<endl;

              cout<<"年龄"<<age<<endl;

              cout<<"部门"<<dep<<endl;

              cout<<"职务"<<job<<endl;

       }

       void Read(fstream &f)const

        {

              f.read((char*)this,sizeof(engineer));

        }

        void Write(fstream &f)const

        {

              f.write((char*)this,sizeof(engineer));

        }

       out.close();

};

 class chairman:public engineer,public leader

 {

       public:

        out.open("staff.dat");

              void Input()

              {

                     cout<<"编号:";

                     cin>>num;

                     cout<<"姓名:";

                     cin>>name;

                     cout<<"年龄:";

                     cin>>age;

                     cout<<"专业:";

                     cin>>major;

                     cout<<"职称:";

                     cin>>workname;

                     cout<<"职务:";

                     cin>>job;

                     cout<<"部门:";

                     cin>>dep;

              }

              void show()

              {

                     cout<<"编号"<<num<<endl;

                     cout<<"名字"<<name<<endl;

                     cout<<"年龄"<<age<<endl;

                     cout<<"专业"<<major<<endl;

                     cout<<"职称"<<major<<endl;

                     cout<<"职务"<<job<<endl;

                     cout<<"部门"<<dep<<endl;

              }

              void Read(fstream &f)const

              {

                     f.read((char*)this,sizeof(Chairman));

              }

              void Write(fstream &f)

              {

                     f.write((char*)this,sizeof(Chairman));

              }

              out.close();

 };
求输出,删除,增加,修改
搜索更多相关主题的帖子: include 工程师 姓名 职称 专业 
2013-12-21 22:35
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
得分:0 
你应该说明白,你具体哪个模块的什么功能不能实现,

这种明显的期末作业是不会有人给你从头看的。


学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-12-25 19:07
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
以下是引用蚕头燕尾在2013-12-25 19:07:03的发言:

你应该说明白,你具体哪个模块的什么功能不能实现,

这种明显的期末作业是不会有人给你从头看的。


+1

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-12-26 08:13
脸色明媚
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-12-11
得分:0 
兄弟你也在忙课设?
2013-12-27 18:33
moyurongxu
Rank: 1
来 自:广西科技大学鹿山学
等 级:新手上路
帖 子:35
专家分:6
注 册:2012-10-11
得分:0 
像这个程序,怎样把数据存储入文件中,还有怎么修改数据,比如我输入一个编号,然后修改文件中相同的的编号的数据信息,我写了1周弄不好,谁来急救下,谢谢

新手请多多指教
2013-12-29 17:18
德莱尔斯
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-12-30
得分:0 
+1
2013-12-30 15:15
moyurongxu
Rank: 1
来 自:广西科技大学鹿山学
等 级:新手上路
帖 子:35
专家分:6
注 册:2012-10-11
得分:0 
怎样删除staff中的某个数据

新手请多多指教
2013-12-30 23:50
a190205460
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:29
专家分:59
注 册:2013-10-26
得分:0 
??????????????
2013-12-31 09:19
moyurongxu
Rank: 1
来 自:广西科技大学鹿山学
等 级:新手上路
帖 子:35
专家分:6
注 册:2012-10-11
得分:0 
就是把文件中的某个数据删除

新手请多多指教
2013-12-31 15:20
i80286
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:99
专家分:428
注 册:2013-9-30
得分:0 
把文件中数据读入到容器中,然后在容器中删除,再写回文件

PS:效率不高
2013-12-31 15:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-425513-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.240330 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved