c++人员信息管理系统.docx

上传人:b****8 文档编号:12580777 上传时间:2023-06-06 格式:DOCX 页数:26 大小:222.12KB
下载 相关 举报
c++人员信息管理系统.docx_第1页
第1页 / 共26页
c++人员信息管理系统.docx_第2页
第2页 / 共26页
c++人员信息管理系统.docx_第3页
第3页 / 共26页
c++人员信息管理系统.docx_第4页
第4页 / 共26页
c++人员信息管理系统.docx_第5页
第5页 / 共26页
c++人员信息管理系统.docx_第6页
第6页 / 共26页
c++人员信息管理系统.docx_第7页
第7页 / 共26页
c++人员信息管理系统.docx_第8页
第8页 / 共26页
c++人员信息管理系统.docx_第9页
第9页 / 共26页
c++人员信息管理系统.docx_第10页
第10页 / 共26页
c++人员信息管理系统.docx_第11页
第11页 / 共26页
c++人员信息管理系统.docx_第12页
第12页 / 共26页
c++人员信息管理系统.docx_第13页
第13页 / 共26页
c++人员信息管理系统.docx_第14页
第14页 / 共26页
c++人员信息管理系统.docx_第15页
第15页 / 共26页
c++人员信息管理系统.docx_第16页
第16页 / 共26页
c++人员信息管理系统.docx_第17页
第17页 / 共26页
c++人员信息管理系统.docx_第18页
第18页 / 共26页
c++人员信息管理系统.docx_第19页
第19页 / 共26页
c++人员信息管理系统.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c++人员信息管理系统.docx

《c++人员信息管理系统.docx》由会员分享,可在线阅读,更多相关《c++人员信息管理系统.docx(26页珍藏版)》请在冰点文库上搜索。

c++人员信息管理系统.docx

c++人员信息管理系统

第一章总体功能介绍1

1.1功能介绍1

1.添加员工信息1

2.显示员工信息1

3.读取员工信息1

4.查找员工信息1

5.修改员工信息1

6.删除员工信息1

7.清理文件功能1

8.统计人数功能2

9.退出系统2

1.2类的设计2

第二章各功能模块的具体实现3

2.1.添加员工信息函数3

2.2.显示员工信息函数5

2.3.读取员工信息函数5

2.4.查找员工信息函数7

2.5.修改员工信息函数9

2.6.删除员工信息函数11

2.7.清理文件功能函数12

2.8.统计人数功能函数13

第三章调试及运行结果14

3.1主菜单界面14

3.2录入信息界面15

3.3显示信息界面15

3.4读取信息界面16

3.5查找信息界面17

3.6修改信息界面17

3.7删除信息界面18

3.8清理文件界面18

3.9统计数据界面19

第四章总结19

参考文献19

第一章总体功能介绍

1.1功能介绍

1.添加员工信息

程序中提供了公司员工信息的录入,包括编号、姓名、性别、级别以及薪水的计算功能。

程序能够任意添加四类人员的记录,可提供选择界面供用户选择所要添加的人员类别。

2.显示员工信息

显示员工信息是显示当前录入系统的信息,而不是存入磁盘中的信息。

可以对四类人员信息的显示,每条信息占一行。

3.读取员工信息

可将保存在文件中的人员信息读入到当前系统中,在磁盘中建立了5个txt文件,分别为经理、技术人员、销售经理、销售员的信息与人数的统计。

程序中可分别读取每一项人员,也可以全部读取。

4.查找员工信息

程序中可以按照编号对各个人员按照编号进行查询功能。

5.修改员工信息

程序中提供了对各个人员的信息进行修改,选择每一项人员,提供按编号查询然后修改的功能,修改后自动保存在磁盘中。

6.删除员工信息

删除员工也是提供各个人员类的选择,然后进行按编号查找竟而删除的功能。

删除后对磁盘的信息做出相应的改变。

7.清理文件功能

对存储在磁盘上的5个文件删除的功能,可供用户5个选择,也可以全部删除5个文件。

8.统计人数功能

对整个人员信息进行统计功能,包括总人数、男人、女生、经理、技术人员、销售员、销售经理的统计。

9.退出系统

退出程序。

1.2类的设计

第二章各功能模块的具体实现

2.1.添加员工信息函数

voidadd()

{

cout<

cout<<"------------------请选择公司员工的信息------------------"<

cout<<"--1.经理--"<

cout<<"--2.技术人员--"<

cout<<"--3.销售经理--"<

cout<<"--4.推销员--"<

cout<<"----------------------------------------------------"<

cout<<"----请输入选择:

"<

charch;

cin>>ch;

while(ch!

='N'&&ch!

='n')

{

switch(ch)

{

case'1':

write1();

break;

case'2':

write2();

break;

case'3':

write3();

break;

case'4':

write4();

break;

default:

cout<<"-----------------------ERROR--------------------!

!

"<

break;

}

cout<<"是否继续使用录入功能:

(Y/N)?

";

cin>>ch;

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

{

cout<<"----请输入选择:

"<

cin>>ch;

}

}

}

voidwrite1()

{

jinglip;

temp3.jinglitongji=temp3.jinglitongji+1;

p.shuru();

t1[time1]=p;

ofstreammyfile("D:

\\经理.txt",ios:

:

binary|ios:

:

ate);

myfile.write((char*)&p,sizeofp);

myfile.close();

time1++;

}

2.2.显示员工信息函数

voidnow_show()//显示系统当前录入信息

{

inti;

for(i=0;i

if(t1[i].number!

=0)

t1[i].print();

for(i=0;i

if(t2[i].number!

=0)

t2[i].print();

for(i=0;i

if(t3[i].number!

=0)

t3[i].print();

for(i=0;i

if(t4[i].number!

=0)

t4[i].print();

if(t1[0].number==0&&t2[0].number==0&&t3[0].number==0&&t4[0].number==0)

cout<<"-------当前系统没有录入信息!

"<

}

2.3.读取员工信息函数

voidshow()

{

cout<<"||--------------------正在显示ing-----------------||"<

cout<<"||0.全部显示||"<

cout<<"||1.经理||"<

cout<<"||2.技术人员||"<

cout<<"||3.销售经理||"<

cout<<"||4.推销员||"<

cout<<"||------------------------------------------------||"<

cout<<"请选择你要显示的公司员工类:

"<

charc;

cin>>c;

while(c!

='N'&&c!

='n')

{

switch(c)

{

case'0':

show0();

break;

case'1':

show1();

break;

case'2':

show2();

break;

case'3':

show3();

break;

case'4':

show4();

break;

default:

cout<<"ERROR!

!

"<

break;

}

cout<<"是否继续使用显示功能(Y/N)?

"<

cin>>c;

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

{

cout<<"请选择你要显示的公司员工类:

"<

cin>>c;

}

}

}

//显示函数

voidshow1()

{

ifstreammyfile("D:

\\经理.txt",ios:

:

binary|ios:

:

in);

jinglip;

myfile.read((char*)&p,sizeofp);

while(!

myfile.eof())

{

p.print();

myfile.read((char*)&p,sizeofp);

}

myfile.close();

}

voidshow2()

{

ifstreammyfile("D:

\\技术人员.txt",ios:

:

binary|ios:

:

in);

jishup;

myfile.read((char*)&p,sizeofp);

while(!

myfile.eof())

{

p.print();

myfile.read((char*)&p,sizeofp);

}

myfile.close();

}

voidshow3()

{

ifstreammyfile("D:

\\销售经理.txt",ios:

:

binary|ios:

:

in);

sellp;

myfile.read((char*)&p,sizeofp);

while(!

myfile.eof())

{

p.print();

myfile.read((char*)&p,sizeofp);

}

myfile.close();

}

voidshow4()

{

ifstreammyfile("D:

\\推销员.txt",ios:

:

binary|ios:

:

in);

tuixiaoyuanp;

myfile.read((char*)&p,sizeofp);

while(!

myfile.eof())

{

p.print();

myfile.read((char*)&p,sizeofp);

}

myfile.close();

}

voidshow0()

{

show1();

show2();

show3();

show4();

}

2.4.查找员工信息函数

voidsearch()

{

cout<<"-------------------正在查找ing------------------------"<

cout<<"--1.经理--"<

cout<<"--2.技术人员--"<

cout<<"--3.销售经理--"<

cout<<"--4.推销员--"<

cout<<"----------------------------------------------------"<

cout<<"请选择你的级别类型:

"<

charc;

cin>>c;

while(c!

='N'&&c!

='n')

{

switch(c)

{

case'1':

search1();

break;

case'2':

search2();

break;

case'3':

search3();

break;

case'4':

search4();

break;

default:

cout<<"--------------------ERROR------------------!

!

"<

break;

}

cout<<"是否继续使用查找功能(Y/N)?

";

cin>>c;

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

{

cout<<"请选择你的级别类型:

"<

cin>>c;

}

}

}

//查找函数

voidsearch1()

{

intm=1;

cout<<"----请输入你要查找的编号:

"<

intnumber;

cin>>number;

ifstreammyfile("D:

\\经理.txt",ios:

:

binary|ios:

:

out|ios:

:

in);

jinglip;

myfile.read((char*)&p,sizeofp);

while(!

myfile.eof())

{

if(number==p.number)

{

p.print();

myfile.close();

m=0;

}

myfile.read((char*)&p,sizeofp);

}

if(m)

cout<<"查无此人!

!

!

"<

}

2.5.修改员工信息函数

voidxiugai()

{

cout<<"--------------------*你正在修改--------------------*"<

cout<<"--1.经理--"<

cout<<"--2.技术人员--"<

cout<<"--3.销售经理--"<

cout<<"--4.推销员--"<

cout<<"----------------------------------------------------"<

cout<<"----请输入你要修改的级别类型:

"<

charc;

cin>>c;

while(c!

='N'&&c!

='n')

{

switch(c)

{

case'1':

xiugai1();

break;

case'2':

xiugai2();

break;

case'3':

xiugai3();

break;

case'4':

xiugai4();

break;

default:

cout<<"ERROR!

!

"<

break;

}

cout<<"是否继续修改(Y/N)?

"<

cin>>c;

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

{

cout<<"----请输入你要修改的级别类型:

"<

cin>>c;

}

}

}

voidxiugai1(void)

{

intnum,i=0,k=0;

jingli*p1=newjingli[50];

cout<<"----请输入你要修改的编号:

";

cin>>num;

ifstreamh1("D:

\\经理.txt",ios:

:

binary|ios:

:

in);

h1.read((char*)&p1[i],sizeofp1[i]);

while(!

h1.eof())

{

i++;

h1.read((char*)&p1[i],sizeofp1[i]);

}

h1.close();

k=i;

for(i=0;i

{

if(num==p1[i].number)

{

p1[i].shuru();

cout<<"修改完毕!

"<

}

}

ofstreamh2("D:

\\经理.txt",ios:

:

binary|ios:

:

out);

for(i=0;i

{

h2.write((char*)&p1[i],sizeofp1[i]);

}

h2.close();

delete[]p1;

}

2.6.删除员工信息函数

voiddelet()

{

cout<<"--------------------正在删除--------------------"<

cout<<"--1.经理--"<

cout<<"--2.技术人员--"<

cout<<"--3.销售经理--"<

cout<<"--4.推销员--"<

cout<<"----------------------------------------------------"<

cout<<"----请输入你要删除选项的类型:

"<

charc;

cin>>c;

while(c!

='N'&&c!

='n')

{

switch(c)

{

case'1':

delete1();

break;

case'2':

delete2();

break;

case'3':

delete3();

break;

case'4':

delete4();

break;

default:

cout<<"ERROR!

!

"<

break;

}

cout<<"是否继续使用删除功能(Y/N)?

"<

cin>>c;

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

{

cout<<"----请输入你要删除选项的类型:

"<

cin>>c;

}

}

}

2.7.清理文件功能函数

voidall_clear()

{

remove("D:

\\经理.txt");

remove("D:

\\技术人员.txt");

remove("D:

\\销售经理.txt");

remove("D:

\\推销员.txt");

remove("D:

\\统计.txt");

cout<<"---------------文件已经全部清理删除----------------"<

}

voidclear()

{

charc;

cout<<"--------------------正在删除--------------------"<

cout<<"--1.经理--"<

cout<<"--2.技术人员--"<

cout<<"--3.销售经理--"<

cout<<"--4.推销员--"<

cout<<"--5.统计数据--"<

cout<<"--6.全部删除--"<

cout<<"----------------------------------------------------"<

cout<<"----请输入你要删除的选项:

"<

cin>>c;

while(c!

='N'&&c!

='n')

{

switch(c)

{

case'1':

remove("D:

\\经理.txt");

cout<<"--------删除成功!

!

!

--------"<

break;

case'2':

remove("D:

\\技术人员.txt");

cout<<"--------删除成功!

!

!

--------"<

break;

case'3':

remove("D:

\\销售经理.txt");

cout<<"--------删除成功!

!

!

--------"<

break;

case'4':

remove("D:

\\推销员.txt");

cout<<"--------删除成功!

!

!

--------"<

break;

case'5':

remove("D:

\\统计.txt");

cout<<"--------删除成功!

!

!

--------"<

break;

case'6':

all_clear();break;

default:

cout<<"ERROR!

!

"<

break;

}

cout<<"是否继续使用清理功能(Y/N)?

"<

cin>>c;

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

{

cout<<"----请输入你要删除的选项:

"<

cin>>c;

}

}

}

2.8.统计人数功能函数

voidtongji()

{

allp;

ifstreamfile1("D:

\\统计.txt",ios:

:

in|ios:

:

binary);

if(file1)

{

file1.read((char*)(&p),sizeof(p));

file1.close();

}

temp3.all_person=temp3.jinglitongji+temp3.jishutongji+temp3.xiaoshoutongji+temp3.tuixiaoyuantongji;

temp3.male=p.male+temp3.male;

temp3.female=temp3.female+p.female;

temp3.all_person=p.all_person+temp3.all_person;

temp3.jinglitongji=p.jinglitongji+temp3.jinglitongji;

temp3.jishutongji=p.jishutongji+temp3.jishutongji;

temp3.xiaoshoutongji=p.xiaoshoutongji+temp3.xiaoshoutongji;

temp3.tuixiaoyuantongji=p.tuixiaoyuantongji+temp3.tuixiaoyuantongji;

ofstreamfile("D:

\\统计.txt",ios:

:

out|ios:

:

binary);

file.write((char*)(&temp3),sizeof(temp3));

file.close();

}

第三章调试及运行结果

 

3.1主菜单界面

 

3.2录入信息界面

 

3.3显示信息界面

3.4读取信息界面

 

3.5查找信息界面

3.6修改信息界面

3.7删除信息界面

3.8清理文件界面

3.9统计数据界面

第四章总结

通过本次课程设计实验,使我对面向对象的认识更加深刻了,对于原来不懂的东西在实验中逐渐明白了,对以前学习的东西得到了很好的巩固,比如说类、继承、抽象类等以前学习的知识,在这次试验中将我们以前学习数据结构的知识和这学期学习的数据结构的知识得到了很好的融合。

通过此次实验,让我明白了自己还有许多地方不足,今后要多练习,多学习知识,巩固知识。

为将来做准备。

参考文献

[1]RichardJohnsonbaugh.MartinKalin.《面向对象程序设计—C++语言

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 其它课程

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2