企业信息管理系统Word文档下载推荐.docx

上传人:b****5 文档编号:20817429 上传时间:2023-01-25 格式:DOCX 页数:29 大小:1.13MB
下载 相关 举报
企业信息管理系统Word文档下载推荐.docx_第1页
第1页 / 共29页
企业信息管理系统Word文档下载推荐.docx_第2页
第2页 / 共29页
企业信息管理系统Word文档下载推荐.docx_第3页
第3页 / 共29页
企业信息管理系统Word文档下载推荐.docx_第4页
第4页 / 共29页
企业信息管理系统Word文档下载推荐.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

企业信息管理系统Word文档下载推荐.docx

《企业信息管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《企业信息管理系统Word文档下载推荐.docx(29页珍藏版)》请在冰豆网上搜索。

企业信息管理系统Word文档下载推荐.docx

8.列出所有员工

0.返回(即结束)

2.定义结构体

/*****定义员工结构体****/

typedefstruct{

charName[20];

//姓名

charGender[20];

//性别

intAge;

//年龄

intEmpId;

//ID号

}Employee;

/***定义部门结构体*****/

typedefstruct{

charm_strName[20];

//部门名称

intDeptId;

//部门ID号

intsize;

//部门员工数

//Employeelink;

}Department;

方便程序数据调用。

3.函数功能描述

1.voidDengLu()

voidDengLu()函数用于设置登录密保。

输入用户名与密码,有三次机会,三次都错就显示登录失败!

无法打开系统管理界面。

登录成功就可以调用intShowMenu()函数,进入系统管理界面。

2.intShowMenu()

intShowMenu()函数用于显示管理系统界面,并且返回键盘输入的0~8之间的数字

3.voidMenu()

voidMenu()函数调用intShowMenu()函数的返回值,通过switch..case下面语句实现功能选择。

4.voidaddDept()

voidaddDept()函数用于实现增加部门的操作。

选择功能【1】进入增加部门操作,输入部门ID、部门名称,则显示添加成功,若输入部门ID已存在,则显示ID存在。

如图所示:

5.voiddeleteDept()

voiddeleteDept()函数用于删除部门。

选择功能【2】进入删除部门操作,输入部门ID,若ID存在就显示删除成功;

否则,显示ID无效。

6.voidlistDept()

voidlistDept()函数用于实现列出部门信息功能。

选择功能【3】进入列出部门操作,就会显示当前部门信息。

如上图所示。

7.voidaddEmp()

voidaddEmp()函数用于实现增加员工功能,选择功能【4】进入增加员工操作。

输入部门ID,若存在则输入员工ID,若存在则继续输入员工ID,直至不存在则输入员工姓名、性别、年龄。

若部门ID不存在则显示部门ID无效。

8.voiddeleteEmp()

voiddeleteEmp()函数用于实现删除员工功能。

选择功能【5】进入删除员工操作,输入员工ID,若存在则显示删除成功;

否在显示ID无效。

9.voidmodifyEmp()

voidmodifyEmp()函数用于实现修改员工信息功能,选择功能【6】进入修改员工信息操作,输入员工ID,若存在,则再次输入员工姓名、性别、年龄,提示修改成功;

若不存在,则显示ID无效。

10.voidlistEmp()

voidlistEmp()函数用于实现列出部门员工信息功能,选择功能【7】进入列出部门员工操作,输入部门ID,若存在显示当前部门内的员工信息;

否则显示ID无效。

如图所示

11.voidlistAllEmp()

voidlistAllEmp()函数用于实现列出所有员工信息功能,选择功能【8】进入列出部门员工操作,显示当前所有的员工信息。

如上面第9个函数里的图所示。

12.文件读写等操作。

fread/fwrite()函数用于对文件进行读写操作,本次项目程序主要就是熟练并且准确地对文件进行读写操作。

fopen()函数用于打开文件。

mv命令用于文件移动(剪切复制)。

cp命令用于文件拷贝。

fseek()函数用于指定文件操作位置。

五、代码实现

首先写emis.h头文件:

#ifndef__EMIS_H__//防止重复包含

#define__EMIS_H__

intShowMenu();

voidDengLu();

//voidShowMenu();

//intfunc();

voidaddDept();

voiddeleteDept();

voidlistDept();

//voidaddEmp();

voidaddEmp1();

voiddeleteEmp();

voidmodifyEmp();

voidlistEmp();

voidlistAllEmp(void);

voidMenu();

#endif//emis.h

然后写manger.c主体函数:

#include<

iostream>

stdio.h>

stdlib.h>

string.h>

iomanip>

#include"

emis.h"

usingnamespacestd;

/******登录界面************/

voidDengLu(){

intnum=0;

charbuf[10];

cout<

<

endl;

"

EMIS系统登陆"

-------------------"

for(num=1;

num<

=3;

num++){

用户名:

flush;

fgets(buf,10,stdin);

if(strcmp(buf,"

wanghui\n"

)){

continue;

}

密码:

123456\n"

break;

if(num<

=3){

Menu();

else{

登录失败!

}

/*****管理系统界面*******/

intShowMenu(){

//voidShowMenu(){

cout<

endl;

"

运营管理子系统"

<

----------------"

[1]增加部门"

[2]删除部门"

[3]列出部门"

[4]增加员工"

[5]删除员工"

[6]修改员工信息"

[7]列出部门员工"

[8]列出所有员工"

[0]返回"

//}

//intfunc(){

请选择:

flush;

cin.clear();

charstrEnter[10];

fgets(strEnter,10,stdin);

//选择功能

if(!

strcmp(strEnter,"

1\n"

))

return1;

2\n"

return2;

3\n"

return3;

4\n"

return4;

5\n"

return5;

6\n"

return6;

7\n"

return7;

8\n"

return8;

0\n"

return0;

return-1;

/*******增加部门************/

voidaddDept(){

Departmentdept;

intoldid=0,size=0;

dept.size=0;

FILE*p_file=fopen("

a.bin"

"

a+b"

);

//打开a.bin文件

if(p_file){//打开成功

endl<

请输入部门ID:

cin>

>

dept.DeptId;

scanf("

%*c"

rewind(p_file);

//从文件头开始

while(size=fread(&

oldid,sizeof(int),1,p_file)){

if(dept.DeptId==oldid){

fseek(p_file,24,SEEK_CUR);

fseek(p_file,0,SEEK_END);

if(size){

这个部门ID已存在!

else{

endl<

请输入部门名称:

cin>

dept.m_strName;

if(strlen(dept.m_strName)==19&

&

dept.m_strName[18]!

='

\n'

){

%*[^\n]"

cin.clear();

//清除错误状态

cin.ignore(1024,'

//清除输入缓冲中字符

fwrite(&

dept.DeptId,sizeof(int),1,p_file);

//记录部门ID

fwrite(dept.m_strName,sizeof(char),20,p_file);

//记录部门名称

dept.size,sizeof(int),1,p_file);

//记录部门人数

cout<

增加部门成功!

fclose(p_file);

p_file=NULL;

/*******删除部门************/

voiddeleteDept(){

intflog=0;

system("

cpa.bind.bin"

d.bin"

rb"

FILE*p_file1=fopen("

"

wb"

if(p_file){

//rewind(p_file);

fseek(p_file,0,0);

//printf("

%d\n"

dept.DeptId);

//printf("

oldid=%d\n"

oldid);

//break;

flog=1;

fseek(p_file,24,1);

shanchuchenggong\n"

删除部门成功!

intdeptid;

charname[20]={};

intsum;

fseek(p_file,-4,1);

fread(&

deptid,4,1,p_file);

fread(name,1,20,p_file);

sum,4,1,p_file);

deptid,4,1,p_file1);

fwrite(name,1,20,p_file1);

sum,4,1,p_file1);

//fseek(p_file,24,SEEK_CUR);

//}

if(!

flog){

无效部门ID!

//fseek(p_file,0,SEEK_END);

fclose(p_file);

fclose(p_file1);

p_file1=NULL;

rmd.bin"

/*******列出部门信息************/

voidlistDept(){//要修改

intsize=0;

left<

setw(11)<

部门ID"

setw(22)<

部门名称"

员工人数"

-----------------------------------------"

dept.DeptId,sizeof(int),1,p_file)){

fseek(p_file,-4,1);

//读取部门ID

fread(dept.m_strName,sizeof(char),20,p_file);

//读取部门名称      

//读取部门人数

cout<

dept.DeptId<

dept.m_strName<

dept.size<

}

/*******增加员工************/

voidaddEmp1(){

Employeeemp;

intoldid=0,size=0,size1=0;

ab+"

FILE*p_four=fopen("

f.bin"

/*printf("

id:

printf("

size=%d\n"

size);

*/

FILE*p_dest=fopen("

b.bin"

if(p_dest){

cout<

请输入员工ID:

cin>

emp.EmpId;

//scanf("

rewind(p_dest);

while(size1=fread(&

oldid,sizeof(int),1,p_dest)){

if(emp.EmpId==oldid){

这个员工ID已存在!

//scanf("

continue;

fseek(p_dest,44,SEEK_CUR);

}

/*if(size1){

cout<

}*/

fseek(p_dest,0,2);

请输入员工姓名:

emp.Name;

请输入员工性别:

emp.Gender;

请输入员工年龄:

emp.Age;

fwrite(&

emp.EmpId,sizeof(int),1,p_dest);

//记录员工ID

fwrite(emp.Name,sizeof(char),20,p_dest);

//记录员工姓名

fwrite(emp.Gender,sizeof(char),20,p_dest);

//记录员工性别

emp.Age,sizeof(int),1,p_dest);

//记录年龄

//dept.size++;

//部门增加一个员工

增加员工成功!

FILE*p_scr=fopen("

c.bin"

//printf("

2.写到f文件的deptid:

//打开C文件

if(p_scr){

fseek(p_file,-4,SEEK_CUR);

dept.DeptId,sizeof(int),1,p_file);

fseek(p_dest,-48,SEEK_CUR);

fread(&

fread(emp.Name,sizeof(char),20,p_dest);

fread(emp.Gender,sizeof(char),20,p_dest);

dept.DeptId,sizeof(int),1,p_scr);

emp.EmpId,sizeof(int),1,p_scr);

fwrite(emp.Name,sizeof(char),20,p_scr);

fwrite(emp.Gender,sizeof(char),20,p_scr);

emp.Age,sizeof(int),1,p_scr);

fclose(p_scr);

p_scr=NULL;

3.写到f文件的deptid:

fclose(p_dest);

p_dest=NULL;

fseek(p_file,20,1);

dept.size,4,1,p_file);

dept.size++;

//部门人数加一要修改!

4.写到f文件的deptid:

fseek(p_file,-28,SEEK_CUR);

dept.DeptId,4,1,p_file);

fread(dept.m_strName,1,20,p_file);

intsize

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

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

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

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