综合实验3 职工信息管理系统--具体要求

时间:2019-05-15 00:45:33下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《综合实验3 职工信息管理系统--具体要求》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《综合实验3 职工信息管理系统--具体要求》。

第一篇:综合实验3 职工信息管理系统--具体要求

综合实验3 职工信息管理系统

内容要求:

职工信息管理系统主要用来管理学校的教职工的基本信息。学校的职工主要分为教师、教辅人员和工人三种,其中教师分为全职教师和兼职教师。根据实际情况,提出以下设计要求:

(1)把职工信息数据保存在文件中,包括职工编号、姓名、性别、工资、出生时间、部门、参加工作时间和年龄,其中参加工作时间和年龄是通过函数求解出来的;

(2)职工类为抽象类,根据职工类,使用继承的方法构造出至少3个类,即教师类、教辅人员类和工人类;

(3)编写同名的display()成员函数,用来输出当前系统中保存的所有职工信息;

(4)按不同类别输出系统总各种类别职工的信息,比如按照系输出教师信息,按照

所属类别(教师或者工人等)输出职工信息;

(5)要求对“<<”和“>>”进行运算符重载,使得这两个运算法可以直接输出某个

职工的全部个人信息,要考虑职工编号的长短和格式,考虑姓名有2个字或3

个字的情况来设定输出姓名的对齐格式,以及其他为列出的情况;

(6)编写函数能计算出全体职工的平均年龄;

(7)编写函数能够在系统中检索指定信息,比如按照工号检索、按照年龄检索等;

(8)各个功能借助简单菜单实现,即通过输入数字选择某个具体功能,例如:

9—增加一位职工信息 —删除一个职工信息 —显示全部职工信息(教师、教辅人员和工人)—显示全部教师职工信息 —显示全部教辅人员职工信息 —按系输出教师信息 —按姓名检索职工信息 —按工号检索职工信息 —退出系统

第二篇:职工信息管理系统

职工信息管理系统设计报告(VB)编号:22

职工信息管理系统 设计报告

学院

土木工程

班级

测绘C111

学号

117551

姓名

马骁飞

成绩

一、设计思路

1.要达到的目的

培养学生综合利用VB语言进行程序设计的能力,主要是培养学生综合使用基本控件的、文件读写、数组操作等能力。

利用读取数据按钮,打开选中的数据文件职工.txt,并从该文件中读取职工职工号、姓名、职称和工资,保存在数组中,并显示在文本框中。

清除文本框中的职工的信息。

在文本框中显示职工的信息。

按照职工号查询职工信息,并显示。

按照姓名查询职工信息,并显示。

按照职工号修改职工信息,并显示。

按照姓名修改职工信息,并显示。

追加一条记录数据,并显示。2.关键问题的解决

(1)通过“读取数据”按钮应能利用应能利用右侧图示样式窗体形式,打开选中的数据文件职工.txt,并从该文件中读取职工职工号、姓名、职称和工资,保存在数组中,并显示在文本框中。(2)通过“清除数据”按钮应能清除文本框中的内容。(3)从“按职工号查询”按钮左端文本框输入职工号,单击“按职工号查询”,在窗体大的文本框中显示查询结果。从“按姓名查询”按钮左端文本框输入姓名,单击“按姓名查询”按钮,在窗体大的文本框中显示查询结果。(4)从“按职工号修改”(“按姓名修改”)按钮,在输入对话框中输入职工号,对查询到的职工的职工号(姓名)进行修改,在窗体大的文本框中显示修改结果。

从输入一条记录后文本框中输入一条记录信息,单击“追加数据并显示结果”按钮,添加到职工.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_Click()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 “赵七 117005” 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 = 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 = “117006” 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 “张三 117001” 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 = “刘九” Then 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 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 & “

” & 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” 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 str1

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

三、设计方案的完善及目前存在的问题

1.设计方案要完善的地方

追加的信息无法加载到“职工信息txt”里 查询只是单一的一对一输入,不智能 文件类型的筛选问题暂未处理办法 2.目前存在的问题

只是简单的查询,不适合大量数据的导入与导出,不方便查看

四、本次设计的收获及心得体会

第一次尝试程序的制作,觉得非常有意思,做成功以后很有成就感,我还发现,程序制作出来的好坏直接影响使用者的工作效率,好的软件可以使用户事半功倍,对程序的运作体系越了解,设计的软件越智能,越能更好的服务于使用者,好好学习VB计算机语言,是磨刀不误砍柴工的体现。

五、对该题目和VB设计的意见和建议

1.对该题目的意见和建议

Form2中的文件类型,有些偏难,在少数文件夹的情况下可以不用通过文件类型的筛选 2.对本次设计的意见和建议

对此次课程设计的时间安排应更具体,应有相应的素材图片,增添软件的美感

第三篇:01-职工信息管理系统

软件技术专业

计算机应用基础课程设计任务书

(13级)

题目:职工信息管理系统

学生姓名:学号:班级:

题目类型:软件工程(R)指导教师:

一. 课程设计的题目简介

该设计要求学生以某企业职工信息管理业务为背景,设计、开发一套“职工信息管理系统”软件。

通过该题目的设计过程,可以培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,针对c语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。得到软件工程的综合训练,提高解决实际问题的能力。

二. 课程设计的任务

1、查阅文献资料,一般在5篇以上;

2、以某企业职工信息管理业务为背景,通过调研、分析现有的管理模式和已有的管理软件,建立系统模型;

3、完成软件结构设计和算法设计;

4、完成系统的软件开发和测试工作;

5、撰写设计说明书;

6、做好答辩工作。

三. 课程设计的主要内容、功能及技术指标

1、问题分析及解决方案框架确定:充分地分析和理解问题本身,弄清要求做什么。在确定解决方案框架过程中,综合考虑系统功能,考虑怎样使系统结构清晰、合理、简单和易于调试。最后确定每个过程和函数的简单功能,以及过程(或函数)之间的调用关系,并画出函数之间的调用关系图。

2、详细设计和编码:定义相应的存储结构,确定各个函数的算法,并画出

流程图,在此基础上进行代码设计,每个明确的功能模块程序一般不超过60行,否则要进一步划分。

3、上机前程序静态检查:上机前程序静态检查可有效提高调试效率,减少上机调试程序时的无谓错误。静态检查主要有两种途径:用一组测试数据手工执行程序;通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑。把程序中的明显错误事先排除。

4、程序调试与测试:采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果。

5、完成课程设计报告

① 需求和规格说明:设计题目和问题描述:题目要解决的问题是什么; ② 设计思路:主要算法思想,程序功能图,函数之间的调用关系图;设计表示:每个函数或过程的功能,列出每个过程或函数所调用的过程或函数,并画出各函数的流程图;

详细设计:主要算法的伪代码;

③ 调试报告:调试过程中遇到的主要问题,是如何解决的;对设计和编码的回顾讨论和分析;改进设想;经验和体会等;

④ 程序实现注释;

⑤ 附录:源程序清单和结果。如果题目规定了测试数据,则结果要求包含这些测试数据和运行输出,当然还可以含其他测试数据和运行输出。

6、职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。设计“职工信息管理系统”,使之能提供以下功能:

系统以菜单方式工作;

职工信息录入功能(职工信息用文件保存);

职工信息浏览功能;

查询和排序功能:(至少一种查询方式)按工资查询、按学历查询等;职工信息的删除与修改。

四. 课程设计提交的成果

1.设计说明书一份,内容包括:

1)中文摘要100字;关键词3-5个;

2)前言;

3)系统分析(包含需要的系统流程图);

4)系统总体设计(包含总体软件结构图、总体数据结构);

5)详细设计;

6)系统测试(包含测试方案、测试用例、测试结果及软件可靠性分析);

7)软件使用说明书(核心界面说明);

8)设计总结、参考文献、致谢等。

2.刻制光盘一张。

五. 课程设计的主要参考文献

1C/C++程序设计教程(第二版),王连相,中国铁道出版社,2011 2C语言程序设计,谭浩强,清华大学出版社,1999

3C程序设计题解与上机指导,谭浩强,清华大学出版社,1999

4C/C++程序设计上机指导与测试(第二版),王连相,中国铁道出版社,2011

5C语言函数手册,机械工业出版社,1999

6C语言的实际应用,安徽科学技术出版社,2000

2014年1月13日

第四篇:职工信息管理系统源代码

#include #include #include int N=2;struct worker/*定义一个职工信息的结构体*/ {

intnum;

/*定义一个职工信息的结构体*/ char name[20];

/*定义一个职工信息的结构体*/

char sex[10];

//用字符串存放职工的性别数据

char birth[20];//用字符串存放职工的出生年月数据

char deta[20];//用字符串存放职工的工作年月数据

char education[20];//用字符串存放职工的学历数据

double salary;

//用字符串存放职工的性别数据

char work[30];//用字符串存放职工的职务数据

char addr[20];//用字符串存放职工的地址数据

char tel[20];//用字符串存放职工的电话数据 }worker[100];//用结构体数组存放职工的所有信息 void menu();

void input();

void save();

void read();

void display();

void add();

void search();

voidsearch_education();

voidsearch_num();

void del();

void modify();

void main()

{ char s;

system(“color 3f”);

printf(“nn”);

printf(“ t┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ t┃**********************************************************┃n”);

printf(“ t┃***┏━━━━━━━━━━━━━━━━━━━━━━━━┓***┃n”);

printf(“ t┃***┃************************************************┃***┃n”);

printf(“ t┃***┃***

****┃***┃n”);

printf(“ t┃***┃***

欢迎使用职工信息管理系统

****┃***┃n”);

printf(“ t┃***┃***

****┃***┃n”);

printf(“ t┃***┃***

****┃***┃n”);

printf(“ t┃***┃***

制作人吴青伶

****┃***┃n”);

printf(“ t┃***┃***

****┃***┃n”);

printf(“ t┃***┃***

2013.12.28

****┃***┃n”);

printf(“ t┃***┃***

****┃***┃n”);

printf(“ t┃***┃************************************************┃***┃n”);

printf(“ t┃***┗━━━━━━━━━━━━━━━━━━━━━━━━┛***┃n”);

printf(“ t┃**********************************************************┃n”);printf(“ t┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);do { menu();printf(“Do you want to continue?(y/n)”);

s=getchar();}while(s=='Y'||s=='y');} void menu()/*菜单函数*/ { int b;printf(“t

n”);printf(“t

n”);printf(“t

n”);printf(“t

n”);printf(“t

n”);printf(“t

请选择

n”);printf(“t

------------------------------n”);printf(“t

||

||

n”);printf(“t

||

1.职工信息录入

||

n”);printf(“t

||

2.职工信息浏览

||

n”);printf(“t

||

3.职工信息添加

||

n”);printf(“t

||

4.职工信息查询

||

n”);printf(“t

||

5.职工信息删除

||

n”);printf(“t

||

6.职工信息修改

||

n”);printf(“t

||

0.退出

||

n”);printf(“tn”);printf(“n 输入你的选择项(0~6):n”);

scanf(“%d”,&b);

switch(b)

{

case 1 : //职工信息录入、保存

input();

save();

getchar();

break;

case 2 ://读入职工信息并显示

read();

display();

getchar();break;

case 3 : //添加职工信息

add();getchar();break;

case 4 : //查询职工信息

search();getchar();break;

case 5 : //读入职工信息并实现职工信息删除功能

read();

del();

getchar();

break;

case 6 : //读入职工信息并修改职工信息

read();modify();getchar();break;

case 0 : exit(0);//退出

default:break;} } void input()

//录入职工信息 {

inti,flag,j;printf(“输入职工个数(默认个数为2):”);scanf(“%d”,&N);fflush(stdin);//清除缓存 for(i=0;i

{ loop: printf(“职工号:”);scanf(“%d”,&worker[i].num);fflush(stdin);flag=1;if(worker[N].num<0)

printf(“请输入正整数:n”);else for(j=0;j

{

if(worker[i].num==worker[j].num)

{

flag=0;

printf(“ 工号重复,请重新输入!n”);

goto loop;

}

} printf(“姓名:”);scanf(“%s”,worker[i].name);fflush(stdin);printf(“性别:”);scanf(“ %s”,worker[i].sex);fflush(stdin);printf(“出生年月:”);scanf(“%d”,&worker[i].birth);fflush(stdin);printf(“工作年月:”);scanf(“%lf”,&worker[i].deta);fflush(stdin);printf(“请输入学历(中专=zz,大专=dz,本科=bk,研究生=yjs):n”);scanf(“%s”,worker[i].education);fflush(stdin);printf(“工资:”);scanf(“%lf”,worker[i].salary);fflush(stdin);printf(“职务:”);scanf(“%s”,worker[i].work);fflush(stdin);printf(“住址:”);scanf(“%s”,worker[i].addr);fflush(stdin);printf(“电话:”);scanf(“%s”,worker[i].tel);fflush(stdin);

} printf(“n创建完毕!n”);}

void save()

//保存函数 {

FILE *fp;int i;

if((fp=fopen(“worker.txt”,“wb”))==NULL)//以只写方式打开一个二进制文件

{

printf(“ncannot open filen”);

exit(0);} for(i=0;i

void read()

//读入函数 {

FILE *fp;int i=0;

if((fp=fopen(“worker.txt”,“rb”))==NULL)//以只读方式为输出打开磁盘文件中的一个二进制文件

{

printf(“ncannot open filen”);

exit(0);} do{ fread(&worker[i],sizeof(struct worker),1,fp);//从worker.txt文件向内存读入数据(二进制)

i++;}while(!feof(fp));fclose(fp);

N=i-1;}

void display()

//信息浏览函数 {

int i;for(i=0;i

{ printf(“职工号:%dn”,worker[i].num);printf(“姓名:%sn”,worker[i].name);printf(“性别:%sn”,worker[i].sex);printf(“出生年月:%dn”,worker[i].birth);printf(“工作年月:%dn”,worker[i].deta);printf(“学历:%sn”,worker[i].education);printf(“工资:%lfn”,worker[i].salary);printf(“职务:%dn”,worker[i].work);printf(“住址:%sn”,worker[i].addr);printf(“电话:%sn”,worker[i].tel);

} } void add()

//添加函数 { FILE *fp;int i;struct worker p;double t;printf(“n请输入新增加职工的信息:n”);

printf(“请输入职工号:n”);

scanf(“%d”,&p.num);

for(i=0;i

{

while(worker[i].num==p.num)

{

printf(“ 工号重复,请重新输入!n”);

scanf(“%d”,&p.num);

}

} printf(“请输入姓名:n”);scanf(“%s”,p.name);printf(“请输入性别:n”);scanf(“%s”,p.sex);printf(“请输入出生年月:n”);scanf(“%d”,&p.birth);printf(“请输入工作年月:n”);scanf(“%d”,&p.deta);printf(“请输入学历(中专=zz,大专=dz,本科=bk,=yjs:):n”);scanf(“%s”,p.education);printf(“请输入工资:n”);scanf(“%lf”,&t);p.salary=t;printf(“请输入职务:n”);scanf(“%s”,p.work);printf(“请输入住址:n”);scanf(“%s”,p.addr);printf(“请输入电话:n”);scanf(“%s”,p.tel);printf(“n添加完毕!n”);

if((fp=fopen(“worker.txt”,“ab”))==NULL)//以追加方式打开一个二进制文件尾部

{ printf(“ncannot open filen”);exit(0);

} fwrite(&p,sizeof(struct worker),1,fp);fclose(fp);} void search()

//查询函数 {

int c;do {

puts(“nsearch by=>n1.学历2.职工号3.取消并返回”);printf(“Which you needed?:n”);scanf(“%d”,&c);

研究生if(c>3||c<1)

{

puts(“nchoiceerror!please again!”);getchar();//此语句用于接受在执行上一句时最后输出的回车符

}

} while(c>3||c<1);

{ switch(c)

{ case 1:search_education();break;case 2:search_num();break;case 3:menu();break;

}

} } void search_education()

//按学历查询函数 { inti,flag=0;char s[10];printf(“n请输入你要查询的学历:n”);scanf(“%s”,s);for(i=0;i

{ if(strcmp(s,worker[i].education)==0)

{

printf(“职工号:%dn”,worker[i].num);

printf(“姓名:%sn”,worker[i].name);

printf(“性别:%sn”,worker[i].sex);

printf(“出生年月:%dn”,worker[i].birth);

printf(“工作年月:%dn”,worker[i].deta);

printf(“学历(中专=zz,大专=dz,yjs):%sn”,worker[i].education);printf(“工资:%lfn”,worker[i].salary);printf(“职务:%lfn”,worker[i].work);

printf(“住址:%sn”,worker[i].addr);

printf(“电话:%sn”,worker[i].tel);flag++;

}

} if(flag==0)

printf(“n对不起没有找到!n”);getchar();} void search_num()

//按工号查询函数 { inti,s,flag=0;printf(“n输入要查询的职工号!:n”);scanf(“%d”,&s);

本科=bk,研究生=for(i=0;i

{

if(s==worker[i].num)

{

printf(“职工号:%dn”,worker[i].num);

printf(“姓名:%sn”,worker[i].name);

printf(“性别:%sn”,worker[i].sex);

printf(“出生年月:%dn”,worker[i].birth);

printf(“工作年月:%dn”,worker[i].deta);

printf(“学历(中专=zz,大专=dz,本科=bk,研究生=yjs):%sn”,worker[i].education);

printf(“工资:%lfn”,worker[i].salary);printf(“职务:%lfn”,worker[i].work);

printf(“住址:%sn”,worker[i].addr);

printf(“电话:%sn”,worker[i].tel);

flag++;

}

}

if(flag==0)printf(“n对不起没有找到!please”);

getchar();}

void del()

//删除函数 { inti,j;FILE *fp;char name[20];char c;if((fp=fopen(“worker.txt”,“wb”))==NULL)//以只写方式打开一个二进制文件

{

printf(“ncannot open filen”);exit(0);

} printf(“请输入要删除的职工的姓名:”);scanf(“%s”,name);for(i=0;i

if(strcmp(name,worker[i].name)==0)//判断输入的姓名和原来的姓名是否相同

{

printf(“找到该职工,是否删除?(y/n)”);

fflush(stdin);

scanf(“%c”,&c);

if(c =='Y'||c=='y')

{

for(j=i;j

worker[j]=worker[j+1];

printf(“删除成功!n”);

//break;

}

} } if(i>=N){ printf(“没有找到该职工!n ”);

return;}

else {

N=N-1;

for(i=0;i

if(fwrite(&worker[i],sizeof(struct worker),1,fp)!=1)

{

printf(“ncannot save filen”);getchar();

}

fclose(fp);}

}

void modify()

//修改函数 { struct worker p;FILE *fp;inti,n;double t;printf(“n输入要修改的职工号:n”);scanf(“%d”,&n);

for(i=0;i

if(n==worker[i].num)

{

printf(“找到该职工的信息(任意键继续)!”);

printf(“n请输入职工的信息!n”);

printf(“请输入姓名:n”);scanf(“%s”,p.name);

printf(“请输入性别:n”);scanf(“%s”,p.sex);

printf(“请输入出身年月:n”);scanf(“%d”,&p.birth);printf(“请输入工作年月:n”);scanf(“%lf”,&p.deta);

printf(“请输入学历(中专=zz,大专=dz,yjs):n”);scanf(“%s”,p.education);printf(“请输入工资:n”);scanf(“%lf”,&t);

p.salary=t;printf(“请输入职务:n”);scanf(“%s”,p.work);

printf(“请输入住址:n”);scanf(“%s”,p.addr);

本科=bk,研究生=

}

printf(“请输入电话:n”);scanf(“%s”,p.tel);p.num=n;

if((fp=fopen(“worker.txt”,“r+”))==NULL)//以读写的方式将修改的信息写入磁盘文件

{

printf(“ncannot open filen”);

exit(0);

}

fseek(fp,i*sizeof(struct worker),0);//将位置指针移到i*sizeof(struct worker)个字节处

fwrite(&p,sizeof(struct worker),1,fp);

fclose(fp);

printf(“修改成功!n”);

break;} } if(i>=N)printf(“n未找到该职工!n”);

第五篇:【课程设计】职工信息管理系统

题目:职工信息系统

功能包括:

 建立职工信息数据(职工编号,姓名,性别,年龄,电话,职务,工资和家庭成员信息)和信息简表(编号,姓名,电话) 根据职工编号查询职工信息(查询时需要身份确认。单位领导和人事秘书可以看到职工所有信息;财务处人员可以看到职工编号,姓名,性别,年龄,电话,工资;一般职工仅能查到信息简表) 增加新职工信息(由人事秘书完成,需要身份确认) 删除职工信息(由人事秘书完成,需要身份确认) 修改职工工资(由财务处人员完成,需要身份确认) 要求所有信息能够存储在文件中,并具有良好的用户界面

#include #include #include #include using namespace std;const char * file = “staff.dat”;const int LIM =8;int ct=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[LIM],sex[3];int age;char job[10],phone[15];double wages;char home[20];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()

//普通员工能见的输出 { cout<} hline(3);cout<//输出信息的头部 {

switch(n){ case 1:{cout<

<

};break;case 2:{cout<

};break;case 3:{cout<

}

} <

};break;void menu()

//主菜单 { cout<<“t╔╤╤╤╤╤╤职工编号: ”<

//二级菜单 { cout<<“t╔╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤╤┐”<

//登陆的实现部分 { cout<<“t┏┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┳┓”<

int w=0;while(!(cin>>na)){ cin.clear();while(cin.get()!='n')continue;cout<<“输入有误,编号为一串数字,请重新输入:n”;

for(int i=1;i<=ct;i++)} fstream find;find.open(file,ios_base::in|ios_base::out|ios_base::binary);eatline();staff stu;

{

streampos place =(i-1)* sizeof stu;find.seekp(place);if(find.fail()){

cerr << “■查找出错!程序将退出!■n”;system(“pause”);

exit(EXIT_FAILURE);

} find.read((char *)&stu, sizeof stu);if(stu.num==na){ } w=1;Admin=stu.admin;}

if(w==0){cout<<“t┣╋**登录失败!未找到相应的信息!程序将退出**╋┫”<

}

int stu_num()

//计算数据组数 {

} staff stu;ifstream stunum;stunum.open(file,ios_base::in|ios_base::binary);if(stunum.is_open()){

} stunum.close();return ct;stunum.seekg(0);while(stunum.read((char *)&stu,sizeof stu))ct++;system(“pause”);system(“cls”);void setadmin(staff &stu,char jobs[10])

//增加职工时根据职务设置权限 { char job1[10]=“总经理”;char job2[10]=“副总经理”;char job3[10]=“人事秘书”;char job4[10]=“财务人员”;

}

void add()

// 输入数据的函数,增加职工 {

if(Admin==2){ staff stu;if((!strcmp(stu.job,job1))||(!strcmp(stu.job,job2)))stu.admin=1;else

if(!strcmp(stu.job,job3))stu.admin=2;else if(!strcmp(stu.job,job4))stu.admin=3;

ofstream fout(file, ios_base::out | ios_base::app | ios_base::binary);

if(!fout.is_open())

{

cerr << “不能打开 ” << file << “ 文件:n”;

exit(EXIT_FAILURE);

}

cout << “★增加职员信息★请输入职工姓名:(按Enter键退出输入!):n”;eatline();

cin.get(stu.name, LIM);

while(stu.name[0]!= '')

{

cout << “★增加职员信息★请输入职工编号:”;

cin>>stu.num;cout << “★增加职员信息★请输入职工性别:”;eatline();cin.get(stu.sex, 3);cout << “★增加职员信息★请输入职工年龄:”;cin>>stu.age;

cout << “★增加职员信息★请输入职工职务:”;eatline();cin.get(stu.job, 10);

cout << “★增加职员信息★请输入职工电话:”;eatline();

cin.get(stu.phone, 15);

cout << “★增加职员信息★请输入职工工资:”;cin>>stu.wages;

cout << “★增加职员信息★请输入职工家庭信息:(按Enter键退出输入!):n”;

eatline();

cin.get(stu.home, 20);setadmin(stu,stu.job);

fout.write((char *)&stu, sizeof stu);cout << “■增加职员信息■请输入职工姓名:(按Enter键退出输入!):n”;

eatline();cin.get(stu.name,LIM);

}

fout.close();

} else cout<<“******************无权限,请与人事部秘书联系*******************************”<

void output()

//输出全部职工信息的函数 { staff stu;

} ifstream find;find.open(file,ios_base::in|ios_base::binary);hline(1);while(find.read((char *)&stu,sizeof stu)){ cout<

<

//修改数据函数 {

if(Admin==3){

fstream change;

int w=0;staff stu;streampos place;

change.open(file,ios_base::in|ios_base::out|ios_base::binary);if(change.eof())change.clear();

//清除EOF cout<<“请输入你要修改的职员编号:”<>rec;eatline();for(int i=0;i

place =i* sizeof stu;change.seekg(place);if(change.fail()){

cerr << “■查找出错!程序将退出!■n”;system(“pause”);

exit(EXIT_FAILURE);

} change.read((char *)&stu, sizeof stu);if(stu.num==rec){ } w=1;

cout << “你选择的是:n”;stu.printf2();break;

}

if(w==1){ cout << “请输入你要修改职员的工资: ”;while(cin >> stu.wages){

if(stu.wages<0||stu.wages>100000)

{

cout<<“■输入的工资错误!请重新输入:■

cin.clear();

while(cin.get()!='n');

continue;

}

break;} change.seekp(place);

// 回到查找到的地点

change.write((char *)&stu, sizeof stu)<< flush;if(change.fail()){

cerr << ”■--查找失败!程序将退出--■n“;system(”pause“);

n”;

}

exit(EXIT_FAILURE);} change.close();cout<<“★---修改成功!---★”<

void del()

//删除指定编号的职工信息 {

if(Admin==2){

while(1){ eatline();int delnum;cout<<“请输入你要删除的职工的编号:n”;

cin>>delnum;fstream in;in.open(“staff.dat”,ios_base::in|ios_base::binary);if(!in){ cout<<“打开失败”;return;} fstream temp;temp.open(“temp.dat”,ios_base::out|ios_base::binary);staff stu;int q;in.read((char*)&stu,sizeof(stu));while(!in.eof())//将文件内容修改后临时寸到另一个文件中 {

} in.close();temp.close();//修改完成,将原文件清空,并将临时文件内容q=0;if(stu.num==delnum){ } if(q==0)temp.write((char*)&stu,sizeof(stu));in.read((char*)&stu,sizeof(stu));q=1;复制回原文件

} { out.write((char*)&stu,sizeof(stu));temp.read((char*)&stu,sizeof(stu));out.open(“staff.dat”,ios_base::out|ios_base::trunc|ios_base::binary);temp.read((char*)&stu,sizeof(stu));while(!temp.eof())//将文件内容修改后临时寸到另一个文件

temp.open(“temp.dat”,ios_base::in|ios_base::binary);if(!temp){ cout<<“打开失败”;return;} ofstream out;}//完成复制 out.close();temp.close();

cout<<“删除成功!t是否继续删除?y/nn”;char x;cin>>x;if(!(x=='y'||x=='Y'))break;} else cout<<“****************无权限,请与人事部秘书联系*****************************”<

void find()

//查找职工的实现部分 {

while(1){ menu2();//eatline();int a;int w=0;cin>>a;int na;char sna[LIM];fstream find;find.open(file,ios_base::in|ios_base::out|ios_base::binary);eatline();staff stu;switch(a){ case 1:cout<<“请输入职工编号:”<>na;break;

case 2:cout<<“请输入职工姓名:”<>sna;break;case 3:{w=1;

if(Admin==1||Admin==2)output();else cout<<“**************无权限,请与单位领导或人事部秘书联系********************”<

}break;default:{

} for(int i=1;i<=ct;i++){

streampos place =(i-1)* sizeof stu;find.seekp(place);if(find.fail()){

cout<<“■选择执行的操作错误!■n”;cin.clear();while(cin.get()!='n');continue;}

cerr << “■查找出错!程序将退出!■n”;system(“pause”);

exit(EXIT_FAILURE);} find.read((char *)&stu, sizeof stu);switch(a){ case 1:if(stu.num==na){

w=1;

stu.printf();};break;case 2:if(!strcmp(stu.name,sna))

{

w=1;

stu.printf();

};break;case 3:break;default:{

cout<<“■选择执行的操作错误!■

cin.clear();

while(cin.get()!='n');continue;

}

} }

n”;

} if(w==0)cout<<“■未找到此人!■”<>x;if(!(x=='y'||x=='Y'))break;} /* 建立职工信息数据(职工编号,姓名,性别,年龄,电话,职务,工资和家庭成员信息)和信息简表(编号,姓名,电话)根据职工编号查询职工信息(查询时需要身份确认。单位领导和人事秘书可以看到

职工所有信息;财务处人员可以看到职工编号,姓名,性别,年龄,电话,工资;一般职工仅能查到信 息简表)

增加新职工信息(由人事秘书完成,需要身份确认)

删除职工信息(由人事秘书完成,需要身份确认)

修改职工工资(由财务处人员完成,需要身份确认)

要求所有信息能够存储在文件中,并具有良好的用户界面 */

int main(){

system(“color 6F”);ifstream fin;fin.open(file,ios_base::in|ios_base::binary);if(!fin.is_open()){ staff st[5]={ {10001,“张三”,“男”,35,“总经理”,“***”,20000,“父母,弟弟,姐姐”,1},{10002,“李四”,“男”,32,“副总经理”,“***”,12000,“父母,兄长”,1},{10003,“

”,“

”,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;i<5;i++)fout.write((char *)&st[i],sizeof st[i]);fout.close();} fin.close();stu_num();loading();while(1){ menu();cout<<“请输入你要选择的操作: char n;cin>>n;switch(n){ case '1':eatline();find();break;case '2':add();break;case '3':del();break;case '4':change();break;case '5':exit(EXIT_FAILURE);

n ”;

default:{

cout<<“■选择执行的操作错误!■n”;

cin.clear();

while(cin.get()!='n');

continue;}

清除已经输入的内容,程序选择

}

system(“pause”);

system(“cls”);

cin.clear();}

return 0;}

//如果选择错误,cin.clear等语句

下载综合实验3 职工信息管理系统--具体要求word格式文档
下载综合实验3 职工信息管理系统--具体要求.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    《信息管理系统》实验指导书

    《信息管理系统》实验指导书 信息管理系统实验是为计算机相关专业本科《信息管理系统》课程配套设置的,是《信息管理系统》课程讲授中一个重要的、不可或缺的实践环节。其目......

    民航综合信息管理系统介绍

    民航综合信息管理系统介绍 为贯彻民航总局《中国民航信息化“十五”规划纲要》的精神,华东管理局对“管理信息系统”、“机场信息系统”的建设各抓了一个示范工程作为试点。......

    技校综合信息管理系统功能介绍

    技校综合信息管理系统 功能介绍北京立业公信科技有限公司1.1产品背景 发展职业教育,以提高劳动者素质,加快培养技能型、实用性人才, 有利于切实提高劳动者的就业能力,促进就业......

    C++大作业_职工信息管理系统源代码

    #include #include #include using namespace std; const N=5000; // 定义系统可录入的职工最大数值string Ename[N]; long Enum[N]; char Esex[N]; int Eage[N];......

    研究生综合信息管理系统成绩录入操作程序

    附件1: “研究生综合信息管理系统”成绩录入操作程序 一、任课教师使用唯一的用户名和密码登录“研究生综合信息管理系统”(http://210.27.80.44)(以下简称“系统”)后,在“我的课......

    职工信息管理系统课程设计报告(定版)5篇

    面向对象课程设计报告 课程设计题目:职工信息管理系统 姓名:班级: 学号: 指导老师: 2011年11月8日 目录 摘 要.................................................................

    旅行社信息管理系统

    旅行社管理信息系统 一、旅行社管理信息系统概述 1.旅行社管理的基本业务 旅行社基本的业务过程就是分别将交通部门、饭店、餐馆、旅游景点、商店、文化娱乐等类型企业生产......

    信息管理系统学习心得

    信息管理系统学习心得院系:计算机与信息管理工程班级:09级信息管理2班姓名:时莉娟学号:0906012005 信息管理系统学习心得这个学期新学了管理信息系统这门学科,觉得受益不浅。我......