课程设计小型工资管理系统设计与实现的论文报告文档格式.docx
《课程设计小型工资管理系统设计与实现的论文报告文档格式.docx》由会员分享,可在线阅读,更多相关《课程设计小型工资管理系统设计与实现的论文报告文档格式.docx(48页珍藏版)》请在冰点文库上搜索。
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
25
10
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
答辩小组成员(签字):
2015年6月26日
成绩评定表
类别
平时表现
遵守学习纪律,表现良好,积极完成综合设计任务,无旷课、迟到、早退等情况。
设计完成情况
30
20
按照要求完成设计内容,方案合理,功能完善,设计工作量饱满,能运用专业知识和技能去发现与解决实际问题。
在设计过程中展现出了较强的学习能力、动手实践能力、团队协作能力和创新意识。
报告质量
35
报告格式规范,表述清晰,章节内容组织恰当。
符号统一,图表完备,符合规范要求。
参考文献数量在5篇以上,格式及引用符合要求。
报告内容翔实,结构严谨合理。
课题背景介绍清楚,综述充分。
设计与实现等主要过程完整,论述具体透彻。
能运用所学专业知识对问题加以分析和求解。
无抄袭现象。
设计报告对整个设计过程进行了全面总结,体现了收获,得出了有价值的结论或结果。
答辩情况
总评成绩
指导教师评语
指导教师:
(签字)日期:
2015年7月1日
一、综合设计目的、条件、任务和内容要求:
1.综合设计目的:
面向对象课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。
要求学生达到熟练掌握C++语言的基本知识和技能;
基本掌握面向对象程序设计的思想和方法;
能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。
2.综合设计条件:
学生已学完面向对象程序设计课程,机房已具备本次课程设计的软硬件环境。
3.综合设计任务:
利用面向对象的基本方法和程序设计的基础知识完成一个小型应用系统的完整程序,设计菜单完成相关功能的设计与实现。
4.综合设计内容要求:
(1)完成系统需求分析,主要包括系统设计目的与意义;
系统功能需求(系统框图);
输入输出的要求等内容。
(2)完成系统总体设计:
主要包括系统功能分析;
系统功能模块划分与设计(系统功能模块图)。
(3)完成系统详细设计:
主要包括类层次图;
菜单设计与各功能模块实现等。
(4)完成系统调试:
主要包括调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。
(5)使用说明书及编程体会:
说明系统的使用和操作步骤,详细列出每一步的操作步骤。
(6)附录:
系统源程序(带注释)。
(7)按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档,画图一律用专门的画图软件完成画图,如VISIO软件。
(8)不得抄袭他人程序、综合设计报告,每个人应体现自己的个性设计。
二、进度安排:
2015年6月10日公布综合设计任务说明表,学生选题及查阅相关资料。
2015年6月15日根据选题结果确定指导教师和学生,落实学生上机时间和地点及人员安排。
2015年6月15日指导教师下达设计任务及相关说明,现场指导学生。
2015年6月15日-2015年6月23日编写代码,调试程序。
2015年6月24日-2015年6月25日撰写设计报告
2015年6月26日学生答辩,指导教师提交各种相关文档,整理文档,提交工作总结,上交学院。
三、应收集资料及主要参考文献:
1.陈清华等.VisualC++课程设计.东南大学出版社,2015.1
2.何钦铭等.数据结构课程设计.浙江大学出版社,2015.2
3.谭浩强.C程序设计.清华大学出版社,2000
4.陈世忠.C++编程规范.人民邮电出版社,2002
四、摘要:
这是一个C++员工工资管理程序,工资管理数据文件中存储有员工姓名和工资。
该程序采用的是类、继承、多态性以及文件来处理职工的所有基本信息。
现在各个单位员工的工资管理变得越来越复杂,为了对工资进行系统化的管理,特设计此系统,它可以对职工的姓名和工资基本信息进行输入和存取,其次可以选择职工的姓名查询职工的工资的所有基本信息,如果有职工由于工作调动,则可进行相对应的删除操作。
生成的相关数据以文件的形式存放在硬盘上,并且可以继续录入,从而达到建议操作的目的。
关键字:
多态性;
继承与派生;
员工录入;
工资查询;
工资修改
五、Abstract:
ThisisaC++employeewagesmanagementprocedures,itwasusedthemanagementdatafilestoredinthenameofstaffandwages.Theprogramusestheclass,inheritance,polymorphismanddocumentstohandleallthebasicinformationofthestaff.Noweachunitstaffsalarymanagementbecomesmoreandmorecomplex,inordertocarryoutthemanagementsystemofwages,especiallythedesignofthesystem,itcanbethebasicinformationofthenameandsalaryofworkersforinputandaccess.Second,youcanchoosetheworkernamequeryworkerswagesallthebasicinformation,ifworkersbecausethejobisbroughtintoplay,arecorrespondingtothedeleteoperation.Generatetherelevantdataintheformofdocumentsstoredintheharddrive,andcancontinuetoenter,soastoachievethepurposeoftheproposedoperation.
Keywords:
polymorphism;
inheritanceandderivation;
employeeinput;
wagequery;
wagechange
摘要
Abstract
第一章课题概述
1.1课题背景
工资管理是现在社会生活中很常见的一种管理系统,但有些系统都涉及到数据库的应用,为了方便使用工资管理系统,设计这款小型工资管理软件,使用C语言编写,采用的是类、继承、多态性以及文件来处理职工的所有基本信息。
简化了以往的工资管理系统,对工资信息的读取和删除也不需要涉及到数据库,方便管理员工的工资信息。
1.2设计内容
主要利用C语言的文件操作能力设计开发一个小型的管理信息系统,至少具有如下功能:
对职工信息的录入、修改或删除,通过职工姓名进行查找,并逐项列出录入的职工工资信息,另外也可以查看所有职工目前的工资状况。
有一个文本菜单来调用各个功能的函数及一个主菜单来提示用户如何操作。
1.3设计目的
在计算机中建立相应的数据结构,利用程序实现工资的输入、查询、增、删、改、输出等操作。
进一步掌握利用C语言进行程序设计的能力;
进一步理解和运用结构化程序设计的思想和方法;
初步掌握开发一个小型实用系统的基本方法;
学会调试一个较长程序的基本方法;
学会利用流程图表示算法。
《工资管理系统》的设计与实现,此次程序设计主要利用C语言的基础知识开发一个简单的职工工资管理系统。
工资管理系统是一个企业不可缺少的一部分,它利用计算机对职工工资进行统一管理,实现工资管理工作的系统化、规范化和自动化,为企业提高工作效率。
第二章设计简介及设计方案论述
2.1设计简介
工资管理系统是企业和事业单位常见的计算机信息管理系统,他的主要任务是对各种工资信息进行日常的管理,如工资信息的输入、查询、修改、增加、删除,迅速准确地完成各种工资信息的统计和计算和汇总,快速打印出报表。
利用C语言使用VisualBasic6.0开发一个工资管理系统,开发这个系统的步骤主要有系统分析、系统设计、系统的实现。
在系统的设计中,详细的展现了系统的各个模块和菜单的设计等。
在系统的实现中将会在菜单栏将会列出相应的功能和操作选项,提供了很好的人机对话界面。
2.2设计方案
本系统需要实现员工工资信息的输入、查询、修改、增加、删除、输出等功能,主要功能和实现如图2.1所示。
2.2.1设计方案论述
本系统使用VisualBasic进行软件开发。
VB是微软公司开发的最为流行的软件之一,也是社会上使用较多的开发工具之一。
VB是一个完全能可视化,面向对象的开发工具,因此系统具有兼容性较好,安全性强,通用性好等优点。
(1)添加工资记录
输入员工的基本信息,包括szname(姓名)、dlSalary(工资)。
(2)显示工资记录
则输出所有szname(员工姓名)和相应的dlSalary(工资)。
(3)根据姓名查询工资数据
输入szname(员工姓名),即可查询该员工的dlSalary(工资)。
(4)根据姓名删除工资数据
输入szname(员工姓名),会提示是否确定删除该员工的信息,以防止错误操作。
(5)根据姓名修改工资数据
输入szname(员工姓名),同样会提示是否确定修改该员工的信息,以防止错误操作。
(6)退出系统
完成所有操作,成功退出系统。
第三章详细设计
3.1程序模块设计
(1)员工信息表设计
编写程序之前应该明确各参数的类型和长度,本程序中至少应该包括szname(姓名)和dlSalary(工资)这两个参数,各参数的名称、类型和长度如表3-1员工信息表所示。
(2)数据类模板设计
数据类,是用来存储员工姓名和工资数据的类。
具体内容如下:
classCSalary
{
charszname[20];
//姓名
doubledlSalary;
//工资
public:
CSalary(){strcpy(szname,"
\0"
);
dlSalary=0.0;
}//默认构造函数
CSalary(char*,double);
//构造函数
voidSetSalary(chara[],doubles)
{dlSalary=s;
strcpy(szname,a);
}//工资与姓名输入
char*GetName()
{returnszname;
}//返回姓名
doubleGetSal()
{returndlSalary;
}//返回工资
intCompare(charname[])
{if(strcmp(name,szname)==0)
return1;
else
return0;
}//比较姓名,供查找用,比较结果1,0
voidShow()
{cout<
<
"
姓名"
szname<
"
工资="
dlSalary<
endl<
endl;
}//显示工资
voidch(doublea)//初始化工资数据
{dlSalary=a;
}
};
(3)结点类模板设计
结点类,该类涉及结点的输入、输出、复制等。
具体如下:
cclassCNode//定义结点类
CSalary*pData;
//用于指向数据类的指针,这是每个数据的不同部分
CNode*pNext;
//指向链表的指针
CNode()
{
pData=0;
pNext=0;
}//结点的构造函数
CNode(CNode&
node)
pData=node.pData;
pNext=node.pNext;
}//用于拷贝的构造函数
voidInputData(CSalary*pdata){pData=pdata;
pNext=0;
}//输入数据
voidShowNode(){pData->
Show();
}//显示数据
CSalary*GetData(){returnpData;
}
CNode*Getnext(){returnpNext;
}//返回下一个节点
friendclassCList;
//定义友元类
(4)链表类模板设计
链表类,将结点视为类中的数据成员,涉及结点的插入、输出、删除等操作。
classCList
protected:
CNode*pHead;
CList(){pHead=0;
}//默认构造函数
voidDeleteList();
//删除整个链表
~CList(){DeleteList();
}//解析函数
voidDeleteNode(CNode*);
//删除一个指定的结点,返回该结点的指针
CNode*LookUp(charname[20]);
voidShowList();
//输出整个链表
CNode*GetListHead(){returnpHead;
}//返回链表首结点
voidInsert(CNode*);
//按工资的顺序插入一个结点
CNode*GetLastNode();
//返回链表的最后一个结点
3.2模块功能设计
(1)添加工资记录设计
添加工资记录,包括录入员工的姓名和工资,设计函数流程图如图3.1所示。
添加员工的信息,包括姓名和工资,设计主函数如下所示:
voidCList:
:
Insert(CNode*p0)//按工资的顺序插入一个结点
CNode*p,*q;
if(pHead==0)
pHead=p0;
pHead->
return;
}
p=pHead;
while(p0->
pData->
GetSal()>
p->
GetSal()&
&
pNext!
=0)
{q=p;
p=p->
pNext;
if(p0->
GetSal()<
=p->
GetSal())
{if(p==pHead)
{p0->
pNext=pHead;
pHead=p0;
else
pNext=p;
q->
pNext=p0;
{p->
p0->
return;
voidaddrecord(CList&
salary)//添加数据
{CNode*p;
CSalary*psal;
charname[20];
doubles;
cout<
输入姓名:
\n"
;
cin>
>
name;
change(name);
while(strcmp(name,"
0"
))
{cout<
请输入工资\n"
s;
psal=newCSalary;
psal->
SetSalary(name,s);
p=newCNode;
InputData(psal);
salary.Insert(p);
voidshowrecord(CList&
list)
{list.ShowList();
(2)删除工资记录设计
根据姓名删除工资记录,包括删除员工的姓名和工资,设计函数流程图如图3.2所示。
根据姓名删除工资记录,包括删除员工的姓名和工资,设计主函数如下所示。
DeleteList()//删除整个链表
if(pHead==0)return;
while(p)
deletep->
pData;
q=p;
p=p->
deleteq;
pHead=0;
CNode*CList:
LookUp(charname[20])
if(pHead==0)return0;
CNode*p1=pHead;
while(p1)
if(p1->
Compare(name)==0)returnp1;
p1=p1->
return0;
ShowList()//打印整个链表
if(!
pHead)
{cout<
没有纪录!
return;
CNode*p=pHead;
{p->
ShowNode();
}}
voiddeleterecord(CList&
list)//删除数据
请确认是否执行删除操作,继续Y否则N\n"
chara;
a;
if(a=='
N'
||a=='
n'
)return;
else
if(a=='
Y'
y'
)
请输入查询姓名\n"
CNode*p=list.LookUp(name);
if(p)
list.DeleteNode(p);
未找到查询姓名,请重新