基于C++的企业考勤管理系统的设计代码
题目12 “公司员工考勤管理系统设计”
1、问题描述
某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。其中,雇员分为经理、技术人员、销售人员和销售经理。
定义一个将小时换成天数的类。转换规则:8小时转换为一天,12小时转换为1.5天。可进行天数的加、减。
定义一个记录员工生病、休假时间的类。其中包括:员工生病没工作的天数、生病可以不工作的最多天数、员工已经带薪休假的天数、员工可以带薪休假的天数。公司规定带薪休假不能超过24小时。生病可以不工作的最多不能超过16小时。
设计一程序能够对公司人员的休假情况进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。
2、功能要求
(1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。还可以添加带薪休假和生病休假的记录,每条记录中必须包含员工编号和姓名。
(2)查询功能:可根据编号、姓名等信息对已添加的员工信息和休假信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;
(3)显示功能:可显示当前系统中所有记录,每条记录占据一行。
(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能:主要实现对已添加的人员记录和休假记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作。
(6)统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数, 统计任一员工的休假天数等信息。
(7)保存功能:可将当前系统中各类人员记录和休假记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
3、问题的解决方案
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述;
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告。
#import"msado15.dll" no_namespace rename("EOF,"adoEOF")
class CADOConnection
{
private:
Static void InitADO();
Static void UnInitADO();
protected:
_ConnectionPtr m_Connection;
public:
BOOL IsOpen();
_ConnectionPtr GetConnection();
Cstring GetSQLConstr(CString IP,CString DBName);
BOOL Open(CString ConStr);
CADOConnection();
Virtual~CADOConnection();
};
CADOConnection*GetConnection();
Int ConCount = 0;
CADOConnection g_Connection;
CADOConnection*GetConnection()
{
Return & g_Connection;
}
CADOConnection::CADOConnection()
{
InitADO();
m_Connection.CreateInstance("ADODB.Connection");
}
CADOConnection::CADOConnection()
{
If(IsOpen());
m_Connection->Close();
m_Connection = NULL;
UnInitADO();
}
Void CADOConnection::InitADO()
{
If(ConCount ++ == 0)
CoInitialize(NULL);
};
void CADOConnection::UnInitADO()
{
if(~ConCount == 0)
CoUninitialize();
};
BOOL CADOConnection::Open(CString ConStr)
{
if(IsOpen())
m_Connection->Close();
m_Connection->Open((_bstr_t)ConStr,","adModeUnknown);
return IsOpen();
}
CString CADOConnection::GetSQLConStr(CString IP,CString DBName)
{
CString Str;
Str.Format("Provider = SQLOLEDB.1;Persist Security Info = False;User ID = sa;Initial Catalog = %s;Data Source = %s",DBName,IP);
return Str;
}
_ConnectionPtr CADOConnection::GetConnection()
{
return m_Connection:
}
BOOL CADOConnection::IsOpen()
{
long State;
m_Connection->get_State(&State);
if(State == adStateOpen)
return true;
return false;
}
class CADODataSet
{
protected:
_RecoedsetPtr m_DataSet;
CADOConnection *m_Connection
public:
void Delete();
int GetRecordNo();
void move(int nIndex);
void Save();
void SetFieldValue(CString FieldName,_variant_t Value);
void AddNew();
BOOL Next();
FieldsPtr GetFields();
int GetRecordCount();
void SetConnetion(CADOConnection *pCon);
BOOL Open(CString SQLStr);
CADODataSet();
virtual ~CADODataSet();
private:
BOOL IsOpen();
};
CADODataSet::CADODataSet()
{
m_DataSet.CreateInstance("ADODB.Recordset");
}
CADODataSet::~CADODataSet()
{
if(IsOpen())
m_DataSet->Close();
m_DataSet = NULL;
m_Connection = NULL;
}
void CADODataSet::SetConnection(CADOConnection *pCon)
{
m_Connection = pCon;
}
int CADODataSet::GetRecordCount()
{
if(IsOpen())
return m_DataSet->GetRecordCount();
else
return 0;
}
BOOL CADODataSet::Open(CString SQLStr)
{
if(IsOpen)
m_DataSet->Close();
}
BOOL CADODataSet::IsOpen()
{
long State;
m_DataSet->get_State(&State);
if(State == adStateOpen)
return true;
return false;
}
FieldsPtr CADODataSet::GetFields()
{
return m_DataSet->GetFields();
}
BOOL CADODataSet::Next()
{
if(m_DataSet->adoEOF)
retuen false;
m_DataSet->MoveNext();
return true;
}
void CADODataSet::AddNew()
{
m_DataSet->AddNew();
}
void CADODataSet::SetFieldValue(CString FieldName,_variant_t Value0) {
m_DataSet->PutCollect((_bstr_t)FieldName,Value);
}
void CADODataSet::Save()
{
m_DataSet->Upsate();
}
void CADODataSet::Move(int nIndex)
{
m_DataSet->MoveFirst();
m_DataSet->Move(nIndex);
}
相关推荐:
- [互联网资料]2022年厦门大学机电工程系824机械设计
- [互联网资料]东南大学2022年硕士研究生拟录取名单公
- [互联网资料]能源调研报告(精选多篇)
- [互联网资料]初三英语下学期 中考英语 语法填空训练
- [互联网资料]2022内蒙古选调生行测常识备考:新事物
- [互联网资料]自驾必备!在新西兰租什么样的车自驾游
- [互联网资料]佛教素食菜谱44页未完
- [互联网资料]盈利能力分析外文翻译
- [互联网资料]2022年南昌航空大学音乐学院736马克思
- [互联网资料]优选外贸跟单实习报告总结(精品版)
- [互联网资料]银行新员工培训总结
- [互联网资料]2_year_visa_new_guidance_190316
- [互联网资料]天津市五校宝坻一中静海一中杨村一中芦
- [互联网资料]2007--2008学年第一学期高三数学宁波市
- [互联网资料]Chromatic framework for vision in ba
- [互联网资料]幼儿园大班上学期美术教案《心愿树》含
- [互联网资料]2022年华中农业大学信息学院820微型计
- [互联网资料]硬盘坏道的表现 __硬盘使用久了
- [互联网资料]江苏省2016年会计从业资格考试《会计基
- [互联网资料]公共场所卫生监督试卷全解
- 高级英语第一册所有修辞方法及例子总结
- 综合交通枢纽规划与城市发展
- 沃尔玛的企业文化案例分析
- 美国Thanksgiving Day 感恩节 介绍
- PEP六年级英语上册Unit6How do you fee
- 最齐全的中国大型商场购物中心名单
- 数据结构实验报告八—哈夫曼编译码
- 杭州市余杭区人民政府(通知)
- 七年级语文成语运用专项训练
- 微观经济学第三章 消费者行为 课后习题
- 对_钱学森之问_的思考
- Excel_三级联动_下拉菜单
- 办公用品需求计划申请表
- 对外汉语教材必须要知道的发展史
- 挑战杯大学生学术科技作品竞赛作品申报
- 举办民办教育培训机构应具备下列条件
- 太阳能路灯项目设计方案
- 2013年八年级上最新人教版新教材Unit3I
- 【历史】 6-4 《近代科学之父牛顿》 课
- 高中生物《第四章 第二节 探讨加酶洗衣




