课程设计职工管理系统
第一篇:课程设计职工管理系统
职工信息管理系统课程设计报告(定版)
面向对象课程设计报告
课程设计题目:职工信息管理系统
姓名:
班级:
学号:
指导老师:
2011年11月8
日
目录
摘
要...................................................................................................................... 3 第一章 绪论.................................................................................................................. 4 1.1面向对象C++语言程序设计 .......................................................................... 4 1.2职工信息管理系统........................................................................................... 4 1.3程序编译环境................................................................................................... 4 第二章 职工信息管理系统需求分析.......................................................................... 5 2.1编写目的........................................................................................................... 5 2.2需求概述........................................................................................................... 5 2.3需求说明........................................................................................................... 6 第三章:详细设计........................................................................................................ 7 3.1编写目的........................................................................................................... 7 3.2详细设计......................................................................................................... 10 第四章:源程序编码及实现...................................................................................... 11 4.1程序源代码..................................................................................................... 16 4.2程序实现结果................................................................................................. 17 第五章:系统测试...................................................................................................... 18 第六章:结束语.......................................................................................................... 21 参考文献:.................................................................................................................. 21
摘
要
在当今社会,互联网空间的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。当前大量企业的职工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。
本程序是一个关于职工信息管理的系统,通过这个系统用户可以简捷、方便的对职工信息进行增加、修改、添加、查询、浏览等功能,它不仅可以帮助企业单位达到员工管理办公自动化、节约管理成本、更能达到提高企业单位工作效率的目的。
关键词:职工,信息管理,系统,程序
一.绪论
1.1面向对象C++语言程序设计
C++是种面向对象的程序设计语言,它是在C语言基础上发展起来的。虽然它不是最早的面向对象的程序设计语言,但是它是目前使出比较广泛的面向对象的程序设计语言。
什么是面向对象?简单地说,它和面向过程—样都是软件开发的一种方法。但是它与面向过程不同,面向对象是—种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统的软件开发方法。
1.2职工信息管理系统
在当今信息技术高速发展的时代,企业单位迫切需要这样一个系统:它能高效的管理企业或单位内部所有员工的个人信息,并能正确快速的对系统的使用者的操作做出回应,以提高效率,降低成本。该系统能够满足以上的要求,使用户可以快速准确的管理员工的信息。
1.3程序编译环境
使用Visual C++ 6.0集成环境来编辑、编译并运行程序。Visual C++ 不仅仅是一个编译器。它是一个全面的应用程序开发环境,使用它你充分利用具有面向对象特性的 C++ 来开发出专业级的 Windows 应用程序。为了能充分利用这些特性,你必须理解 C++ 程序设计语言。
二.需求分析
2.1 编写目的:
通过对用户需求进行调查分析,写出需求分析文档作为项目设计的基本准则要求,以及作为系统分析员进行系统分析和测试人员进行测试时的手册
2.2需求概述:
设计一个职工信息管理系统,使之能提供以下功能: 录入职工信息并保存 浏览所有职工信息 查询职工信息
修改职工信息并保存 添加职工信息
2.3 需求说明:
本系统所实现的主要功能:
(1)添加新成员,实现对新加入职工信息的录入,所有的信息当中主码即职工信息编号必须填写。
(2)删除职工信息,当公司有职工因故离职时,需要删除员工信息时,释放掉它所占据的数据库空间,就可以在列表中选中所要删除的记录,然后点击删除。如果确认删除则在弹出的消息框中点击确定即可删除所选的记录。
(3)修改员工信息,由于某种原因可能导致在记录员工信息时出现错误,需要对员工信息进行修改。在员工信息系统主窗口中选择所要修改的成员信息进行修改,点击修改后将会弹出消息框,如果确认修改则点击确定,则修改数据成功。(4)显示职工信息,在删除职工信息和添加职工信息成功后,点击显示按钮则可对职工信息记录进行更新,显示职工信息的最新
记录。
(5)姓名检索信息,点击此按钮则可以显示出当前那一条或几条员工信息,用名字来查看员工信息。综上本系统可以对员工信息实现科学自动的管理,其中包括显示职工基本信息,并实现信息的添加、删除、显示、及检索。经过调试,程序性能良好。
三.详细设计
3.1编写目的:
根据项目概要设计说明书,在项目概要设计的基础之上,对系统进行详细设计,以便下一步进行程序编码工作。
3.2详细设计:
对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下: 系统功能模块图:
(1)系统的主要模块:增加模块、显示模块、删除模块、计算模块、检索模块
(2)员工管理系统的主界面设置如下图:
图一 员工管理系统的主界面
(3)职工信息记录的显示界面设计如下图:
图二 职工信息增加记录的显示界面
教师的:
工人的:
在页面上用按键1/2来选择是添加教师或者工人,如上两图显示。
显示按钮完成的功能:在对员工进行信息记录完成时,单击此按钮可以对其进行查看。当显示成功时,系统会下图所
四.源程序编码及实现
·4.1源程序代码:
#include #include using namespace std;
class employee { public: virtual void display()=0; protected: int num; string name; string sex; float income; int birthday; int workday; int age; };
class teacher:public employee { public: void getdata() {
cout<<"请输入编号:"<
cin>>num;
cout<<"请输入姓名:"<
cin>>name;
cout<<"请输入姓别:"<
cin>>sex;
cout<<"请输入薪水:"<
cin>>income;
cout<<"请输入生日:"<
cin>>birthday;
cout<<"请输入工作年龄:"<
cin>>workday
age=workday-birthday; } void display()
{
cout<<"编号:"<
cout<<"姓名:"<
cout<<"姓别:"<
cout<<"薪水:"<
cout<<"生日:"<
cout<<"参加工作时间:"<
cout<<"年龄:"<
age=workday-birthday;
return age; } int getnum() {
return num; } string getname() {
return name; } };
class worker:public employee { public: void getdata() {
cout<<"请输入编号:"<
cin>>num;
cout<<"请输入姓名:"<
cin>>name;
cout<<"请输入姓别:"<
cin>>sex;
cout<<"请输入薪水:"<
cin>>income;
cout<<"请输入生日:"<
cin>>birthday;
cout<<"请输入工作年龄:"<
cin>>workday; } void display() {
12
cout<<"编号:"<
cout<<"姓名:"<
cout<<"姓别:"<
cout<<"薪水:"<
cout<<"生日:"<
cout<<"参加工作时间:"<
cout<<"年龄:"<
age=workday-birthday;
return age; } int getnum() {
return num; } string getname() {
return name; } };
void menu(int &choice) { cout<<"
职工信息管理系统"<
1、增加一位教师记录"<
2、增加一位工人记录"<
3、显示全部职工记录"<
4、计算教师平均年龄"<
5、计算工人平均年龄"<
6、删除一个教师"<
7、删除一个工人"<
8、按姓名检索所有信息"<
请输入你的选择:"; cin>>choice; }
int main() { int choice=0; int indx1=0,indx2=0; bool flag=false;
13
teacher t[50]; worker w[50]; while (1) {
int i=0;
int average=0;
int temp;
string tname;
menu(choice);
switch (choice)
{
case 1:
t[indx1++].getdata();
break;
case 2:
w[indx2++].getdata();
break;
case 3:
cout<<"显示所有教师信息:"<
for (i=0;i!=indx1;++i)
{
t[i].display();
}
cout<<"显示所有工人信息:"<
for (i=0;i!=indx2;++i)
{
w[i].display();
}
break;
case 4:
cout<<"教师平均年龄:"<
for (i=0;i!=indx1;++i)
{
average+=t[i].getage();
}
cout<
break;
case 5:
cout<<"工人平均年龄:"<
for (i=0;i!=indx2;++i)
{
average+=w[i].getage();
}
cout<
14
break;
case 6:
cout<<"请输入要删除教师的编号"<
cin>>temp;
for (i=0;i!=indx1;++i)
{
if (temp==t[i].getnum())
{
do
{
t[i]=t[i+1];
++i;
} while (i!=indx1);
cout<<"已删除"<
--indx1;
break;
}
}
break;
case 7:
cout<<"请输入要删除工人的编号"<
cin>>temp;
for (i=0;i!=indx2;++i)
{
if (temp==w[i].getnum())
{
do
{
w[i]=w[i+1];
++i;
} while (i!=indx2);
cout<<"已删除"<
--indx2;
break;
}
}
break;
case 8:
cout<<"请输入姓名:"<
cin>>tname;
for (i=0;i!=indx1;++i)
{
if (tname==t[i].getname())
{
15
cout<<"这位是教师"<
t[i].display();
}
}
for (i=0;i!=indx2;++i)
{
if (tname==w[i].getname())
{
cout<<"这位是工人"<
w[i].display();
}
}
break;
case 0:
flag=true;
break;
}
if (flag)
{
break;
} } return 0; }
16
·4.2程序实现结果:
五.系统测试
5.1 测试方法
首先运行程序,进入主界面选定要增加的员工信息,在职工编号中填入所要增加的职工编号,添加职工信息。选择增加,填写职工信息,在按Enter键确定,即可增加员工信息,然后显示按钮查看 增加所选员工信息后的员工信息列表。
5.2测试用例数据的设计
增加职工编号为102,姓名为yeyss,性别为女nan,出生年月为19690309,职称为教师,最后工资为1300的职工记录。
5.3测试结果
增加前后员工信息记录
六.结 束 语(设计心得)
在这一周的课程设计中,我们组的课程设计题目是:职工信息管理系统。即是以企业单位职工信息管理业务为背景,设计 “职工信息管理系统”。
一开始,接到这个题目,我们对“职工信息管理”,这个概念不是很了解,所以在机房上机时,我们查阅了许多资料,了解到即是对职工的工号,姓名,年龄,学历等复杂多样的信息,能够较清晰,快捷而操作方便的现代化管理系统。弄清了这个基本概念以后,我们又详细理解了老师所讲的设计要求和注意事项,开始集中讨论分析问题,大致确定了总体的设计思路,初步提出问题的解决方案,以及系统大致设计方案和框架,接下来我们就着手编程。在编程过程中,我们先是根据系统所要求,找出所需要的我们在c++语言课程中所学到的知识点。编完程序,我们在机房进行了一次又一次的调试,找出了其中的错误,一一纠正,并且修改了其中不太完善的部分,力求做到实用并且精确。
通过一周的课程设计,我们对c++语言知识掌握了很多,并能将它用以程序编写中。同时认识到了团队合作的重要性。总之,我们在这一周学到了许多知识,提高了自己的解决实际问题的能力。
参考文献
1. c/c++程序设计教程,王连相,中国铁道出版社,2006 2. c语言程序设计,谭浩强,清华大学出版社,1999 3 . c程序设计题解与上机指导,谭浩强,清华大学出版社,1999 4. c/c++程序设计上机指导与测试,王连相,中国铁道出版社,2006 5 . c语言函数手册,机械工业出版社,1999 6 . c语言的实际应用,安徽科学技术出版社,2000 7. c++语言程序设计(第4版)郑莉 董渊 河江舟,清华大学出版社,2010
21
22
第二篇:vb课程设计 职工工资管理系统代码
Form1: Dim errorCount As Integer Private Sub Command1_Click() If Text1.Text = "system" And Text2.Text = "1234" Then
Load Form2
Form2.Show
Me.Hide
MsgBox "登陆成功,欢迎您进入职工工资管理系统", vbInformation, "登陆成功"
Else
errorCount = errorCount + 1
If errorCount < 3 Then
MsgBox "用户名或密码错误(第" & errorCount & "次)!", vbOKOnly + vbExclamation, "登陆失败"
Text1.SetFocus
End If
If errorCount >= 3 Then
Text1.Enabled = False
Text2.Enabled = False
Command1.Enabled = False
MsgBox "三次输入用户名或密码错误,程序将自动退出!", vbOKOnly + vbExclamation, "登陆失败"
End
End If End If
End Sub
Private Sub Command2_Click() Unload Me End Sub
Private Sub Form_Load() errorCount = 0 End Sub
Private Sub Form_Unload(Cancel As Integer) If MsgBox("是否要退出程序?", vbYesNo, "退出提示") = vbNo Then
Cancel = 1 End If End Sub
- 1
For i = 1 To jlNum
ygList(i).shifagongzi = (CSng(ygList(i).jibengz) + ygList(i).gerensui
CSng(ygList(i).jingtie)
ygList(y).shifagongzi = ygList(zuishao).shifagongzi ygList(zuishao).shifagongzi = linShi.shifagongzi End If Next loadData End Sub
Private Sub Command5_Click() Dim linShi As YuanGong
linShi.ygnamg = InputBox("请输入要添加的姓名", "添加员工-姓名录入") If Len(Trim(linShi.ygnamg)) > 0 Then
linShi.jibengz = InputBox("请输入添加员工的基本工资", "添加员工-基本工资录入")
If Len(Trim(linShi.jibengz)) > 0 Then
linShi.jingtie = InputBox("请输入添加员工的津贴", "添加员工-津贴录入")
If Len(Trim(linShi.jingtie)) > 0 Then
linShi.gerensui = InputBox("请输入添加员工的个人所得税", "添加员工-个税录入")
If Len(Trim(linShi.gerensui)) > 0 Then
linShi.suidianfei = InputBox("请输入添加员工的水电费", "添加员工-水电费录入")
If Len(Trim(linShi.suidianfei)) > 0 Then
Open filedir For Append As #1
Write #1, linShi.ygnamg; linShi.jibengz; linShi.jingtie; linShi.gerensui; linShi.suidianfei
Close #1
MsgBox "添加员工成功!", vbOKOnly + vbInformation, "成功"
jlNum = 0 If Len(Trim(filedir)) > 0 Then
Open filedir For Input As #1
Do While Not EOF(1)
Line Input #1, a
If Len(Trim(a)) > 0 Then
jlNum = jlNum + 1
End If
Loop
Close #1
ReDim Preserve ygList(jlNum) As YuanGong
jlNum = 0
Open filedir For Input As #1
Do While Not EOF(1)
jlNum = jlNum + 1
Input #1, ygList(jlNum).ygnamg
Input #1, ygList(jlNum).jibengz
Input #1, ygList(jlNum).jingtie
- 5
Next
Close #1
MsgBox "删除员工成功!", vbOKOnly + vbInformation, "成功"
jlNum = 0 If Len(Trim(filedir)) > 0 Then
Open filedir For Input As #1
Do While Not EOF(1)
Line Input #1, a
If Len(Trim(a)) > 0 Then
jlNum = jlNum + 1
End If
Loop
Close #1
ReDim ygList(jlNum) As YuanGong
jlNum = 0
Open filedir For Input As #1
Do While Not EOF(1)
jlNum = jlNum + 1
Input #1, ygList(jlNum).ygnamg
Input #1, ygList(jlNum).jibengz
Input #1, ygList(jlNum).jingtie
Input #1, ygList(jlNum).gerensui
Input #1, ygList(jlNum).suidianfei
Loop
Close #1
loadData
Command2.Enabled = True
Command3.Enabled = False
Command4.Enabled = False
Command5.Enabled = True
Command6.Enabled = True End If
Text1.Text = "姓名" & vbTab & "工资" & vbTab & "津贴" & vbTab & "所得税" & vbTab & "水电费" & vbCrLf
For i = 1 To jlNum
Text1.Text = Text1.Text & ygList(i).ygnamg & vbTab & ygList(i).jibengz & vbTab & ygList(i).jingtie & vbTab & ygList(i).gerensui & vbTab & ygList(i).suidianfei & vbCrLf
Next Else
MsgBox "删除员工失败!", vbOKOnly + vbExclamation, "失败" End If End Sub
Private Sub Command7_Click()
- 7
第三篇:c语言课程设计 学生选修课程系统设计
题目:学生选修课程系统设计
功能:假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息。试设计一选修课程系统。
分步实施:
1、 初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;
2、 建立一个文件,将每条记录信息写入文件中并能显示于屏幕上
3、完成上述添加、查找(课程编号、课程名称、课程性质等)、修改等功能。
4、进一步要求:学生选修课程(可选项)
要求:
1、用C语言实现程序设计;
2、利用结构体数组实现信息的数据结构设计;
3、系统的各个功能模块要求用函数的形式实现;
4、界面友好(良好的人机交互),程序加必要的注释。
课程设计实验报告要求:
1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分 。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、
小结等。
第四篇:课程设计--成绩管理系统
“成绩管理系统”课程设计指导书
课题名称:学生成绩管理系统
设计目标:按照软件工程的规范,以SQL Server或Oracle为后台数据库,以Visual C++、Delphi等为前端开发工具,设计并实现一个能模拟高等学校学生成绩管理的系统。
需求描述:
学生成绩管理系统中:
1.系统用户
系统的用户是学校的学生、教师和管理员。学生使用本系统查询自己的成绩。教师使用本系统录入和查询自己所授课程的考试成绩。教学管理员可以查询所有课程成绩,并使用本系统进行成绩的统计和生成报表。
2.系统功能
(1) 成绩录入:
教师可以查询自己本学期所授课程,并录入学生的考试成绩。录入过
程中,可以暂存已录入的成绩,当录入完成后提交。
(2) 成绩维护:
教师在提交前,可以修改已录入或暂存的学生成绩;但提交后,则只
能查询不能再进行任何修改。
教学管理员可以清除教师已提交的成绩。
(3) 成绩查询:
教师、教学管理员可以查询学生考试成绩。学生只允许查询自己的考
试成绩,教师只允许查询自己所授课程的成绩。
(4) 成绩统计:
教学管理员可以按课程、按学生、按班级等进行成绩统计。
教学管理员根据核算出的总评成绩统计处于优、良、中、及格、不及
格的学生人数以及占总人数的百分比。其中100-90为优,89-80为良,79-70为中,69-60为及格,60分以下为不及格。
按要求输出成绩在优、良、中、及格、不及格各区间的学生学号。
结果形式:
提交课程设计报告、源程序和可演示的软件
课程设计报告要求:详见课程设计模板
课程设计参考思路:
(1) 熟悉数据库和开发工具,掌握开发工具与本地数据库的连接方法。
(2) 理解系统的信息需求,进行合理的数据库设计,建立各数据库表。
(3) 理解系统的功能需求,设计应用软件。结合Delphi 或VC++进行系统界面
(窗体、菜单以及相应控制按钮)的设计、连接与操纵数据库方案的设计,编写程序。
(4) 系统运行、调试并完善。
(5) 撰写设计报告。
第五篇:《机械设计课程设计辅助系统》
《机械设计课程设计辅助系统》使用说明
《机械设计课程设计辅助系统》是一组在autocad环境下运行的应用程序,主要功能包括:
1.典型零部件的设计计算及校核计算;
2.典型零部件及典型结构的设计与绘图;
3.典型零部件的标准数据查询。
使用这组程序需要按一下步骤操作:
1.将文件复制到一个专门的文件夹;
2.启动autocad;
3.通过下拉菜单——工具——选项——打开选项对话框如下图
4.点击“支持文件搜索路径“
5.点击“添加”按钮
6.将辅助设计软件所在的文件夹输入新添加的搜索路径
7.点击“应用”,“确定”关闭对话框
8.在命令行输入“menu”命令,打开选择菜单文件对话框如下图,“文件类型”选择菜单源代码文件(*.mns),根据所使用的autocad版本选择相应的菜单文件并打开。 使用auto2006版本的用户应选择acad2006.cui。
9.通过下拉菜单“机械零件设计”可调用这组应用程序。