大一C++面向对象课程设计,程序还很简单仅用作学习记录,代码已上传
目录
1、功能介绍
本职工信息管理系统包;括职工的工号、姓名、性别、年龄、学历、工资、住址和电话信息,并能提供以下功能:
系统以菜单方式工作,可通过输入不同选项实现下列功能
- 职工信息录入功能(职工信息用文件保存)v
- 职工信息修改功能
- 职工信息删除功能
- 职工信息查询功能
a.按工号查询 b.按姓名查询 c.按住址查询 d.按电话查询
- 职工信息浏览功能
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定义功能菜单函数
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定义修改菜单函数
cout<<“************************************”<<endl;
cout<<“*******1.修改工号 2.修改姓名*******”<<endl;
cout<<“*******3.修改性别 4.修改年龄*******”<<endl;
cout<<“*******5.修改学历 6.修改工资*******”<<endl;
cout<<“*******7.修改地址 8.修改电话*******”<<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定义主函数
4、测试结果
4.1 系统主界面
系统首次运行时的主界面如图2所示,可输入相对应的数字,实现不同功能
图2 系统主界面
4.2 录入职工信息功能
在图 4-2-1 中输入“1”即可进入职工信息录入操作界面,如图3所示
图3 选择录入信息功能界面
根据提示,输入职工的对应信息,如图4所示
全部信息录入成功按任意键返回系统主界面
图4 录入职工信息
4.3 修改职工信息功能
图5 职工信息修改功能界面
输入要修改的职工信息的职工号,根据所示职工号相对应的信息,如图6所示,输入不同选项进行修改,如图7所示,修改完成后,按任意键返回系统主界面
图7输入选项及正确信息所示界面
4.4 浏览所有职工信息功能
图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