VC++实训实验报告.docx

上传人:b****6 文档编号:7914312 上传时间:2023-01-27 格式:DOCX 页数:42 大小:70.97KB
下载 相关 举报
VC++实训实验报告.docx_第1页
第1页 / 共42页
VC++实训实验报告.docx_第2页
第2页 / 共42页
VC++实训实验报告.docx_第3页
第3页 / 共42页
VC++实训实验报告.docx_第4页
第4页 / 共42页
VC++实训实验报告.docx_第5页
第5页 / 共42页
点击查看更多>>
下载资源
资源描述

VC++实训实验报告.docx

《VC++实训实验报告.docx》由会员分享,可在线阅读,更多相关《VC++实训实验报告.docx(42页珍藏版)》请在冰豆网上搜索。

VC++实训实验报告.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1