职工信息管理系统

职工信息管理系统本职工信息管理系统包;括职工的工号、姓名、性别、年龄、学历、工资、住址和电话信息,并能提供以下功能:录入、修改、删除、查询功能

1、功能介绍

本职工信息管理系统包;括职工的工号、姓名、性别、年龄、学历、工资、住址和电话信息,并能提供以下功能:

系统以菜单方式工作,可通过输入不同选项实现下列功能

  1. 职工信息录入功能(职工信息用文件保存)v
  2. 职工信息修改功能
  3. 职工信息删除功能
  4. 职工信息查询功能 

a.按工号查询   b.按姓名查询  c.按住址查询   d.按电话查询

  1. 职工信息浏览功能

2、概要设计

职工信息管理系统统仅涉及职工对象,能够添加职工信息(包括工号、姓名、性别、年龄、学历、工资、住址和电话;能够选择修改职工的部分信息;可以一次整体删除一名员工信息;可以按照工号、姓名、住址或电话查询员工信息;可以浏览所有职工的个人信息;现将职工信息系统细化,结构如图 1 所示。

职工信息管理系统图1职工信息管理系统结构图

添加职工信息:根据输入顺序,存放入数组类中

修改职工信息:选择需要修改的职工信息,进行修改

删除职工信息:根据职工工号,删除职工全部信息

查询职工信息:根据职工工号、姓名、住址或电话查询职工信息

浏览职工信息:将职工类的对象数组中所有对象的信息输出

3、详细设计

3.1 声明职工类

class WorkerList

{

private:

int id;

char name [10];

char sex[10];

int age;

char edu[20];

int sa1ary;

char address[25];

char tel[11];

public:        //以下函数输入职工属性,单独使用修改职工信息

void setid(); //输入职工号

void setname(); //输入姓名

void setsex (); //输入性别

void setage (); //输入年龄

void setedu(); //输入学历

void setsa1ary(); //输入工资

void setaddress(); //输入住址

void settel(); //输入电话

int getid(); //返回职工号

void add(); //添加信息

void display(); //输出

friend class database; //友元类,可访问私有成员

};

3.2声明数据类

class database //将输入的职工信息保存在txt文档中读取

{

private:

WorkerList worker[N]; //声明职工类对象数组

public:

void rdatabase (); //打开磁盘中相应的文件

void outdatabase(); //将数据写入磁盘中相应的文件

void add(); //新添加职工函数

void search(); //查询

void deletedata(); //删除

void modify(); //修改

void display(); //输出

};

3.3定义功能菜单函数

void menu() 

{

cout<<”                         ****欢迎使用职工信息管理系统****”<<endl;

cout<<”                         ********************************”<<endl;

cout<<”                         *******1.录入在职职工信息*******”<<endl;

cout<<”                         *******2.修改在职职工信息*******”<<endl;

cout<<”                         *******3.删除离职职工信息*******”<<endl;

cout<<”                         *******4.查询在职职工信息*******”<<endl;

cout<<”                         *******5.浏览所有职工信息*******”<<endl;

cout<<”                         *******0.退出职工信息系统*******”<<endl;

cout<<”                         ********************************”<<endl;

}

3.4定义修改菜单函数

void menu_modify()

{

cout<<“************************************”<<endl;

cout<< endl;

cout<<“*******1.修改工号  2.修改姓名*******”<<endl;

cout<<endl;

cout<<“*******3.修改性别  4.修改年龄*******”<<endl;

cout<<endl;

cout<<“*******5.修改学历  6.修改工资*******”<<endl;

cout<<endl;

cout<<“*******7.修改地址  8.修改电话*******”<<endl;

cout<<endl;

cout<<“************************************”<<endl;

}

3.5定义选择功能函数

int choosefun()

{

int choice;

database a;

menu();

cout<<“请选择要实现的功能”<<endl;

cout<<“请选择功能编号0~5″<<endl;

cin>>choice;

while (choice)

{

switch (choice)

{

case 1:a.rdatabase();  a.add();   break;

case 2:a.rdatabase(); a.modify(); break;

case 3:a.rdatabase(); a.deletedata(); break;

case 4:a.rdatabase(); a.search(); break;

case 5:a.rdatabase(); a.display(); break;

}

system(“pause”);

system(“cls”);

menu();

cout<<“请选择要实现的功能”<<endl;

cout<<“请选择功能编号0~5″<<endl;

cin>>choice;

}

while (choice==0)

{

cout<<“谢谢使用公司职工信息管理软件!”<<endl;

return 0;

  }

}

3.6定义主函数

int main()

{

system(“color F0”);

choosefun(); 

}

4、测试结果

4.1 系统主界面

系统首次运行时的主界面如图2所示,可输入相对应的数字,实现不同功能

职工信息管理系统

图2 系统主界面

4.2 录入职工信息功能

在图 4-2-1 中输入“1”即可进入职工信息录入操作界面,如图3所示

职工信息管理系统

图3 选择录入信息功能界面

根据提示,输入职工的对应信息,如图4所示

全部信息录入成功按任意键返回系统主界面

职工信息管理系统

图4 录入职工信息

4.3 修改职工信息功能

录入职工信息后,返回系统主界面

输入“2”即可进入职工信息修改操作界面,如图5所示

职工信息管理系统 

图5 职工信息修改功能界面

输入要修改的职工信息的职工号,根据所示职工号相对应的信息,如图6所示,输入不同选项进行修改,如图7所示,修改完成后,按任意键返回系统主界面

职工信息管理系统

图6 输入需修改职工信息对应职工号所示界

职工信息管理系统

 图7输入选项及正确信息所示界面

4.4 浏览所有职工信息功能

录入职工信息后,返回系统主界面

输入“5”即可进入职工信息浏览操作界面,如图8所示

浏览结束后,按任意键返回系统主界面

(因重新运行程序,重新录入信息,而数据与上文各图不同)

职工信息管理系统 

图8 浏览所有职员信息功能界面

4.5 删除职工信息功能

录入职工信息后,返回系统主界面

输入“3”即可进入职工信息删除操作界面,输入需删除的职工对应的职工号,则完成操作,如图9所示,删除后所有职工信息如图10所示,删除后按任意键返回系统主界面(基于图8所示数据而进行的删除)

职工信息管理系统

图9删除职工信息功能页面

职工信息管理系统 

图10删除职工信息后所有职工信息

4.6查询职工信息功能

录入职工信息后,返回系统主界面

输入“4”即可进入职工信息查询操作界面,输入选项选择按照需查询的职工对应的职工号,姓名,地址,电话其中之一,进行查询,如图11所示,查询后按任意键返回系统主界面(基于图12所示数据而进行的查询)

职工信息管理系统

图11 按住址查询结果界面

职工信息管理系统

图12查询功能基于的职工数据

5、课程设计总结

这次课程设计,在具体操作中对这学期所学的理论知识得到巩固加强,加强了对所学知识的掌握,加深了对类的理解和认识,能够运用类的相关知识,编写程序,自学并运用了文件流相关部分知识,开发了自己的逻辑思维能力,培养了分析问题、解决问题、全面考虑问题的能力;同时也发现自己的不足之处,对遗忘的知识进行巩固与复习。

在定义一个类时,复习了类的声明和成员函数的分离,回顾了类中public、protect、private的访问权限;在数据类中声明员工类的对象数组,成员函数中使用职工类的数据成员时报错,显示职工类私有成员不可访问,通过将数据类声明为职工类的友元类,实现数据共享;在写查询函数时,用姓名或住址进行查询,定义为char类型,直接使用两个数组的名称进行比较,程序不执行,改用strcmp函数进行比较;粗略的学习了如何运用代码将输入的内容写入文件中,使用fstream函数;书写功能选择函数,复习回顾了switch语句的使用,梳理了逻辑思路,调整循环语句位置,使得能够循环进行功能选择。

最后,在书写课程设计报告时,在文档许多细节之处的不断修改和程序运行出错的不断调试,也在一定程度上警醒着我,提示自己要提高要求,注重细节,培养了我耐心、仔细、谨慎的学习态度。

今天的文章职工信息管理系统分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/8281.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注