【课程设计】职工信息管理系统

时间:2019-05-14 01:16:57下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《【课程设计】职工信息管理系统》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《【课程设计】职工信息管理系统》。

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

题目:职工信息系统

功能包括:

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

#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等语句

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

职工信息管理系统设计报告(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.对本次设计的意见和建议

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

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

面向对象课程设计报告

课程设计题目:职工信息管理系统

姓名:

班级:

学号:

指导老师:

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(){

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<<“ttt

职工信息管理系统”<

请输入你的选择:”;cin>>choice;}

int main(){ int choice=0;int indx1=0,indx2=0;bool flag=false;

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<

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())

{

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;}

·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

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

#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”);

第五篇: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日

下载【课程设计】职工信息管理系统word格式文档
下载【课程设计】职工信息管理系统.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


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

相关范文推荐

    嵌入式课程设计 学生信息管理系统

    嵌入式课程设计报告册 题目:学生信息管理系统 班级:移动三班 辅导老师:邱雅 一、软件需求分析 1、可行性分析 (1)经济可行性 ①:目前中国有越来越多的中小型企业在蓬勃发展,而现......

    JAVA课程设计员工信息管理系统

    JAVA员工管理系统 实验报告 姓名:张旭冉 学号:10105010117 班级:信10-1 北方工业大学理学院信息与计算科学系 2013年 12月 17日 员工管理系统 一、实验目的 通过该课程设计,使......

    VB课程设计--学生信息管理系统

    ******11111111111111 目 录 摘 要………………………………………………………………………5 前 言………………………………………………………......

    人员信息管理系统 java课程设计

    大学人员信息管理系统 1 / 29 目录 目录 ................................................................................................................................

    信息管理系统课程设计小结(推荐五篇)

    开发小结 通过此次课程设计,使我更加扎实的掌握了有关信息管理系统方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也......

    C++课程设计学生信息管理系统

    C++程序设计实践教学环节任务书 一、题目:学生信息管理系统 二、目的与要求 1. 目的: (1) 掌握面向对象程序设计的基本思路和方法; (2) 了解系统开发的需求分析、类层次设计、......

    C++课程设计 教职工信息管理系统源代码

    教职工信息管理系统源码 #include #include #include #include #define maxsize 100 fstream iofile; //文件指针 class Time //时间类 { public: int year; int......

    大学JAVA课程设计——学生信息管理系统

    沈阳理工大学课程设计 沈阳理工大学课程设计 摘要 Java语言是当前最为流行的程序设计语言之一,诸多优秀的的特性使其成为被业界广泛认可和采用的工具。本设计可以帮助同学掌......