VC++实训实验报告.docx
- 文档编号:7914312
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:42
- 大小:70.97KB
VC++实训实验报告.docx
《VC++实训实验报告.docx》由会员分享,可在线阅读,更多相关《VC++实训实验报告.docx(42页珍藏版)》请在冰豆网上搜索。
VC++实训实验报告
重庆电力高等专科学校
VC++课程实训报告
2011--2012学年第二期
2011/2012学年下期
系别:
计算机科学系
班级:
软件1011
小组:
第一小组
指导教师:
邓谱
时间:
2011.5.28-2011.6.8(第15、16周)
一、设计目的
面向对象程序设计是软件技术专业、计算机网络技术专业的一门重要的专业核心课程。
通过两周的课程设计使学生能理论联系实践,进一步加强学生对所学知识的实践动手能力;通过使用C++面向对象程序设计语言及VisualC++6.0集成开发环境对“职工工资管理系统”具体项目的开发,熟练掌握使用VC++开发Windows图形用户界面程序及访问数据库。
二、任务要求
1.设计图形用户界面。
2.程序中定义一个员工基类Employee和一个钱类Money。
员工基类中包含职工的最基本信息,如姓名、年龄、工龄、姓别、婚姻状态、等级、是否在职、工资和奖金等。
3.定义以员工基类Employee为基类派生的针对不同工作岗位的派生Worker工人类、Manager经理类和Saler销售员类。
4.定义以员工管理类EmployeeManage。
该类中包含的属性有指向员工信息的员工类数组指针、公司经理总数、公司销售人员总数和公司工人总数,完成的行为有增加、删除、修改、查询和保存员工信息,计算所有员工工资和奖金,定义系统界面。
5.使用数据库存取数据。
三、设计思想
运行程序代码,跳出登陆框,登陆框上面有两种登陆模式,三个员工模块,分别进行选择后再点击确定登陆方可进入,两种登陆模式分别为高级会员登录跟普通会员登陆,其次再选择所需要操作的员工模块,当成功登陆过后,会跳转到这个模块的职工管理系统,系统包括了添加、修改、删除、查询、显示以及保存等几个功能,同样的,以高级会员登陆进去的员工和销售都跟经理类的一样;另一种则是普通会员登录,当登陆成功跳转后系统只有更新、显示的功能,点击其他功能都会弹出“你不是管理员,无法进行此操作”的消息框。
四、源代码
1)、登陆框:
//DataMangerSystemDlg.cpp:
implementationfile
//
#include"stdafx.h"
#include"DataMangerSystem.h"
#include"DataMangerSystemDlg.h"
#ifdef_DEBUG
#definenewDEBUG_NEW
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#endif
#include"ManagerDialog.h"
#include"SalerDialog.h"
#include"WorkerDialog.h"
intLongGrade=1;
/////////////////////////////////////////////////////////////////////////////
//CAboutDlgdialogusedforAppAbout
classCAboutDlg:
publicCDialog
{
public:
CAboutDlg();
//DialogData
//{{AFX_DATA(CAboutDlg)
enum{IDD=IDD_ABOUTBOX};
//}}AFX_DATA
//ClassWizardgeneratedvirtualfunctionoverrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupport
//}}AFX_VIRTUAL
//Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg:
:
CAboutDlg():
CDialog(CAboutDlg:
:
IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}
voidCAboutDlg:
:
DoDataExchange(CDataExchange*pDX)
{
CDialog:
:
DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg,CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
//Nomessagehandlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//CDataMangerSystemDlgdialog
CDataMangerSystemDlg:
:
CDataMangerSystemDlg(CWnd*pParent/*=NULL*/)
:
CDialog(CDataMangerSystemDlg:
:
IDD,pParent)
{
//{{AFX_DATA_INIT(CDataMangerSystemDlg)
user=1;
ygong=1;
m_username=_T("陈广重");
m_userpass=_T("123456");
//}}AFX_DATA_INIT
//NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32
m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
voidCDataMangerSystemDlg:
:
DoDataExchange(CDataExchange*pDX)
{
CDialog:
:
DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDataMangerSystemDlg)
DDX_Text(pDX,IDC_EDIT_USERNAME,m_username);
DDX_Text(pDX,IDC_EDIT_USERPASS,m_userpass);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDataMangerSystemDlg,CDialog)
//{{AFX_MSG_MAP(CDataMangerSystemDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON_USERLONGIN,OnButtonUserlongin)
ON_BN_CLICKED(IDC_BUTTON_USERCLASO,OnButtonUserclaso)
ON_BN_CLICKED(IDC_RADIO_GUSER,OnRadioGuser)
ON_BN_CLICKED(IDC_RADIO_MANGER,OnRadioManger)
ON_BN_CLICKED(IDC_RADIO_PUUSER,OnRadioPuuser)
ON_BN_CLICKED(IDC_RADIO_SALER,OnRadioSaler)
ON_BN_CLICKED(IDC_RADIO_WORKER,OnRadioWorker)
ON_WM_CLOSE()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//CDataMangerSystemDlgmessagehandlers
BOOLCDataMangerSystemDlg:
:
OnInitDialog()
{
CDialog:
:
OnInitDialog();
//Add"About..."menuitemtosystemmenu.
//IDM_ABOUTBOXmustbeinthesystemcommandrange.
ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX<0xF000);
CMenu*pSysMenu=GetSystemMenu(FALSE);
if(pSysMenu!
=NULL)
{
CStringstrAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if(!
strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu);
}
}
//Settheiconforthisdialog.Theframeworkdoesthisautomatically
//whentheapplication'smainwindowisnotadialog
SetIcon(m_hIcon,TRUE);//Setbigicon
SetIcon(m_hIcon,FALSE);//Setsmallicon
//TODO:
Addextrainitializationhere
((CButton*)GetDlgItem(IDC_RADIO_PUUSER))->SetCheck(TRUE);
((CButton*)GetDlgItem(IDC_RADIO_MANGER))->SetCheck(TRUE);
if(GetCheckedRadioButton(IDC_RADIO_PUUSER,IDC_RADIO_GUSER)==IDC_RADIO_PUUSER)
{LongGrade=1;}
returnTRUE;//returnTRUEunlessyousetthefocustoacontrol
}
voidCDataMangerSystemDlg:
:
OnSysCommand(UINTnID,LPARAMlParam)
{
if((nID&0xFFF0)==IDM_ABOUTBOX)
{
CAboutDlgdlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog:
:
OnSysCommand(nID,lParam);
}
}
//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow
//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,
//thisisautomaticallydoneforyoubytheframework.
voidCDataMangerSystemDlg:
:
OnPaint()
{
if(IsIconic())
{
CPaintDCdc(this);//devicecontextforpainting
SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);
//Centericoninclientrectangle
intcxIcon=GetSystemMetrics(SM_CXICON);
intcyIcon=GetSystemMetrics(SM_CYICON);
CRectrect;
GetClientRect(&rect);
intx=(rect.Width()-cxIcon+1)/2;
inty=(rect.Height()-cyIcon+1)/2;
//Drawtheicon
dc.DrawIcon(x,y,m_hIcon);
}
else
{
CDialog:
:
OnPaint();
}
}
//Thesystemcallsthistoobtainthecursortodisplaywhiletheuserdrags
//theminimizedwindow.
HCURSORCDataMangerSystemDlg:
:
OnQueryDragIcon()
{
return(HCURSOR)m_hIcon;
}
voidCDataMangerSystemDlg:
:
OnButtonUserlongin()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
switch(user)
{
case1:
{
if(LonginData("plain.txt")==true)
{
if(MessageBox("系统登录成功!
","系统登录",MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONEXCLAMATION)==IDOK)
{
CDialog:
:
OnOK();
Modal();
}
}
else
{
MessageBox("系统登录失败!
","系统登录",MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONEXCLAMATION);
}
}
break;
case2:
{
if(LonginData("higher.txt")==true)
{
if(MessageBox("系统登录成功!
","系统登录",MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONEXCLAMATION)==IDOK)
{
CDialog:
:
OnOK();
Modal();
}
}
else
{
MessageBox("系统登录失败!
","系统登录",MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONEXCLAMATION);
}
}
break;
}
}
voidCDataMangerSystemDlg:
:
OnButtonUserclaso()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
if(MessageBox("确定退出系统吗?
","系统注销",MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONQUESTION)==IDOK)
{
CDialog:
:
OnOK();
MessageBox("系统成功退出!
","系统注销",MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONEXCLAMATION);
}
else
{}
}
voidCDataMangerSystemDlg:
:
OnRadioGuser()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
user=2;
LongGrade=2;
m_username=_T("#陈广重");
m_userpass=_T("123456");
UpdateData(FALSE);
}
voidCDataMangerSystemDlg:
:
OnRadioManger()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
ygong=1;
}
voidCDataMangerSystemDlg:
:
OnRadioPuuser()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
user=1;
LongGrade=1;
m_username=_T("陈广重");
m_userpass=_T("123456");
UpdateData(FALSE);
}
voidCDataMangerSystemDlg:
:
OnRadioSaler()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
ygong=2;
}
voidCDataMangerSystemDlg:
:
OnRadioWorker()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
ygong=3;
}
boolCDataMangerSystemDlg:
:
LonginData(char*file)
{
UpdateData(TRUE);
log.Read_ind(file);
charuname[20],upass[20];
strcpy(uname,m_username);
strcpy(upass,m_userpass);
if(log.find(uname,upass)==true)
{
returntrue;
}
else
{
returnfalse;
}
}
voidCDataMangerSystemDlg:
:
Modal()
{
switch(ygong)
{
case1:
{
ManagerDialogdialg;
dialg.DoModal();
}
break;
case2:
{
SalerDialogdialg;
dialg.DoModal();
}
break;
case3:
{
WorkerDialogdialg;
dialg.DoModal();
}
break;
}
}
voidCDataMangerSystemDlg:
:
OnClose()
{
//TODO:
Addyourmessagehandlercodehereand/orcalldefault
if(MessageBox("确定退出系统吗?
","系统退出",MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONQUESTION)==IDOK)
{
CDialog:
:
OnOK();
MessageBox("系统成功退出!
","系统退出",MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONEXCLAMATION);
}
else
{}
}
2)、注销系统
voidCDataMangerSystemDlg:
:
OnButtonUserclaso()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
if(MessageBox("确定退出系统吗?
","系统注销",MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONQUESTION)==IDOK)
{
CDialog:
:
OnOK();
}
else
{}
}
功能操作模块功能
1、添加功能
externLongGrade;
voidManagerDialog:
:
OnButtonAdd()
{
//TODO:
Addyourcontrolnotificationhandlercodehere
if(LongGrade==1)
{
MessageBox("你不是管理员,没有操作该功能的权限!
","管理权限",MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONEXCLAMATION);
}
else
{
char*name;//姓名
intage;//年龄
intworktime;//工龄
char_sex;//性别
//intmarriage;//婚姻状况
int_grade;//职位等级
//inttired;//是否在职
intworkhours;//
int_n;
UpdateData(TRUE);
do
{
if(m_name.IsEmpty())//姓名
{
_n=0;
MessageBox("姓名不能为空!
","信息输入",MB_OK|MB_DEFBUTTON1|MB_ICONEXCLAMATION);
}
else
{
name=newchar[100];
strcpy(name,m_name);
if(m_age.IsEmpty())//年龄
{
_n=0;
MessageBox("年龄不能为空!
","信息输入",MB_OK|MB_DEFBUTTON1|MB_ICONEXCLAMATION);
}
else
{
age=atoi(m_age);
if(age>65||age<20)
{
_n=0;
MessageBox("年龄值不合理!
[20-65]!
","信息输入",MB_OK|MB_DEFBUTTON1|MB_ICONEXCLAMATION);
}
else
{
if(m_woage.IsEmpt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VC 实验 报告