请选择 进入手机版 | 继续访问电脑版
开启左侧

工资发放系统程序

[复制链接]
田帅 发表于 2017-7-12 08:59:13 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
本帖最后由 田帅 于 2017-7-12 09:01 编辑

1、 设计该程序的目的
通过对该工资发放系统的设计可以对C++的各个知识点进行有效的复习总结。

2、 该程序的功能
此工资发放系统的功能是对不同员工的信息进行有效的存储,用户可以对员工的信息进行添加,删除,查找等简单操作。

3、 此项目用到的知识点
(1)       封装性
该程序将定薪雇员,佣金雇员,钟点雇员,定薪佣金雇员分别封装成不同的类,类中有该类的属性和方法,属性(各个雇员的姓名,ID,年龄),方法(对属性的获取以及设置)。
数据库的封装:数据库的方法有:对数据的提取,插入,删除。
链表以及节点的封装:在对节点进行封装时,采用了类模板以及函数模板,使其使用更广泛,对链表封装方法主要是对节点的插入,删除,遍历,销毁。
         
(2)       继承性
此程序的继承性主要运用在不同雇员的继承关系上,定薪佣金雇员分别继承了用佣金雇员和定薪雇员,而定薪雇员,佣金雇员,钟点雇员同时继承了Person类,由于是多路径继承,所以将Person类设为虚基类。

(3)       多态性
此性质主要体现在运行多态,此程序将Person类中的方法display()设计为虚函数以及setSalary()设计为纯虚函数,所以Person类为抽象类,不能实例化。通过调用不同派生类的同名函数来表现出不同的行为。另外节点类模板的设计体现出了模板多态。

(4)       数据库的设计
为了存储员工的信息以便在程序关闭之后不丢失,程序加入了Sqlite数据库,此数据库可以对员工的信息进行存储,显示,删除,查找。
添加数据库的过程:1.建立数据库 2.打开数据库 3.创建表 4.添加记录 5.选择记录 6.关闭数据库。3~5通过sqlite3_exec()函数以及sql语句来实现。在对记录选择时需要用到回调函数来对数据库数据进行访问。

(5)       异质链表实现
异质链表主要将Person类的派生类的对象的指针动态类型转换为Person类的指针来插入到链表中,使链表可以存放不同员工类型的对象。
(6)       标准输入输出库
程序使用标准输入输出流使用户与程序进行交互,以及文件的输出对员工信息保存。

添加员工

添加员工

查看信息

查看信息

删除员工

删除员工

查找员工

查找员工

SalarySend.zip

804.56 KB, 下载次数: 90

需要添加sqlite_3库文件

精彩评论6

李冰旋(真) 发表于 2017-7-12 16:47:36 | 显示全部楼层
感谢分享
...............
陈达 发表于 2017-10-3 16:33:07 来自手机 | 显示全部楼层
秦伟伟 发表于 2017-10-3 16:33:20 来自手机 | 显示全部楼层
666
韩涛 发表于 2017-10-3 16:33:32 来自手机 | 显示全部楼层
感谢分享
魏佳琪 发表于 2017-10-3 16:34:39 来自手机 | 显示全部楼层
谭家和 发表于 2017-10-3 16:34:46 来自手机 | 显示全部楼层
哈哈哈哈哈哈哈嗝
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
阅读排行 更多
广告位
0351-8210788
周一至周日 9:00-18:00
意见反馈:mind@unigress.com
关注我们

扫一扫关注我们

Powered by Discuz! X3.4 Licensed  © 2001-2013 Comsenz Inc.( 晋ICP备12005011 )