您的位置:首页 > 其它

公司管理系统下

2015-06-23 15:52 357 查看
int coverlink()//遍历,显示

{

system("clear");

printf("\t********************欢迎您使用Happy公司管理系统*********************\n");

printf("\t\t*******************当前信息为***********************\n");

printf("\t\t|| ||\n");

STLINKNODE *p=head.next;

while(p!=NULL)

{

printf("\t\t 姓名 性别 年龄 部门 当月薪水 密码\n" );

printf("\t\t|| ||\n");

printf("\t\t %-10s %-8s %-6d %-10s %-7d %-7d\n",p->stmaninfo.name,

p->stmaninfo.sex,

p->stmaninfo.age,

p->stmaninfo.department,

p->stmaninfo.salary,

p->stmaninfo.Pass);

printf("\t\t|| ||\n");

printf("\t\t****************************************************\n");

p=p->next;

}

printf("\t请按任意键继续......\n");

printf("\t");

getchar();

while(getchar()!='\n');

sleep(1);

return 0;

}

int change()//修改员工信息

{

char name1[max],sex1[max],department1[max];

int select,age1,salary1,Pass1;

STMANINFO stmaninfo;

system("clear");

printf("\t*********************欢迎您使用Happy公司管理系统*********************\n");

printf("\t\t*************您现在位于修改员工界面******************\n");

printf("\t\t|| ||\n");

char Name[max];

STLINKNODE *p=head.next;

printf("\t\t 请您输入要修改的姓名:");

scanf("%s",Name);

printf("\t\t|| ||\n");

printf("\t\t 您要修改的信息为:\n");

printf("\t\t|| ||\n");

while(p!=NULL)

{

if(strcmp(p->stmaninfo.name,Name)==0)

{

printf("\t\t 姓名 性别 年龄 部门 当月薪水 密码\n" );

printf("\t\t|| ||\n");

printf("\t\t %-10s %-8s %-6d %-10s %-7d %-7d\n",p->stmaninfo.name,

p->stmaninfo.sex,

p->stmaninfo.age,

p->stmaninfo.department,

p->stmaninfo.salary,

p->stmaninfo.Pass);

system("clear");

printf("\t*********************欢迎您使用Happy公司管理系统*********************\n");

printf("\t\t*************您现在位于修改员工界面******************\n");

printf("\t\t|| ||\n");

printf("\t\t 请您选择要修改的该员工的信息:\n");

printf("\t\t|| ||\n");

printf("\t\t\t1.姓名\n");

printf("\t\t|| ||\n");

printf("\t\t\t2.性别\n");

printf("\t\t|| ||\n");

printf("\t\t\t3.年龄\n");

printf("\t\t|| ||\n");

printf("\t\t\t4.部门\n");

printf("\t\t|| ||\n");

printf("\t\t\t5.当月薪水\n");

printf("\t\t|| ||\n");

printf("\t\t\t5.密码\n");

printf("\t\t|| ||\n");

printf("\t\t***************************************************\n");

printf("\n请选择要修改员工的信息:");

scanf("%d",&select);

switch(select)

{

case 1:

printf("\n请输入新的姓名:");

scanf("%s",name1);

strcpy(p->stmaninfo.name,name1);

break;

case 2:

printf("\n请输入新的性别:");

scanf("%s",p->stmaninfo.sex);

break;

case 3:

printf("\n请输入新的年龄:");

scanf("%d",&p->stmaninfo.age);

break;

case 4:

printf("\n请输入新的部门:");

scanf("%s",p->stmaninfo.department);

break;

case 5:

printf("\n请输入新的当月薪水:");

scanf("%d",&p->stmaninfo.salary);

break;

case 6:

printf("\n请输入新的密码:");

scanf("%d",&p->stmaninfo.Pass);

break;

}

printf("\t\t|| ||\n");

printf("\t\t****************************************************\n");

printf("\t请按任意键继续......\n");

printf("\t");

while(getchar()!='\n');

getchar();

}

p=p->next;

}

if(select==0)

while(getchar()=='\n');

coverlink();

return;

}

int del()//删除

{

STMANINFO stmaninfo;

system("clear");

printf("\t*********************您现在位于删除员工界面*********************\n");

printf("\t\t*************请输入要删除员工的姓名******************\n");

printf("\t\t|| ||\n");

int x;

char Name[64];

STLINKNODE *p=&head;

printf("\t\t 请您输入删除的姓名:");

scanf("%s",Name);

printf("\t\t|| ||\n");

printf("\t\t 下面是您要删除的信息:\n");

printf("\t\t 姓名 性别 年龄 部门 当月薪水 密码\n" );

printf("\t\t|| ||\n");

printf("\t\t %-10s %-8s %-7d %-9s %-7d %-7d\n",p->next->stmaninfo.name,

p->next->stmaninfo.sex,

p->next->stmaninfo.age,

p->next->stmaninfo.department,

p->next->stmaninfo.salary,

p->next->stmaninfo.Pass);

printf("\t\t|| ||\n");

printf("\t\t***************************************************\n");

int ichoice;

printf("\t\t您真的需要删除吗?(0:不删除,1:删除)\n\t");

scanf("%d",&ichoice);

switch(ichoice)

{

case 0:

break;

case 1:

while(p->next!=NULL)

{

if(strcmp(p->next->stmaninfo.name,Name)==0)

{

STLINKNODE *q=p->next;

p->next=p->next->next;

free(q);

q=NULL;

break;

}

p=p->next;

}

coverlink();

break;

default:

printf("您的输入有误,请您重新输入:");

printf("\t请按任意键继续......\n");

printf("\t");

while(getchar()!='\n');

getchar();

break;

}

/*STLINKNODE *p=&head;

p->next=p->next->next;

free(q);

q=NULL;

*/

return 0;

}

/*int dele()

{

STMANINFO stmaninfo;

char Name[64];

STLINKNODE *p=&head;

STLINKNODE *q=p->next;

while(p->next!=NULL)

{

if(strcmp(p->next->stmaninfo.name,Name)==0)

{

p->next=p->next->next;

free(q);

q=NULL;

}

}

return 0;

}

*/

int search()//查询

{

system("clear");

printf("\t********************欢迎您使用Happy公司管理系统*********************\n");

printf("\t\t***************您现在位于查询界面*******************\n");

printf("\t\t|| ||\n");

char Name[64];

STLINKNODE *p=head.next;

printf("\t\t 请您要查询的姓名:");

scanf("%s",Name);

printf("\t\t|| ||\n");

printf("\t\t 您要查询的信息为:\n");

printf("\t\t|| ||\n");

while(p!=NULL)

{

if(strcmp(p->stmaninfo.name,Name)==0)

{

printf("\t\t 姓名 性别 年龄 部门 当月薪水 密码\n" );

printf("\t\t|| ||\n");

printf("\t\t %-10s %-8s %-7d %-9s %-7d %-7d\n",p->stmaninfo.name,

p->stmaninfo.sex,

p->stmaninfo.age,

p->stmaninfo.department,

p->stmaninfo.salary ,

p->stmaninfo.Pass);

printf("\t\t|| ||\n");

printf("\t\t****************************************************\n");

printf("\t请按任意键继续......\n");

printf("\t");

getchar();

while(getchar()!='\n');

}

p=p->next;

}

return 0;

}

data.h代码

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#define max 64

typedef struct _STMANINFO

{

char name[max];

char sex[max];

int age;

char department[max];

int salary;

int Pass;

}STMANINFO;

typedef struct _STLINKNODE

{

struct _STMANINFO stmaninfo;

struct _STLINKNODE *next;

}STLINKNODE;

STLINKNODE head;

int addman();

int coverlink();

int del();

int search();

int change();

int dele();

==============================================================================================================================

logic层。。。由于只是简单的,过滤不合法数据的这部分没有写

logic.c 代码

#include"logic.h"

logic.h代码

#include "data.h"

===============================================================================================================================

读写文件的部分

oprfile.c

#include"oprfile.h"

int write()//将链表写到文件中

{

FILE *fp;

STLINKNODE *p=head.next;

fp=fopen("FILE.txt","w+");

while(p!=NULL)

{

fwrite(p,sizeof(p->stmaninfo),1,fp);

p=p->next;

}

fclose(fp);

fp=NULL;

return 0;

}

int read()//读取文件中信息

{

FILE *fp;

STLINKNODE *p=head.next;

fp=fopen("FILE.txt","r+");

while(p!=NULL)

{

fread(p,sizeof(p->stmaninfo),1,fp);

while(!feof(fp))//feof()这个函数是用来判断指针是否已经到达文件尾部的。

{

fread(p,sizeof(p->stmaninfo),1,fp);

printf("\t********************欢迎您使用Happy公司管理系统*********************\n");

printf("\t\t*********************当前信息为*********************\n");

printf("\t\t|| ||\n");

printf("\t\t 姓名 性别 年龄 部门 当月薪水 密码\n" );

printf("\t\t|| ||\n");

printf("\t\t %-10s %-8s %-6d %-10s %-7d %-7d\n",p->stmaninfo.name,

p->stmaninfo.sex,

p->stmaninfo.age,

p->stmaninfo.department,

p->stmaninfo.salary,

p->stmaninfo.Pass);

}

printf("\t\t|| ||\n");

printf("\t\t****************************************************\n");

}

printf("\t\t|| ||\n");

printf("\t\t***************************************************\n");

fclose(fp);

fp=NULL;

return 0;

}

oprfile.h代码

#include"data.h"

int write();

int read();

==============================================================================================================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: