欢迎来到沃文网! | 帮助中心 分享知识,传播智慧!
沃文网
全部分类
  • 教学课件>
  • 医学资料>
  • 技术资料>
  • 学术论文>
  • 资格考试>
  • 建筑施工>
  • 实用文档>
  • 其他资料>
  • ImageVerifierCode 换一换
    首页 沃文网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    工资管理系统课程设计报告.doc

    • 资源ID:973770       资源大小:346.50KB        全文页数:25页
    • 资源格式: DOC        下载积分:20积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    微信扫一扫登录
    下载资源需要20积分
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,下载更划算!
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    工资管理系统课程设计报告.doc

    1、目录1:课程设计介绍12:开发环境13:设计目的14:设计要求:15:流程图和模块图26:设计内容:46.1.数据库与数据表的设计46.2.创建工资管理系统基本框架56.3.开发工资处理界面56.4.主对话框IDD_MY_FORM中控件的加入与布局66.5.为编辑框控件建立数据字段映射86.6.为命令按钮增加函数并编制过程代码97:调试128程序清单169心得体会23参考文献231:课程设计介绍设计题目:工资管理系统设计介绍:利用所学知识,开发小型应用系统,使学生掌握运用可视化编程技术编写调试应用系统程序,训练学生独立开发应用系统、进行数据处理的综合能力,理解工程的概念和头文件的使用,熟悉封装

    2、、继承和多态性等这些面向对象编程的特点。2:开发环境系统环境:操作系统需要Windows Xp以上版本;开发工具Microsoft Visual c+6.0;数据库使用Microsoft office Access2003;3:设计目的(1)、进一步巩固、加深学生所学专业课程可视化程序设计的基本理论知识,理论联系实际。(2)、利用所学知识,开发小型应用系统,掌握运用VC+语言编写调试应用系统程序。(3)、熟练掌握C+语言的基本语法,灵活运用各种数据类型。(4)、进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。4:设计要求:(1)、创建类并使用类对象完成

    3、相应的任务。(2)、深入理解封装、继承和多态这的等面向对象的编程的特点。(3)、设计的小型工资管理系统可以收集、处理、存储信息,拥有查阅、增添、删除、修改等功能。5:流程图和模块图设计步骤:数据库设计数据库驱动工程的建立界面的布局数据库的连接代码的添加工程调试模块图:主模块:工资管理系统工资信息统计查阅预览增删操作工资信息模块:工资信息年份月份房租水电费统计模块:统计应得工资实得工资应扣工资查阅模块:查阅第一条上一条下一条最后一条增删操作模块:增删操作增加记录删除记录修改记录6:设计内容:6.1.数据库与数据表的设计作为工资管理系统,它是数据库应用系统数据处理的典范,数据库应用系统开发的前提是

    4、首先开发数据库和数据库中的数据表。因此在本案例中,我们采用Microsoft Access 2003创建数据库和数据表。为此我们先定义一个“职工工资数据表”的结构,如表所示。 “职工工资数据表”结构字段名称字段类型字段大小小数位数索引必须填写年份数字整型是月份数字整型是职位文本整形是职工编号数字整型是职工姓名文本16是部门文本20是基本工资数字长整型自动是业绩工资数字长整型自动是奖金数字长整型自动是津贴数字长整型自动是各种补助数字长整型自动是应发数数字长整型自动是水电费数字长整型自动是房租数字长整型自动是储蓄数字长整型自动是会费数字长整型自动是保险数字长整型自动是扣除总计数字长整型自动是实发工

    5、资数字长整型自动是6.2.创建工资管理系统基本框架在前面我们已经创建了“工资管理数据库”、“职工工资数据表”。它可为应用程序提供一个数据源。应用程序就是对该数据源的记录进行访问、增加、删除以及数据管理的一切操作。有了这一切的工作,我们就可以着手进行应用系统的构建了。我们先要用ODBC驱动将我们建好的数据库。在Microsoft Visual c+6.0中建立工程,在选择数据源的时候选择开放式数据源连接的驱动程序类型作为系统的数据源也就是ODBC。6.3.开发工资处理界面应用系统向导只能生成一个应用程序基本框架,该框架还不具备任何功能,我们在框架的基础上进行系统各种功能的制作。通常一个应用程序框

    6、架生成两个对话框,一个是IDD_ABOUTBOX对话框,它是一个说明该系统的对话框,是由向导自动完成该对话框仍然是基本的。在基本框架中另外一个对话框就是主对话框IDD_MY_FORM,而它就是我们加工制作的主要内容,数据源也是专门为该对话框引入的。6.4.主对话框IDD_MY_FORM中控件的加入与布局在工资管理系统中,主对话框主要用于处理工资管理的一切内容。根据自己设计和功能的需要在此窗口上添加需要的控件,如图。为各个控件修改属性,具体属性如下表。标签对象的基本属性ID标题内容IDC_STATICCAPTION职工工资管理系统IDC_STATICNE年份IDC_STATICYF月份IDC_S

    7、TATICZGBH职工编号IDC_STATICZGXM职工姓名IDC_STATICZGBM部门IDC_STATICJBGZ基本工资IDC_STATICJJ奖金IDC_STATICYJGZ业绩工资IDC_STATICJT津贴IDC_STATICGZBZ各种补助IDC_STATICRDF水电费IDC_STATICFZOU房租IDC_STATICCX储蓄IDC_STATICHF会费IDC_STATICBX保险IDC_STATICYFHJ应发合计IDC_STATICKCHJ扣除合计IDC_STATICSFGZ实发工资 编辑框控件的基本属性和编辑内容ID编辑内容IDC_EDITNF年份IDC_EDITY

    8、F月份IDC_EDITZGBH职工编号IDC_EDITZGBM所在部门IDC_EDITZGXM职工姓名IDC_EDITJBGZ基本工资IDC_EDITJJ奖金IDC_EDITYJGZ业绩工资IDC_EDITJT津贴IDC_EDITGZBZ各种补助IDC_EDITRDF水电费IDC_EDITFZOU房租IDC_EDITCX储蓄IDC_EDITHF会费IDC_EDITBX保险IDC_EDITYFHJ应发合计IDC_EDITKCHJ扣除合计IDC_EDITSFGZ实发工资命令按钮对象的基本属性ID标题内容IDC_BUTIONFIRST第一条IDC_BUTIONNEXT下一条IDC_BUTIONPRE

    9、V前一条IDC_BUTIONLAST最后一条IDC_BUTIONSUM执行统计IDC_RADIOADD增加记录IDC_RADIODELETE删除记录IDC_RADIOUPDATE刷新记录分组控件对象的基本属性ID标题IDC_STATICDATA工资信息IDC_STATICBROWSE查阅浏览IDC_STATICADDDELETUPD增删操作IDC_STATICCOUNT统计6.5.为编辑框控件建立数据字段映射在对话框中的一切编辑框控件,均是用于进行数据处理和数据显示的,我们为它们建立字段映射,即将创建的数据集中的每一个字段与一个编辑框进行“数据绑定”,如图。6.6.为命令按钮增加函数并编制过程

    10、代码在此我们需要用一些命令来完成对数据的操作,需要为命令按钮建立函数和编制过程代码。(1).“第一条记录”命令按钮代码void CMyView:OnBUTTONfirst() / TODO: Add your control notification handler code herem_pSet-MoveFirst();if(m_pSet-IsBOF()MessageBox(记录已在第一条);m_pSet-MoveNext();UpdateData(FALSE);return;UpdateData(FALSE);(2)、上一条按钮命令的代码void CMyView:OnBUTTONprev(

    11、) / TODO: Add your control notification handler code herem_pSet-MovePrev();if(m_pSet-IsBOF()MessageBox(记录已在第一条);m_pSet-MoveNext();UpdateData(FALSE);return;UpdateData(FALSE);(3)、下一条按钮命令的代码void CMyView:OnBUTTONnext() / TODO: Add your control notification handler code herem_pSet-MoveNext();if(m_pSet-Is

    12、EOF()MessageBox(记录已是最后一条!);m_pSet-MovePrev();UpdateData(FALSE);return;UpdateData(FALSE);(4)、最后一条按钮的代码void CMyView:OnBUTTONlast() / TODO: Add your control notification handler code herem_pSet-MoveLast();if(m_pSet-IsEOF()MessageBox(记录已是最后一条!);m_pSet-MovePrev;UpdateData(FALSE);return;UpdateData(FALSE);

    13、(5)、增加记录的代码void CMyView:OnRADIOzjjl() / TODO: Add your control notification handler code herem_pSet-AddNew();UpdateData (FALSE);(6)、删除记录的代码void CMyView:OnRADIOsxjl() / TODO: Add your control notification handler code herem_pSet-Edit();UpdateData();m_pSet-Update();m_pSet-Requery();m_pSet-CancelUpdate

    14、();(7)修改记录的代码void CMyView:OnRADIOscjl() / TODO: Add your control notification handler code herem_pSet-Delete();m_pSet-MoveNext();if(m_pSet-IsEOF()m_pSet-MoveLast();if(m_pSet-IsBOF()m_pSet-SetFieldNull(NULL);UpdateData(FALSE);(8)、统计的代码void CMyView:OnBUTTONtongji() / TODO: Add your control notificatio

    15、n handler code herem_pSet-Edit();m_pSet-m_ydgz=m_pSet-m_jbgz+m_pSet-m_jj+m_pSet-m_yj+m_pSet-m_jt+m_pSet-m_gzbz;m_pSet-m_ykgz=m_pSet-m_cx+m_pSet-m_hf+m_pSet-m_bx+m_pSet-m_fz+m_pSet-m_sdf;m_pSet-m_sdgz=m_pSet-m_ydgz-m_pSet-m_ykgz;UpdateData(FALSE);m_pSet-Requery();7:调试1. 主界面:2. 统计3. 下一条4. 上一条5.最后一条6.第

    16、一条7.删除操作8修改操作8程序清单#include stdafx.h#include 工资管理系统.h#include 工资管理系统Set.h#include 工资管理系统Doc.h#include 工资管理系统View.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CMyViewBOOL m_Add=false;IMPLEMENT_DYNCREATE(CMyView, CRecordView)BEGIN_MESSAGE_MAP(CMyView, CRecor

    17、dView)/AFX_MSG_MAP(CMyView)ON_BN_CLICKED(IDC_BUTTON_first, OnBUTTONfirst)ON_BN_CLICKED(IDC_BUTTON_prev, OnBUTTONprev)ON_BN_CLICKED(IDC_BUTTON_next, OnBUTTONnext)ON_BN_CLICKED(IDC_BUTTON_last, OnBUTTONlast)ON_BN_CLICKED(IDC_RADIO_zjjl, OnRADIOzjjl)ON_BN_CLICKED(IDC_RADIO_sxjl, OnRADIOsxjl)ON_BN_CLICK

    18、ED(IDC_RADIO_scjl, OnRADIOscjl)ON_BN_CLICKED(IDC_BUTTON_tongji, OnBUTTONtongji)/AFX_MSG_MAP/ Standard printing commandsON_COMMAND(ID_FILE_PRINT, CRecordView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView:OnFilePrintPreview)END_MESSA

    19、GE_MAP()/ CMyView construction/destructionCMyView:CMyView(): CRecordView(CMyView:IDD)/AFX_DATA_INIT(CMyView)m_pSet = NULL;/AFX_DATA_INIT/ TODO: add construction code hereCMyView:CMyView()void CMyView:DoDataExchange(CDataExchange* pDX)CRecordView:DoDataExchange(pDX);/AFX_DATA_MAP(CMyView)DDX_FieldTex

    20、t(pDX, IDC_EDIT_bm, m_pSet-m_bm, m_pSet);DDX_FieldText(pDX, IDC_EDIT_cx, m_pSet-m_cx, m_pSet);DDX_FieldText(pDX, IDC_EDIT_gzbz, m_pSet-m_gzbz, m_pSet);DDX_FieldText(pDX, IDC_EDIT_hf, m_pSet-m_hf, m_pSet);DDX_FieldText(pDX, IDC_EDIT_jbgz, m_pSet-m_jbgz, m_pSet);DDX_FieldText(pDX, IDC_EDIT_jj, m_pSet-

    21、m_jj, m_pSet);DDX_FieldText(pDX, IDC_EDIT_jt, m_pSet-m_jt, m_pSet);DDX_FieldText(pDX, IDC_EDIT_sdf, m_pSet-m_sdf, m_pSet);DDX_FieldText(pDX, IDC_EDIT_nf, m_pSet-m_nf, m_pSet);DDX_FieldText(pDX, IDC_EDIT_yf, m_pSet-m_yf, m_pSet);DDX_FieldText(pDX, IDC_EDIT_yj, m_pSet-m_yj, m_pSet);DDX_FieldText(pDX,

    22、IDC_EDIT_zgbh, m_pSet-m_zgbh, m_pSet);DDX_FieldText(pDX, IDC_EDIT_zgxm, m_pSet-m_zgxm, m_pSet);DDX_FieldText(pDX, IDC_EDIT_zw, m_pSet-m_zw, m_pSet);DDX_FieldText(pDX, IDC_EDIT1_bx, m_pSet-m_bx, m_pSet);DDX_FieldText(pDX, IDC_EDIT_sdgz, m_pSet-m_sdgz, m_pSet);DDX_FieldText(pDX, IDC_EDIT_ydgz, m_pSet-

    23、m_ydgz, m_pSet);DDX_FieldText(pDX, IDC_EDIT_ykgz, m_pSet-m_ykgz, m_pSet);DDX_FieldText(pDX, IDC_EDIT1_fz, m_pSet-m_fz, m_pSet);/AFX_DATA_MAPBOOL CMyView:PreCreateWindow(CREATESTRUCT& cs)/ TODO: Modify the Window class or styles here by modifying/ the CREATESTRUCT csreturn CRecordView:PreCreateWindow

    24、(cs);void CMyView:OnInitialUpdate()m_pSet = &GetDocument()-m_mySet;CRecordView:OnInitialUpdate();GetParentFrame()-RecalcLayout();ResizeParentToFit();/ CMyView printingBOOL CMyView:OnPreparePrinting(CPrintInfo* pInfo) / default preparationreturn DoPreparePrinting(pInfo);void CMyView:OnBeginPrinting(C

    25、DC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add extra initialization before printingvoid CMyView:OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add cleanup after printing/ CMyView diagnostics#ifdef _DEBUGvoid CMyView:AssertValid() constCRecordView:AssertValid();void CMyView:Dump(CDumpConte

    26、xt& dc) constCRecordView:Dump(dc);CMyDoc* CMyView:GetDocument() / non-debug version is inlineASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(CMyDoc);return (CMyDoc*)m_pDocument;#endif /_DEBUG/ CMyView database supportCRecordset* CMyView:OnGetRecordset()return m_pSet;/ CMyView message handlersvoid CMyView:

    27、OnBUTTONfirst() / TODO: Add your control notification handler code herem_pSet-MoveFirst();if(m_pSet-IsBOF()MessageBox(记录已经在第一条);m_pSet-MoveNext();UpdateData(FALSE);return;UpdateData(FALSE);void CMyView:OnBUTTONprev() / TODO: Add your control notification handler code herem_pSet-MovePrev();if(m_pSet-

    28、IsBOF()MessageBox(记录已经在第一条);m_pSet-MoveNext();UpdateData(FALSE);return;UpdateData(FALSE);void CMyView:OnBUTTONnext() / TODO: Add your control notification handler code herem_pSet-MoveNext();if(m_pSet-IsEOF()MessageBox(记录已经在最后一条);m_pSet-MovePrev();UpdateData(FALSE);return;UpdateData(FALSE);void CMyVi

    29、ew:OnBUTTONlast() / TODO: Add your control notification handler code herem_pSet-MoveLast();if(m_pSet-IsEOF()MessageBox(记录已经在最后一条!);m_pSet-MovePrev;UpdateData(FALSE);return;UpdateData(FALSE);void CMyView:OnRADIOzjjl() / TODO: Add your control notification handler code herem_pSet-AddNew();UpdateData (

    30、FALSE);void CMyView:OnRADIOsxjl() / TODO: Add your control notification handler code herem_pSet-Edit();UpdateData();m_pSet-Update();m_pSet-Requery();m_pSet-CancelUpdate();void CMyView:OnRADIOscjl() / TODO: Add your control notification handler code herem_pSet-Delete();m_pSet-MoveNext();if(m_pSet-IsE

    31、OF()m_pSet-MoveLast();if(m_pSet-IsBOF()m_pSet-SetFieldNull(NULL);UpdateData(FALSE);void CMyView:OnBUTTONtongji() / TODO: Add your control notification handler code herem_pSet-Edit();m_pSet-m_ydgz=m_pSet-m_jbgz+m_pSet-m_jj+m_pSet-m_yj+m_pSet-m_jt+m_pSet-m_gzbz;m_pSet-m_ykgz=m_pSet-m_cx+m_pSet-m_hf+m_

    32、pSet-m_bx+m_pSet-m_fz+m_pSet-m_sdf;m_pSet-m_sdgz=m_pSet-m_ydgz-m_pSet-m_ykgz;UpdateData(FALSE);m_pSet-Requery();9心得体会虽然一个月前我们就明确了课程设计的任务,但是真正设计开发一共一周时间,感觉时间还是比较紧张的,但是一个月的知识积累和收集,以及在为期一周的设计过程,我体会颇多,学到很多东西。我懂得了如何用 MFC编写可视化界面的应用程序,利用设计这次设计图书管理系统的机会,我加强了对C+的认识,复习了自己以前的知识,自己的逻辑思考能力也提高不少。从而对Microsoft Visu

    33、al C+ 6.0又有了更深入的认识!对于vc中核心类有更深的了解。尤其是对类中继承的问题,因为继承出过两个问题,有关odbc要recordview基类,窗口需要dilog基类等等。总之,通过这次课程设计,我收获颇丰,相信这会为自己以后的学习和工作带来很大的好处。整体地评价这次课程设计,我认为收获很大,正如上面所说的那样,通过课程设计,既复习了以前的旧知识,又学到了一些新的知识;设计增强了我们用所学知识去解决具体问题的能力,进一步培养了我们独立思考问题和解决问题的能力。当然,老师的悉心指导和同学的帮助也是不可忽视的,是他们让我成功的完成了这次任务。参考文献1.黄维通,姚瑞霞. Visual C+程序设计教程M.北京:机械工业出版社,20052.伍俊良.VC +课程设计与系统开发案例M.北京:清华大学出版社.2003 word文档 可自由复制编辑


    注意事项

    本文(工资管理系统课程设计报告.doc)为本站会员(风****)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给沃文网发消息,QQ:2622162128 - 联系我们

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

    Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1

    陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922