职工信息表(面向对象程序设计)

2026/1/12 0:39:52

八.源代码:

#include

#include //输入输出文件流 #include #define max 10 using namespace std;

ofstream fsimtab(\打开文件,把数据写到文件simTale中 ofstream fdettab(\ifstream fdata(\读文件

//这个是测试文件,在程序同一目录下创建一个名为xinxi.txt的文件,然后输入4组数据

//每组数据的格式是://编号 姓名 性别 年龄 class worker //信息表基类 {

public:

string num; string name;

char sex; //性别用f(女)和m(男)表示。 int age;

virtual void display() {} };

class workers: public worker //简表类声明 simple Table {

public:

virtual void display(); };

class CDetTab: public worker //信息表声明 Detail Table {

public:

virtual void display();//虚函数 };

int menu();//声明菜单函数

float add(CDetTab a[], int &n); //声明增加记录函数

float makest(CDetTab det[], workers sim[],int &n);//声明生成简表函//数 float printer(worker *pt, int &n);//声明显示原始记录函数

void Read(CDetTab a[],int &n)//读出职工信息,二进制文件用read读出 {

ifstream Re(\把date文件内的数据读出

14

Re>>n;//从字符串输入流中读取变量n,其中的re为创建的字符串输入流对象

for(int i=0;i

Re>>a[i].num; Re>>a[i].name; Re>>a[i].sex; Re>>a[i].age; }

Re.close(); }

void Write(CDetTab a[],int &n)//写入职工信息 {

ofstream Re(\把信息写入打开的文件date中 Re<

for(int i=0;i

Re<

Re.close();//关闭文件 }

int main() {

workers simtab[max]; //定义简表数组 CDetTab dettab[max]; //定义信息表数组 int lastnum=0;

string hold; Read(dettab,lastnum); makest(dettab, simtab,lastnum); bool exit=false; do{

switch(menu()) {

case 1://1.增加职工记录

15

if (add(dettab,lastnum))

cout<<\增加成功,请输入任意内容返回主菜单!\

else

cout<<\添加失败!可能数组已满!请输入任意内容返回主菜单\ cin>>hold; break;

case 2://2.生成信息简表

if (makest(dettab,simtab,lastnum)) cout<<\生成信息简表成功!请输入任意内容返回主菜单!\

else cout<<\生成信息简表失败!请输入任意内容返回主菜单!\ cin>>hold; break;

case 3://3.显示原始记录

if (printer(dettab,lastnum)) cout<<\请输入任意内容返回主菜单!\ else

cout<<\请输入任意内容返回主菜单!\ cin>>hold; break;

case 4://4.显示简表记录

if (printer(simtab,lastnum))

cout<<\输入任意返回主菜单!\ else

cout<<\输入任意返回主菜单!\ cin>>hold; break;

case 5://5.结束程序运行 exit=true; Write(dettab,lastnum); break; }

}while(exit==false);

cout<<\谢谢使用!\ fsimtab.close();//关闭文件 fdettab.close(); fdata.close();

16

return 0; }

char f,m;

int menu() //菜单函数定义 {

int a=5; do{

cout<<\请在以下操作选项中选择一个:\ cout<<\

cout<<\增加职工记录\ cout<<\生成信息简表\ cout<<\显示原始记录\ cout<<\显示简表记录\ cout<<\结束程序运行\ cout<<\

cout<<\请选择1-5中的一个序号,然后按enter键:\ cin>>a;

}while(a<1||a>5); //限制菜单 return a; }

void workers::display ()//类中display函数的定义 {

cout<<\姓名:\ cout<<\编号:\

cout<<\}

void CDetTab::display () {

cout<<\编号:\ cout<<\姓名:\ cout<<\性别:\ cout<<\年龄:\ cout<<\}

//1.增加职工记录

float add(CDetTab a[],int &n) {

if (n<10) {

17


职工信息表(面向对象程序设计).doc 将本文的Word文档下载到电脑
搜索更多关于: 职工信息表(面向对象程序设计) 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219