C++课程设计报告人事管理系统.docx
《C++课程设计报告人事管理系统.docx》由会员分享,可在线阅读,更多相关《C++课程设计报告人事管理系统.docx(14页珍藏版)》请在冰豆网上搜索。
![C++课程设计报告人事管理系统.docx](https://file1.bdocx.com/fileroot1/2023-1/2/7fc04c99-4124-48e2-a1a0-a8b6af103739/7fc04c99-4124-48e2-a1a0-a8b6af1037391.gif)
C++课程设计报告人事管理系统
C++builder课程设计
(人事信息管理系统)
一、设计任务与要求………………………………………………3
1.设计内容……………………………………………………3
2.课程设计的要求……………………………………………3
二、系统分析(需求分析)………………………………………3
1.需求分析……………………………………………………3
2.系统性能要求………………………………………………3
3.系统的功能分析……………………………………………3
4.系统功能模块………………………………………………3
5.功能的实现…………………………………………………3
6.模块框架图…………………………………………………4
7.系统数据分析………………………………………………4
三、系统设计………………………………………………………5
1.界面设计……………………………………………………5
2.功能设计……………………………………………………6
四、总结……………………………………………………………7
五、参考资料………………………………………………………7
附录:
源程序…………………………………………………………7
一、设计任务与要求
1、设计内容:
制作人事信息管理系统,实现数据录入、数据删除、数据刷新和数据浏览以及数据查询等一些功能。
2、课程设计的要求:
A.创建人事管理数据表,该表反映职工的基本信息,其中包含职工编号、职工姓名、职工性别、所在部门、职工年龄、工作日期、基本工资、职称、职务和简历等字段。
B.根据自己的喜好设计系统封面,系统封面设计成由计时器控制,在设定的时间间隔内,系统封面显示达到或超过设定的显示时间,系统封面会自动释放。
C.应用系统主控界面应包括记录编辑和记录查询等功能模块。
记录编辑功能完成职工记录编辑的记录增加、记录删除、记录刷新和记录查询等功能。
记录查询功能可以对数据集中的记录进行查询,要求按职工编号进行查询
二、系统分析(需求分析)
1.需求分析:
1能够输入职工的综合情况的输入、修改以及删除;
2能够实现对职工信息的浏览;
3能够实现对职工进行查询;
4设计系统封面并由计时器控制;
2.系统性能要求:
1系统安全、可靠;
2功能齐全;
3操作方便、界面友好;
4易于维护和扩充。
3.系统的功能分析:
资料维护:
系统维护包括对各种表记录的修改、删除、添加等操作。
资料维护:
对数据表中的信息进行浏览。
系统查询:
可以按职工编号、姓名等相关信息进行详细或模糊查询。
报表统计:
包括统计职工编号、职工姓名、职工性别、所在部门、职工年龄、工作日期、
基本工资、职称、职务和简历等字段。
其它操作:
系统封面、计时器控制与人性化提示信息。
4.系统功能模块
人事管理系统有:
数据查找与浏览、数据修改、报表显示和系统封面构成。
5.功能的实现:
1.“数据查找与浏览”模块:
(1)数据查找:
对职工的编号、职工姓名、职工性别、所在部门、职工年龄、工作日期、基本工资、职称、职务和简历等字段进行精确或模糊查找。
(2)数据浏览:
可以对数据表中的数据实现,上一项、下一项、首相、尾项等操作。
(3)其他信息:
设置字体、颜色属性和一些提示信息。
2.“数据修改”模块:
(1)添加数据:
增加一个新的记录
(2)修改数据:
修改原有记录。
3.“报表显示”模块:
显示当前查找到的数据内容,以报表形式打印。
4.“系统封面构成”模块:
(1)系统时钟:
在在设定的时间间隔内,系统封面显示达到或超过设定的显示时间,系统封面会自动释放
(2)功能实现:
进入主界面与退出系统。
6.模块框架图
图模块框架图
7.系统数据分析
所有数据存放到access数据库文件下,由ado连接,通过程序按照要求显示给用户。
找到用户需要的数据。
数据图
三、系统设计
1、界面设计
欢迎界面
主界面
数据修改
报表打印
2、程序设计
通过主窗体调用其他窗体,具体实现可以参照系统分析相关内容。
应用系统主控界面包括记录编辑和记录查询等功能模块。
记录编辑功能完成职工记录编辑的记录增加、记录删除、记录刷新和记录查询等功能。
记录查询功能可以对数据集中的记录进行查询。
四、总结
此次c++builder课程设计,在指导教师的精心教导下,我们学会了如何工程化地编写一个系统软件。
首先要对软件的需求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。
软件实现上,设计了人性化的系统封面,将各个功能独立出来采用功能模块的设计思想。
我们编写程序的过程是辛苦与快乐的,软件设计思想很重要,只要我们在编程,就必须学习新的先进设计思想。
五、参考资料
C++buider实例入门陈雪飞中国青年出版社
C++builder彻底研究陈灿煌中国铁路出版社
附录:
源程序
//-------------------主窗体查询与浏览---------------------------------------
#include
#pragmahdrstop
#include"Unit1.h"
#include"Unit2.h"
#include"Unit3.h"
#include"Unit4.h"
#include"Unit5.h"
#include"Unit6.h"
#pragmapackage(smart_init)
#pragmaresource"*.dfm"
TFmain*Fmain;
boolonshow=false;
__fastcallTFmain:
:
TFmain(TComponent*Owner)
:
TForm(Owner)
{
}
void__fastcallTFmain:
:
N5Click(TObject*Sender)
{
Close();//退出程序
}
void__fastcallTFmain:
:
SpeedButton3Click(TObject*Sender)
{
DataModule3->ADOQuery1->First();
StatusBar1->Panels->Items[0]->Text="数据指向第一个";
}
void__fastcallTFmain:
:
SpeedButton1Click(TObject*Sender)
{
DataModule3->ADOQuery1->Prior();
StatusBar1->Panels->Items[0]->Text="数据指向上一个";
}
void__fastcallTFmain:
:
SpeedButton2Click(TObject*Sender)
{
DataModule3->ADOQuery1->Next();
StatusBar1->Panels->Items[0]->Text="数据指向下一个";
}
void__fastcallTFmain:
:
SpeedButton4Click(TObject*Sender)
{
DataModule3->ADOQuery1->Last();
StatusBar1->Panels->Items[0]->Text="数据指向最后";
}
void__fastcallTFmain:
:
Button2Click(TObject*Sender)
{
//添加新的数据
Fadd->Caption="添加数据";
DataModule3->ADOQuery1->Append();
Fadd->ShowModal();
}
void__fastcallTFmain:
:
FormClose(TObject*Sender,TCloseAction&Action)
{
//对退出程序做确认处理
if(MessageBox(this->Handle,"确定要退出吗?
","提示",MB_YESNO+MB_ICONQUESTION)==IDNO)
Action=caNone;
}
void__fastcallTFmain:
:
N10Click(TObject*Sender)
{
AboutBox->ShowModal();//显示关于对话框
}
void__fastcallTFmain:
:
Button4Click(TObject*Sender)
{
//以下为查找语句
AnsiStringsql;
if(Edit1->Text=="")return;
if(ComboBox1->Text=="精确")sql="='"+Edit1->Text+"';";
elsesql="like'%"+Edit1->Text+"%';";
sql="select*fromrenshiwhere"+ComboBox2->Text+sql;
StatusBar1->Panels->Items[0]->Text=sql;
DataModule3->ADOQuery1->Active=false;
DataModule3->ADOQuery1->SQL->Clear();
DataModule3->ADOQuery1->SQL->Add(sql);
DataModule3->ADOQuery1->Active=true;
if(DataModule3->ADOQuery1->RecordCount==0)
StatusBar1->Panels->Items[1]->Text="无符合条件数据";
elseStatusBar1->Panels->Items[1]->Text="符合条件数据个数为:
"+IntToStr(DataModule3->ADOQuery1->RecordCount);
}
void__fastcallTFmain:
:
Button6Click(TObject*Sender)
{
//以下为显示所有数据
AnsiStringsql;
sql="select*fromrenshi;";
StatusBar1->Panels->Items[0]->Text="显示全部数据";
DataModule3->ADOQuery1->Active=false;
DataModule3->ADOQuery1->SQL->Clear();
DataModule3->ADOQuery1->SQL->Add(sql);
DataModule3->ADOQuery1->Active=true;
if(DataModule3->ADOQuery1->RecordCount==0)
StatusBar1->Panels->Items[1]->Text="无符合条件数据";
elseStatusBar1->Panels->Items[1]->Text="数据总量为:
"+IntToStr(DataModule3->ADOQuery1->RecordCount);
}
void__fastcallTFmain:
:
Button1Click(TObject*Sender)
{
//刷新显示
DataModule3->ADOQuery1->Active=false;
DataModule3->ADOQuery1->Active=true;
}
void__fastcallTFmain:
:
N9Click(TObject*Sender)
{
//帮助内容
ShowMessage("\
大家好,虽然只是一个简单的程序但是也要写帮助。
\n\
简单的操作如下:
\n\
一、打开程序。
\n\
二、可以进行数据的添加、删除、浏览、查找\n\
三、关闭。
\n\
谢谢使用!
\n\
");
}
void__fastcallTFmain:
:
Button3Click(TObject*Sender)
{
//数据删除操作
AnsiStringprintstr="确定删除编号为"+DataModule3->ADOQuery1->FieldByName("编号")->AsString+"的数据吗?
";
if(MessageDlg(printstr,mtWarning,TMsgDlgButtons()<{
DataModule3->ADOQuery1->Delete();
StatusBar1->Panels->Items[0]->Text="数据已经删除";
}
}
void__fastcallTFmain:
:
N3Click(TObject*Sender)
{
//更改显示字体
if(FontDialog1->Execute())Fmain->Font=FontDialog1->Font;
}
void__fastcallTFmain:
:
N12Click(TObject*Sender)
{
//更改窗体颜色
if(ColorDialog1->Execute())
{
Fmain->Color=ColorDialog1->Color;//主窗体
Fadd->Color=ColorDialog1->Color;//添加、修改窗体
}
}
void__fastcallTFmain:
:
N13Click(TObject*Sender)
{
//更改数据域颜色
if(ColorDialog1->Execute())
DBGrid1->Color=ColorDialog1->Color;
}
void__fastcallTFmain:
:
N11Click(TObject*Sender)
{
Fshow->QuickRep1->Preview();//打印数据
}
void__fastcallTFmain:
:
Button5Click(TObject*Sender)
{
Fadd->Caption="修改数据";
Fadd->ShowModal();//修改数据
}
void__fastcallTFmain:
:
FormShow(TObject*Sender)
{
if(onshow==false)
{
Fwelcome->ShowModal();
onshow=true;
return;
}
}
//--------------------------------------------------------------------------
//------------系统封面------------------------------------------------------
#include
#pragmahdrstop
#include"Unit2.h"
#include"Unit1.h"
#pragmapackage(smart_init)
#pragmaresource"*.dfm"
TFwelcome*Fwelcome;
intlogintime=15;//进入系统等待时间X秒
__fastcallTFwelcome:
:
TFwelcome(TComponent*Owner)
:
TForm(Owner)
{
}
void__fastcallTFwelcome:
:
Timer1Timer(TObject*Sender)
{
if(logintime==0){
Timer1->Enabled=false;
Close();
}
logintime--;
SpeedButton1->Caption="进入("+IntToStr(logintime)+")";
}
void__fastcallTFwelcome:
:
SpeedButton2Click(TObject*Sender)
{
Application->Terminate();
}
void__fastcallTFwelcome:
:
SpeedButton1Click(TObject*Sender)
{
logintime=15;
Timer1->Enabled=false;
Close();
}
//--------------------------------------------------------------------------
//---------------------数据修改窗体-----------------------------------------
#include
#pragmahdrstop
#include"Unit4.h"
#include"Unit3.h"
#pragmapackage(smart_init)
#pragmaresource"*.dfm"
TFadd*Fadd;
__fastcallTFadd:
:
TFadd(TComponent*Owner)
:
TForm(Owner)
{
}
void__fastcallTFadd:
:
Button1Click(TObject*Sender)
{
if(DBEdit1->Text=="")return;
DataModule3->ADOQuery1->Refresh();
Close();
}
void__fastcallTFadd:
:
Button2Click(TObject*Sender)
{
DataModule3->ADOQuery1->Cancel();
Close();
}
void__fastcallTFadd:
:
FormClose(TObject*Sender,TCloseAction&Action)
{
DataModule3->ADOQuery1->Cancel();
}
//--------------------------------------------------------------------------