C++课程设计职工信息管理系统文档格式.docx

上传人:b****6 文档编号:21573871 上传时间:2023-01-31 格式:DOCX 页数:33 大小:297.11KB
下载 相关 举报
C++课程设计职工信息管理系统文档格式.docx_第1页
第1页 / 共33页
C++课程设计职工信息管理系统文档格式.docx_第2页
第2页 / 共33页
C++课程设计职工信息管理系统文档格式.docx_第3页
第3页 / 共33页
C++课程设计职工信息管理系统文档格式.docx_第4页
第4页 / 共33页
C++课程设计职工信息管理系统文档格式.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

C++课程设计职工信息管理系统文档格式.docx

《C++课程设计职工信息管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《C++课程设计职工信息管理系统文档格式.docx(33页珍藏版)》请在冰豆网上搜索。

C++课程设计职工信息管理系统文档格式.docx

1、设计目的

.通过实验实现对学生信息系统的管理操作;

.进一步掌握和利用C++进行程设计的能力;

.进一步理解和运用结构化程序设计的思想和方法;

.初步掌握开发一个小型实用系统的基本方法;

.学会利用流程图或N-S图表示算法;

.掌握书写程设计开发文档的能力(书写课程设计报告);

2、总体设计

3、详细设计:

3.1、程序具体功能和分工情况:

程序具体功能:

、输入和输出(输入一个员工的信息将它插入数组中,输出录入员工的信息);

、排序(按工资从大到小排序);

、查询(按学历、职工号或姓名查询);

、删除(输入职工号将其删除)

、修改(输入职工号修改其信息)

、保存(将职工信息以文件形式保存)

程序分工情况:

孙磊:

输入,输出,查询

霍英达:

排序,删除,修改,保存

3.2、调试分析

上机调试之前我们对所编的程序作了纸面上的检查,先改正一些不该犯错误,如{}没有搭配完整,漏写,拼写错误等,这些都是我们通过认真的态度在运行之前可以解决、避免的.而且还可以减少机器时间.往往一连串的错误是由于漏写或写错一个字符引起的.

在上机调试过程中,对文件这一节的知识还不够熟悉,所以在解决输入输出流的过程中出了很多问题.

4、源程序和运行结果

4.1、源程序

#include<

iostream>

#include"

string"

fstream>

#include<

stdlib.h>

stdio.h>

#defineN100//N作为最大职工总数

intf=0;

//f作为开关

usingnamespacestd;

stringp;

//p作为接收菜单选项的字符串

voidmenu();

//显示菜单

classworker

{

public:

worker(){}

voidshow();

//职工信息显示

~worker(){}

friendclassWorkerList;

private:

stringnum,name,sex,edu,address,tel;

intage,salary;

};

classWorkerList

workerw[N];

intNUM;

//用来计算职工数目

intcount;

//用来暂时记录当前操作第几个职工

voidadd();

//职工信息录入

voidsort();

//职工信息排序

voidsearch();

//职工信息查找

voiddele();

//职工信息删除

voidmodify();

//职工信息修改

voidsave();

//职工信息以文件形式保存

voidshowworker();

//显示职工信息在屏幕上

WorkerList(){

NUM=0;

count=0;

}

voidmenu()//显示菜单

cout<

<

endl;

"

***********************************************"

****"

**职工信息管理系统主菜单**"

**1.职工信息添加**"

**2.职工信息修改**"

**3.职工信息删除**"

**4.职工信息排序**"

**5.职工信息查找**"

**6.职工信息显示**"

**7.职工信息保存**"

**0.退出**"

}

voiddomain()//主菜单函数实现

WorkerListwl;

while

(1)

{

system("

cls"

);

menu();

请选择数字编号0~7"

inti1;

cin>

>

i1;

while(!

(i1>

=0&

&

i1<

=7))

{

cout<

输入有误,请重新输入:

cin>

}

switch(i1)

case1:

wl.add();

break;

case2:

wl.modify();

case3:

wl.dele();

case4:

wl.sort();

case5:

wl.search();

case6:

wl.showworker();

case7:

wl.save();

case0:

cout<

系统退出!

exit(0);

default:

break;

是否返回主菜单?

Y/N"

p;

if(p=="

n"

||p=="

N"

{

cout<

exit(0);

voidWorkerList:

:

add()//职工信息添加函数实现

请输入职工信息:

工号:

;

stringnum;

num;

for(inti=0;

i<

NUM;

i++)

while(num==w[i].num)

此职工编号已存在,请重新输入:

w[NUM].num=num;

姓名:

cin>

w[NUM].name;

性别:

w[NUM].sex;

学历:

w[NUM].edu;

年龄:

w[NUM].age;

工资:

w[NUM].salary;

地址:

w[NUM].address;

电话:

w[NUM].tel;

++NUM;

count=NUM;

voidworker:

show()//职工信息显示函数实现

num<

name<

sex<

edu<

age<

salary<

address<

tel<

modify()//职工信息修改函数实现

if(NUM<

=0)

没有职工信息存入,系统将返回主菜单"

menu();

请输入需要修改信息职工的工号:

stringnum1;

num1;

intj=0,k;

intflag=1;

while(flag)

for(;

j<

count;

j++)

if(num1==w[j].num)

{

flag=0;

k=j;

break;

}

if(flag)

不存在此员工,请重新输入:

j=0;

cin>

你选择的职工的信息为:

工号:

w[k].num<

姓名:

w[k].name<

性别:

w[k].sex<

学历:

w[k].edu<

年龄:

w[k].age<

工资:

w[k].salary<

地址:

w[k].address<

电话:

w[k].tel<

**1.修改工号**"

**2.修改姓名**"

**3.修改性别**"

**4.修改学历**"

**5.修改年龄**"

**6.修改工资**"

**7.修改地址**"

**8.修改电话**"

**0.返回主菜单**"

请选择数字编号0~8"

inti3;

i3;

while(i3<

0||i3>

8)

switch(i3)

请输入新的职工工号:

w[k].num;

修改信息已保存,现返回主菜单:

menu();

请输入新的职工姓名:

w[k].name;

请输入新的职工性别:

w[k].sex;

请输入新的职工学历:

w[k].edu;

请输入新的职工年龄:

w[k].age;

case6:

请输入新的职工工资:

w[k].salary;

break;

请输入新的职工地址:

w[k].address;

case8:

请输入新的职工电话:

w[k].tel;

showworker()//职工信息显示函数实现

else

已保存的职工信息如下:

w[i].num<

w[i].name<

w[i].sex<

w[i].edu<

w[i].age<

w[i].salary<

w[i].address<

w[i].tel<

search()//职工信息查询函数实现

**请选择查找方式:

**"

**1.按工号查找**"

**2.按姓名查找**"

**3.按学历查找**"

请选择数字编号0~3"

inti4;

i4;

while(i4<

0||i4>

3)

if(i4==1)

{

stringnum2;

请输入要查询的职工的工号:

num2;

intj=0,k;

intflag=1;

while(flag)

for(;

{

if(num2==w[j].num)

{

flag=0;

k=j;

cout<

查询的职工信息如下:

break;

}

}

if(flag)

flag=0;

cout<

不存在此职工!

!

\n返回主菜单"

break;

}

elseif(i4==2)

stringname2;

请输入要查询的职工的姓名:

name2;

intj2=0,k2;

intflag2=1;

while(flag2)

j2<

j2++)

if(name2==w[j2].name)

{

flag2=0;

k2=j2;

w[k2].num<

w[k2].name<

w[k2].sex<

w[k2].edu<

w[k2].age<

w[k2].salary<

w[k2].address<

w[k2].tel<

}

if(flag2)

flag2=0;

elseif(i4==3)

stringedu2;

请输入要查询的职工的学历:

edu2;

intj4=0,k4;

intflag4=1;

while(flag4)

j4<

j4++)

if(edu2==w[j4].edu)

flag4=0;

k4=j4;

w[k4].num<

w[k4].name<

w[k4].sex<

w[k4].edu<

w[k4].age<

w[k4].salary<

w[k4].address<

w[k4].tel<

if(flag4)

flag4=0;

elseif(i4==0)

sort()//职工信息排序功能实现

{

**请选择排序方式:

**1.按工资排序(升序)**"

**2.按工资排序(降序)**"

请选择数字编号0~2"

inti5;

i5;

while(i5<

0||i5>

2)

if(i5==1)

for(inti=0;

count-1;

for(intj=0;

count-i-1;

if(w[j].salary>

w[j+1].salary)

workertemp;

temp=w[

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

当前位置:首页 > 解决方案 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1