《2023年职工信息管理系统.docx》由会员分享,可在线阅读,更多相关《2023年职工信息管理系统.docx(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年职工信息管理系统 第一篇:职工信息管理系统 职工信息管理系统设计报告VB编号:22 职工信息管理系统 设计报告 学院 土木工程 班级 测绘C111 学号 117551 姓名 马骁飞 成果 一、设计思路 1.要到达的目的 培育学生综合利用VB语言进行程序设计的实力,主要是培育学生综合运用基本控件的、文件读写、数组操作等实力。 利用读取数据按钮,打开选中的数据文件职工.txt,并从该文件中读取职工职工号、姓名、职称和工资,保存在数组中,并显示在文本框中。 去除文本框中的职工的信息。 在文本框中显示职工的信息。 依据职工号查询职工信息,并显示。 依据姓名查询职工信息,并显示。 依据职工号修
2、改职工信息,并显示。 依据姓名修改职工信息,并显示。 追加一条记录数据,并显示。2.关键问题的解决 1通过“读取数据按钮应能利用应能利用右侧图示样式窗体形式,打开选中的数据文件职工.txt,并从该文件中读取职工职工号、姓名、职称和工资,保存在数组中,并显示在文本框中。2通过“去除数据按钮应能去除文本框中的内容。3从“按职工号查询按钮左端文本框输入职工号,单击“按职工号查询,在窗体大的文本框中显示查询结果。从“按姓名查询按钮左端文本框输入姓名,单击“按姓名查询按钮,在窗体大的文本框中显示查询结果。4从“按职工号修改“按姓名修改按钮,在输入对话框中输入职工号,对查询到的职工的职工号(姓名)进行修改
3、,在窗体大的文本框中显示修改结果。 从输入一条记录后文本框中输入一条记录信息,单击“追加数据并显示结果按钮,添加到职工.txt中,并将追加数据后职工.txt的信息显示窗体的大文本框中。 二、部分程序关键源代码及注释 rivate Sub Command1_Click()Form2.Show End Sub Private Sub Command2_Click() 职工信息管理系统设计报告VB编号:22 List1.Clear End Sub Private Sub Command3_Click()e = True Unload Me End Sub Private Sub Command4_C
4、lick()List1.Clear If Text3.Text = “117001 Then List1.AddItem “张三 117001 ElseIf Text3.Text = “117002 Then List1.AddItem “李四 117002 ElseIf Text3.Text = “117003 Then List1.AddItem “王五 117003 ElseIf Text3.Text = “117004 Then List1.AddItem “王六 117004 ElseIf Text3.Text = “117005 Then List1.AddItem “赵七 117
5、005 ElseIf Text3.Text = “117006 Then List1.AddItem “李八 117006 ElseIf Text3.Text = “117007 Then List1.AddItem “刘九 117007 ElseIf Text3.Text = “117008 Then List1.AddItem “马十 117008 Else: MsgBox “请输入正确的职工号 End If 职工信息管理系统设计报告VB编号:22 End Sub Private Sub Command5_Click()Dim a As String Dim b As String b =
6、 InputBox(“请输入要修改的职工的职工号)a = InputBox(“请输入新的职工姓名) If b = “117001 Then List1.AddItem a & “ & b ElseIf b = “117002 Then List1.AddItem a & “ & b ElseIf b = “117003 Then List1.AddItem a & “ & b ElseIf b = “117004 Then List1.AddItem a & “ & b ElseIf b = “117005 Then List1.AddItem a & “ & b ElseIf b = “11
7、7006 Then List1.AddItem a & “ & b ElseIf b = “117007 Then List1.AddItem a & “ & b ElseIf b = “117008 Then List1.AddItem a & “ & b Else: MsgBox “请输入正确的职工号 End If List1.AddItem a & “ & b End Sub 职工信息管理系统设计报告VB编号:22 Private Sub Command6_Click()List1.Clear If Text2.Text = “张三 Then List1.AddItem “张三 1170
8、01 ElseIf Text2.Text = “李四 Then List1.AddItem “李四 117002 ElseIf Text2.Text = “王五 Then List1.AddItem “王五 117003 ElseIf Text2.Text = “王六 Then List1.AddItem “王六 117004 ElseIf Text2.Text = “赵七 Then List1.AddItem “赵七 117005 ElseIf Text2.Text = “李八 Then List1.AddItem “李八 117006 ElseIf Text2.Text = “刘九 The
9、n List1.AddItem “刘九 117007 ElseIf Text2.Text = “马十 Then List1.AddItem “马十 117008 Else: MsgBox “请输入正确的职工姓名 End If End Sub Private Sub Command7_Click()Dim a As String Dim b As String a = InputBox(“请输入要修改的职工姓名)b = Str(InputBox(“请输入新职工号) If a = “张三 Then List1.AddItem a & “ & b 职工信息管理系统设计报告VB编号:22 ElseIf
10、 a = “李四 Then List1.AddItem a & “ & b ElseIf a = “王五 Then List1.AddItem a & “ & b ElseIf a = “王六 Then List1.AddItem a & “ & b ElseIf a = “赵七 Then List1.AddItem a & “ & b ElseIf a = “李八 Then List1.AddItem a & “ & b ElseIf a = “刘九 Then List1.AddItem a & “ & b ElseIf a = “马十 Then List1.AddItem a & “ &
11、b Else: MsgBox “请输入正确的职工姓名 End If End Sub Private Sub Command8_Click()Dim a As String Dim b As String a = InputBox(“请输入新员工姓名)b = InputBox(“请输入新员工的职工号) List1.AddItem a & “ & b End Sub Private Sub Combo2_Change()Select Case Comb2.Text 职工信息管理系统设计报告VB编号:22 Case “*.txt File1.Pattern = “*.txt Case “*.ini
12、File1.Pattern = “*.ini Case “*.doc File1.Pattern = “*.doc Case “*.* File1.Pattern = “*.* End Select End Sub Private Sub Command1_Click()Dim fileno As Integer, strl As String fileno = FreeFile Open “职工信息.txt For Input As #fileno i = 0 Do While Not EOF(fileno)Input #fileno, str1 Form1.List1.AddItem st
13、r1 i = i + 1 Loop Close #fileno Form1.Show Me.Hide End Sub Private Sub Command2_Click()Form1.Show End Sub 职工信息管理系统设计报告VB编号:22 Private Sub Drive1_Change()Dir1.Path = Drive1.Drive End Sub Private Sub File1_Click()Text3.Text = File1.FileName End Sub Private Sub VScroll1_Change()Form1.Show End Sub 三、设计方
14、案的完善及目前存在的问题 1设计方案要完善的地方 追加的信息无法加载到“职工信息txt里 查询只是单一的一对一输入,不智能 文件类型的筛选问题暂未处理方法 2.目前存在的问题 只是简洁的查询,不适合大量数据的导入与导出,不便利查看 四、本次设计的收获及心得体会 第一次尝试程序的制作,觉得特殊有意思,做胜利以后很有成就感,我还觉察,程序制作出来的好坏干脆影响运用者的工作效率,好的软件可以运用户事半功倍,对程序的运作体系越了解,设计的软件越智能,越能更好的服务于运用者,好好学习VB计算机语言,是磨刀不误砍柴工的表达。 五、对该题目和VB设计的看法和建议 1.对该题目的看法和建议 Form2中的文件
15、类型,有些偏难,在少数文件夹的状况下可以不用通过文件类型的筛选 2对本次设计的看法和建议 对此次课程设计的时间支配应更具体,应有相应的素材图片,增加软件的美感 其次篇:01-职工信息管理系统 软件技术专业 计算机应用基础课程设计任务书 13级 题目:职工信息管理系统 学生姓名:学号:班级: 题目类型:软件工程R指导老师: 一 课程设计的题目简介 该设计要求学生以某企业职工信息管理业务为背景,设计、开发一套“职工信息管理系统软件。 通过该题目的设计过程,可以培育学生结构化程序设计的思想,加深对高级语言基本语言要素和限制结构的理解,针对c语言中的重点和难点内容进行训练,独立完成有确定工作量的程序设
16、计任务,同时强调好的程序设计风格。得到软件工程的综合训练,提高解决实际问题的实力。 二 课程设计的任务 1、查阅文献资料,一般在5篇以上; 2、以某企业职工信息管理业务为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型; 3、完成软件结构设计和算法设计; 4、完成系统的软件开发和测试工作; 5、撰写设计说明书; 6、做好辩论工作。 三 课程设计的主要内容、功能及技术指标 1、问题分析及解决方案框架确定:充分地分析和理解问题本身,弄清要求做什么。在确定解决方案框架过程中,综合考虑系统功能,考虑怎样使系统结构清晰、合理、简洁和易于调试。最终确定每个过程和函数的简洁功能,以及过程或函
17、数之间的调用关系,并画出函数之间的调用关系图。 2、具体设计和编码:定义相应的存储结构,确定各个函数的算法,并画出 流程图,在此基础上进行代码设计,每个明确的功能模块程序一般不超过60行,否则要进一步划分。 3、上机前程序静态检查:上机前程序静态检查可有效提高调试效率,削减上机调试程序时的无谓错误。静态检查主要有两种途径:用一组测试数据手工执行程序;通过阅读或给别人讲解自己的程序而深化全面地理解程序规律。把程序中的明显错误事先解除。 4、程序调试与测试:接受自底向上,分模块进行,即先调试低层函数。能够娴熟驾驭调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证明它或绕过它。调试正确后,认
18、真整理源程序及其注释,形成格式和风格良好的源程序清单和结果。 5、完成课程设计报告 需求和规格说明:设计题目和问题描述:题目要解决的问题是什么; 设计思路:主要算法思想,程序功能图,函数之间的调用关系图;设计表示:每个函数或过程的功能,列出每个过程或函数所调用的过程或函数,并画出各函数的流程图; 具体设计:主要算法的伪代码; 调试报告:调试过程中遇到的主要问题,是如何解决的;对设计和编码的回顾探讨和分析;改良设想;阅历和体会等; 程序实现注释; 附录:源程序清单和结果。假如题目规定了测试数据,则结果要求包含这些测试数据和运行输出,当然还可以含其他测试数据和运行输出。 6、职工信息包括职工号、姓
19、名、性别、年龄、学历、工资、住址、电话等职工号不重复。设计“职工信息管理系统,使之能供应以下功能: 系统以菜单方式工作; 职工信息录入功能(职工信息用文件保存); 职工信息阅读功能; 查询和排序功能:(至少一种查询方式)按工资查询、按学历查询等;职工信息的删除与修改。 四 课程设计提交的成果 1.设计说明书一份,内容包括: 1)中文摘要100字;关键词3-5个; 2)前言; 3)系统分析包含需要的系统流程图; 4)系统总体设计包含总体软件结构图、总体数据结构; 5)具体设计; 6)系统测试包含测试方案、测试用例、测试结果及软件牢靠性分析; 7)软件运用说明书核心界面说明; 8)设计总结、参考文
20、献、致谢等。 2.刻制光盘一张。 五 课程设计的主要参考文献 1C/C+程序设计教程其次版,王连相,中国铁道出版社,2023 2C语言程序设计,谭浩强,清华高校出版社,1999 3C程序设计题解与上机指导,谭浩强,清华高校出版社,1999 4C/C+程序设计上机指导与测试其次版,王连相,中国铁道出版社,2023 5C语言函数手册,机械工业出版社,1999 6C语言的实际应用,安徽科学技术出版社,2000 2023年1月13日 第三篇:职工信息管理系统 题目:职工信息系统 功能包括: l 建立职工信息数据(职工编号,姓名,性别,年龄,电话,职务,工资和家庭成员信息)和信息简表(编号,姓名,电话)
21、l 根据职工编号查询职工信息(查询时需要身份确认。单位领导和人事秘书可以看到职工全部信息;财务处人员可以看到职工编号,姓名,性别,年龄,电话,工资;一般职工仅能查到信息简表)l 增加新职工信息(由人事秘书完成,需要身份确认)l 删除职工信息(由人事秘书完成,需要身份确认)l 修改职工工资(由财务处人员完成,需要身份确认)l 要求全部信息能够存储在文件中,并具有良好的用户界面 #include #include #include #include using namespace std;const char * file = “staff.dat;const int LIM =8;int ct=
22、0;int Admin;int na; /ct用来储存文件中数据组数,Admin用来储存登陆后该用户的权限,/na用来储存登录所输的编号,便利主菜单内运用其显示当前用户 void hline(int);inline void eatline()while(cin.get()!=n)continue; class staff /*职工编号,姓名,性别,年龄,职务,电话,工资和家庭成员信息*/ public: ;void staff:printf() /输出的选择,推断其职务,选择调用哪个输出 if(Admin=1|Admin=2)printf1();else int num;char name,
23、sex;int age;char job,phone;double wages;char home;int admin;void printf();void printf1();void printf2();void printf3(); if(Admin=3)printf2();else printf3();void staff:printf1() /领导及人事秘书能见的输出 void staff:printf2() /财务人员能见的输出 void staff:printf3() /一般员工能见的输出 coutna) cin.clear();while(cin.get()!=n)contin
24、ue;coutstu.num;cout stu.age; cout stu.wages; cout rec;eatline();for(int i=0;i stu.wages) if(stu.wages100000) coutdelnum;fstream in;in.open(“staff.dat,ios_base:in|ios_base:binary);if(!in) coutx;if(!(x=y|x=Y)break; else couta;int na;char sna;fstream find;find.open(file,ios_base:in|ios_base:out|ios_bas
25、e:binary);eatline();staff stu;switch(a) case 1:coutna;break; case 2:coutsna;break;case 3:w=1; if(Admin=1|Admin=2)output();else coutx;if(!(x=y|x=Y)break; /* 建立职工信息数据(职工编号,姓名,性别,年龄,电话,职务,工资和家庭成员信息)和信息简表(编号,姓名,电话)根据职工编号查询职工信息(查询时需要身份确认。单位领导和人事秘书可以看到 职工全部信息;财务处人员可以看到职工编号,姓名,性别,年龄,电话,工资;一般职工仅能查到信 息简表) 增加
26、新职工信息(由人事秘书完成,需要身份确认) 删除职工信息(由人事秘书完成,需要身份确认) 修改职工工资(由财务处人员完成,需要身份确认) 要求全部信息能够存储在文件中,并具有良好的用户界面 */ int main() system(“color 6F);ifstream fin;fin.open(file,ios_base:in|ios_base:binary);if(!fin.is_open() staff st= 10001,“张三,“男,35,“总经理,“*,20000,“父母,弟弟,姐姐,1,10002,“李四,“男,32,“副总经理,“*,12000,“父母,兄长,1,10003,“
27、 王 婷 ,“ 女 ,25,“ 人 事 秘 书,“*,10000,“-略-,2,10004,“陈六,“女,25,“财务人员,“*,8000,“-略-,3,10005,“Obama,“ 男 ,23,“ 普 通 职 工,“*5,7000,“-略-,0;ofstream fout(file,ios_base:out|ios_base:binary); for(int i=0;in;switch(n) case 1:eatline();find();break;case 2:add();break;case 3:del();break;case 4:change();break;case 5:exit
28、(EXIT_FAILURE); n ; default: coutn1.学历2.职工号3.取消并返回);printf(“Which you needed?:n);scanf(“%d,&c); 探讨生if(c3|c3|c=N) printf(“没有找到该职工!n ); return; else N=N-1; for(i=0;i=N)printf(“n未找到该职工!n); 第五篇:C+大作业_职工信息管理系统源代码 #include #include #include using namespace std; const N=5000;/ 定义系统可录入的职工最大数值 string Ename;l
29、ong Enum;char Esex;int Eage; char Emarriage;int Edepart;int Eposition;int Edegree;int Eworktime;float Epay; class Employee public: string Employeename; long Employeenum; char Employeesex; int Employeeage; char Employeemarriage; int Employeedepart; int Employeeposition; int Employeedegree; int Employ
30、eeworktime; float Employeepay; static long EmployeeMaxNum; static float EmployeeBasePay; void NewInfo(); void ShowInfo(); void showall(); void showdepart(int depart); void showdegree(int degree); void showage(int min,int max); void shownum(long number); void RefreshInfo(); void DeleteInfo(); float P
31、ay(int Employeegrade); static int MaxNum(); class DBOperate public: string Employeename; long Employeenum; char Employeesex; int Employeeage; char Employeemarriage; int Employeedepart; int Employeeposition; int Employeedegree; int Employeeworktime; float Employeepay; static long EmployeeMaxNum; stat
32、ic float EmployeeBasePay; void WriteIn(int iflag); void ReadOut(); void RefreshMaxNum(int iflag);/iflg=1 or-1 or 0 ; long Employee:EmployeeMaxNum = 1000;float Employee:EmployeeBasePay = 1500; int Employee:MaxNum()/返回系统已经存储的人数 int MN = 0; ifstream myf; myf.open(“EmployeeMaxNum.txt); myfMN; coutEmploy
33、ee:Employeename; Employee:Employeenum = EmployeeMaxNum + Employee:MaxNum()+1; coutEmployee:Employeesex; coutEmployee:Employeeage; coutEmployee:Employeemarriage; coutEmployee:Employeedegree; while(Employee:Employeedegree!=1&Employee:Employeedegree!=2&Employee:Employeedegree!=3&Employee:Employeedegree
34、!=4&Employee:Employeedegree!=5&Employee:Employeedegree!=6) coutEmployee:Employeedegree; coutEmployee:Employeedepart; while(Employee:Employeedepart!=1&Employee:Employeedepart!=2&Employee:Employeedepart!=3&Employee:Employeedepart!=4&Employee:Employeedepart!=5&Employee:Employeedepart!=6&Employee:Employ
35、eedepart!=7) coutEmployee:Employeedepart; coutEmployee:Employeeposition; while(Employee:Employeeposition!=1&Employee:Employeeposition!=2&Employee:Employeeposition!=3&Employee:Employeeposition!=4&Employee:Employeeposition!=5) coutEmployee:Employeeposition; coutEmployee:Employeeworktime; Employee:Empl
36、oyeepay = Employee:Pay(Employee:Employeeposition); DBOperate dbo; dbo.ReadOut(); int MaxNum = Employee:MaxNum(); Enum = Employee:Employeenum; Ename = Employee:Employeename; Esex = Employee:Employeesex; Eage = Employee:Employeeage; Emarriage = Employee:Employeemarriage; Edegree = Employee:Employeedeg
37、ree; Edepart = Employee:Employeedepart; Eposition = Employee:Employeeposition; Eworktime = Employee:Employeeworktime; Epay = Employee:Employeepay; dbo.WriteIn(1); coutchoice1; switch(choice1) case 1: showall();break; case 2: coutchoice2; e.showdepart(choice2);break; case 3: coutchoice2; e.showdegree
38、(choice2);break; case 4: coutmin; coutmax; e.showage(min,max);break; case 5: coutsearchnum; e.shownum(searchnum);break; default: cout=min&EagecNum; int MN; MN = Employee:MaxNum(); for(int i=0;iEmployee:Employeename; Ename = Employee:Employeename; coutEmployee:Employeesex; Esex = Employee:Employeesex
39、; coutEmployee:Employeeage; Eage = Employee:Employeeage; coutEmployee:Employeemarriage; Emarriage = Employee:Employeemarriage; coutEmployee:Employeedegree; while(Employee:Employeedegree!=1&Employee:Employeedegree!=2&Employee:Employeedegree!=3&Employee:Employeedegree!=4&Employee:Employeedegree!=5&Emp
40、loyee:Employeedegree!=6) coutEmployee:Employeedegree; Edegree = Employee:Employeedegree; coutEmployee:Employeedepart; while(Employee:Employeedepart!=1&Employee:Employeedepart!=2&Employee:Employeedepart!=3&Employee:Employeedepart!=4&Employee:Employeedepart!=5&Employee:Employeedepart!=6&Employee:Emplo
41、yeedepart!=7) coutEmployee:Employeedepart; Edepart = Employee:Employeedepart; coutEmployee:Employeeposition; while(Employee:Employeeposition!=1&Employee:Employeeposition!=2&Employee:Employeeposition!=3&Employee:Employeeposition!=4&Employee:Employeeposition!=5) coutEmployee:Employeeposition; Eposition = Employee:Employeeposition; coutEmployee:Employeeworktime; Eworktime = Employee:Employeeworktime; Epay = Employee:Pay(Employee:Employeeposition); break; dbo.WriteIn(0); void Empl
限制150内