ImageVerifierCode 换一换
格式:DOCX , 页数:42 ,大小:70.97KB ,
资源ID:7914312      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7914312.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(VC++实训实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

VC++实训实验报告.docx

1、VC+实训实验报告重庆电力高等专科学校VC+课程实训报告2011 -2012 学年第 二 期2011/2012学年下期系 别: 计算机科学系 班 级: 软件1011 小 组: 第一小组 指导教师: 邓 谱 时 间: 2011.5.28-2011.6.8(第15、16周) 一、设计目的面向对象程序设计是软件技术专业、计算机网络技术专业的一门重要的专业核心课程。通过两周的课程设计使学生能理论联系实践,进一步加强学生对所学知识的实践动手能力;通过使用C+面向对象程序设计语言及Visual C+ 6.0集成开发环境对“职工工资管理系统”具体项目的开发,熟练掌握使用VC+开发Windows图形用户界面程

2、序及访问数据库。二、任务要求1 设计图形用户界面。2 程序中定义一个员工基类Employee和一个钱类Money。员工基类中包含职工的最基本信息,如姓名、年龄、工龄、姓别、婚姻状态、等级、是否在职、工资和奖金等。3 定义以员工基类Employee为基类派生的针对不同工作岗位的派生Worker工人类、Manager经理类和Saler销售员类。4 定义以员工管理类EmployeeManage。该类中包含的属性有指向员工信息的员工类数组指针、公司经理总数、公司销售人员总数和公司工人总数,完成的行为有增加、删除、修改、查询和保存员工信息,计算所有员工工资和奖金,定义系统界面。5 使用数据库存取数据。三

3、、设计思想运行程序代码,跳出登陆框,登陆框上面有两种登陆模式,三个员工模块,分别进行选择后再点击确定登陆方可进入,两种登陆模式分别为高级会员登录跟普通会员登陆,其次再选择所需要操作的员工模块,当成功登陆过后,会跳转到这个模块的职工管理系统,系统包括了添加、修改、删除、查询、显示以及保存等几个功能,同样的,以高级会员登陆进去的员工和销售都跟经理类的一样;另一种则是普通会员登录,当登陆成功跳转后系统只有更新、显示的功能,点击其他功能都会弹出“你不是管理员,无法进行此操作”的消息框。 四、源代码1)、登陆框:/ DataMangerSystemDlg.cpp : implementation fil

4、e/#include stdafx.h#include DataMangerSystem.h#include DataMangerSystemDlg.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif#include ManagerDialog.h#include SalerDialog.h#include WorkerDialog.hint LongGrade=1;/ CAboutDlg dialog used for App Aboutclass CAboutDlg

5、 : public CDialogpublic: CAboutDlg();/ Dialog Data /AFX_DATA(CAboutDlg) enum IDD = IDD_ABOUTBOX ; /AFX_DATA / ClassWizard generated virtual function overrides /AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); / DDX/DDV support /AFX_VIRTUAL/ Implementationprotected:

6、/AFX_MSG(CAboutDlg) /AFX_MSG DECLARE_MESSAGE_MAP();CAboutDlg:CAboutDlg() : CDialog(CAboutDlg:IDD) /AFX_DATA_INIT(CAboutDlg) /AFX_DATA_INITvoid CAboutDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CAboutDlg) /AFX_DATA_MAPBEGIN_MESSAGE_MAP(CAboutDlg, CDialog) /AFX_MS

7、G_MAP(CAboutDlg) / No message handlers /AFX_MSG_MAPEND_MESSAGE_MAP()/ CDataMangerSystemDlg dialogCDataMangerSystemDlg:CDataMangerSystemDlg(CWnd* pParent /*=NULL*/) : CDialog(CDataMangerSystemDlg:IDD, pParent) /AFX_DATA_INIT(CDataMangerSystemDlg) user=1; ygong=1; m_username = _T(陈广重); m_userpass = _T

8、(123456); /AFX_DATA_INIT / Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()-LoadIcon(IDR_MAINFRAME);void CDataMangerSystemDlg:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CDataMangerSystemDlg) DDX_Text(pDX, IDC_EDIT_USERNAME

9、, m_username); DDX_Text(pDX, IDC_EDIT_USERPASS, m_userpass); /AFX_DATA_MAPBEGIN_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_USERC

10、LASO, 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_MAPEND_MESSAGE_MAP()/

11、 CDataMangerSystemDlg message handlersBOOL CDataMangerSystemDlg:OnInitDialog() CDialog:OnInitDialog(); / Add About. menu item to system menu. / IDM_ABOUTBOX must be in the system command range. ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR); pSysMenu-Appe

12、ndMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); / Set the icon for this dialog. The framework does this automatically / when the applications main window is not a dialog SetIcon(m_hIcon, TRUE); / Set big icon SetIcon(m_hIcon, FALSE); / Set small icon / TODO: Add extra initialization here (CButton *)G

13、etDlgItem(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; return TRUE; / return TRUE unless you set the focus to a controlvoid CDataMangerSystemDlg:OnSysCommand(UINT nI

14、D, LPARAM lParam) if (nID & 0xFFF0) = IDM_ABOUTBOX) CAboutDlg dlgAbout; dlgAbout.DoModal(); else CDialog:OnSysCommand(nID, lParam); / If you add a minimize button to your dialog, you will need the code below/ to draw the icon. For MFC applications using the document/view model,/ this is automaticall

15、y done for you by the framework.void CDataMangerSystemDlg:OnPaint() if (IsIconic() CPaintDC dc(this); / device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); / Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(S

16、M_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; / Draw the icon dc.DrawIcon(x, y, m_hIcon); else CDialog:OnPaint(); / The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURS

17、OR CDataMangerSystemDlg:OnQueryDragIcon() return (HCURSOR) m_hIcon;void CDataMangerSystemDlg:OnButtonUserlongin() / TODO: Add your control notification handler code here switch(user) case 1: if(LonginData(plain.txt)=true) if(MessageBox(系统登录成功!,系统登录,MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONEXCLAMATION)=IDOK)

18、 CDialog:OnOK(); Modal(); else MessageBox(系统登录失败!,系统登录,MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONEXCLAMATION); break; case 2: if(LonginData(higher.txt)=true) if(MessageBox(系统登录成功!,系统登录,MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONEXCLAMATION)=IDOK) CDialog:OnOK(); Modal(); else MessageBox(系统登录失败!,系统登录,MB_OKCANCEL|MB_DEF

19、BUTTON2|MB_ICONEXCLAMATION); break; void CDataMangerSystemDlg:OnButtonUserclaso() / TODO: Add your control notification handler code here if(MessageBox(确定退出系统吗?,系统注销,MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONQUESTION)=IDOK) CDialog:OnOK(); MessageBox(系统成功退出!,系统注销,MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONEXCLAMATION)

20、; else void CDataMangerSystemDlg:OnRadioGuser() / TODO: Add your control notification handler code here user=2; LongGrade=2; m_username = _T(#陈广重); m_userpass = _T(123456); UpdateData(FALSE);void CDataMangerSystemDlg:OnRadioManger() / TODO: Add your control notification handler code here ygong=1;voi

21、d CDataMangerSystemDlg:OnRadioPuuser() / TODO: Add your control notification handler code here user=1; LongGrade=1; m_username = _T(陈广重); m_userpass = _T(123456); UpdateData(FALSE);void CDataMangerSystemDlg:OnRadioSaler() / TODO: Add your control notification handler code here ygong=2;void CDataMang

22、erSystemDlg:OnRadioWorker() / TODO: Add your control notification handler code here ygong=3;bool CDataMangerSystemDlg:LonginData(char *file) UpdateData(TRUE); log.Read_ind(file); char uname20,upass20; strcpy(uname,m_username); strcpy(upass,m_userpass); if(log.find(uname,upass)=true) return true; els

23、e return false; void CDataMangerSystemDlg:Modal() switch(ygong) case 1: ManagerDialog dialg; dialg.DoModal(); break; case 2: SalerDialog dialg; dialg.DoModal(); break; case 3: WorkerDialog dialg; dialg.DoModal(); break; void CDataMangerSystemDlg:OnClose() / TODO: Add your message handler code here a

24、nd/or call default if(MessageBox(确定退出系统吗?,系统退出,MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONQUESTION)=IDOK) CDialog:OnOK(); MessageBox(系统成功退出!,系统退出,MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONEXCLAMATION); else 2)、注销系统void CDataMangerSystemDlg:OnButtonUserclaso() / TODO: Add your control notification handler code here if(

25、MessageBox(确定退出系统吗?,系统注销,MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONQUESTION)=IDOK) CDialog:OnOK(); else 功能操作模块功能1、添加功能extern LongGrade;void ManagerDialog:OnButtonAdd() / TODO: Add your control notification handler code here if(LongGrade=1) MessageBox(你不是管理员,没有操作该功能的权限!,管理权限,MB_OKCANCEL|MB_DEFBUTTON2|MB_ICONE

26、XCLAMATION); else char *name;/姓名 int age;/年龄 int worktime;/工龄 char _sex;/性别 /int marriage;/婚姻状况 int _grade;/职位等级 /int tired;/是否在职 int workhours;/ int _n; UpdateData(TRUE); do if(m_name.IsEmpty()/姓名 _n=0; MessageBox(姓名不能为空!,信息输入,MB_OK|MB_DEFBUTTON1|MB_ICONEXCLAMATION); else name=new char100; strcpy(name,m_name); if(m_age.IsEmpty()/年龄 _n=0; MessageBox(年龄不能为空!,信息输入,MB_OK|MB_DEFBUTTON1|MB_ICONEXCLAMATION); else age=atoi(m_age); if(age65|age20) _n=0; MessageBox(年龄值不合理!20-65!,信息输入,MB_OK|MB_DEFBUTTON1|MB_ICONEXCLAMATION); else if(m_woage.IsEmpt

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

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