代删除系统中首次出现的该姓名;若输入3,怎系统会提示输入级别,而级别有4个部分组成,分别是1经理,2技术人员,3销售人员,4销售经理,输入其代表的数字,便可删除相应的类别;若输入4,则系统将删除所有记录。如图2.7所示。 在图2.2中输入6,则
图2.8 统计功能
统计功能中有总数、男员工、女员工、经理、技术人员、销售人员、销售经理7个判定依据。输入1,系统将显示总人数,并显示是否继续;若输入2,系统将显示男员工的人数并显示是否继续,其它5个类别也类似,如图2.8所示。 在图2.2中输入0,则
图2.9 退出系统
当进入退出系统时,代表该程序结束,并且在之前的操作过程中对系统数据的修改也会自动保存在文件中,如图2.9所示。
2.2 软件的数据(结构)设计
2.2.1 基类的私有成员
①string类型的number表示编号 ②string类型的name表示姓名 ③string类型的sex表示性别
④ string类型的department表示所在部门 ⑤ int类型的sort表示级别 ⑥ double 类型的wages工资
2.2.2公司对各派生类的管理中的私有成员
vector
2.2.3主要函数
void Add(); //增加人员 void Find(); //查询人员 int Findid(string num);//查找编号 int Findname(string nam_e);//查找姓名 int Findsex(string se);//查找性别 int Findsort(int &sor);//查找级别 void Print();//显示 void Rewrite(); //修改人员
void Delete(); //删除人员
void Sum(); //统计 void Read();//读文件 void Write();//写文件
2.3 软件的算法设计
图2.10 主菜单流程图
图2.11 添加功能流程图
图2.12 查询功能流程图 图2.13 编辑功能 图2.13 删除功能 图2.14 统计功能
第三章 软件的实现
3.1 添加功能模块
添加功能模块中有经理、技术人员、销售人员和销售经理4个选项。选择选项后要判断要添加的信息中的编号是否存在,若输入的编号存在,提示该编号已存在,若不存在,则执行下步操作。在添加时,要对类别进行判定,并将添加的信息压入该类别的向量的末尾。完成操作后,将判断是否继续,若继续则执行递归。 其伪代码如下: void company::Add() {??//定义数据类型
cout<<\添加功能\\n\
cout<<\、经理 2、技术人员\\n\\n\cout<<\、销售人员 4、销售经理\\n\\n\cout<<\请选择(1^4):\
sor=choice(4,1);//判定输入的sor必须是1^4中的数字 if(!sor)
return;
cout<<\请输入雇员的信息:\\n\
cout<<\编号:\??//判断编号是否存在
??//在输入的编号不存在的情况下编辑信息 if(sor==x) {
??//判断添加的信息的类别并加入该类别的向量中
}
}
cin.clear();
if(judge())//判定是否继续
Add();//继续则重复操作
3.2 查询功能模块
查询功能模块中有编号、姓名、性别和级别4个选项,其中首先调用的是choice(int
a,int b),它的作用是判断输入的必须是数字,且大于等于b,小于等于a的,在下步操作中再判定输入的值并调用相关函数,以达到查询的目的。 其伪代码如下: void company::Find() {??//定义数据类型
cout<<\查询功能\\n\\n\cout<<\、编号 2、姓名\\n\\n\cout<<\、性别 4、级别\\n\\n\cout<<\请选择(1^4):\
x=choice(4,1); //判定输入的x必须是1^4中的数字 if(x==1)
{ if(Findid(num)) Find();//查找编号,若Findid(num)返回值为1,则继续查找,否
则结束查找。
else return; } if(x==2)
{if(Findname(nam)) Find(); else return;
}//查找姓名,若Findname(nam)返回值为1,则继续查找,否则结束查找。 if(x==3)
{ if(Findsex(se)) Find(); else return;;
}//查找性别,若Findsex(se)返回值为1,则继续查找,否则结束查找。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库(最新版)课程设计报告封面及格式(3)在线全文阅读。
相关推荐: