📄 cxiangmu.cpp
字号:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include"string.h"
#define N 20
void pass();
void face();
void luru();
void xiugai();
void charu();
void shanchu();
int serch();
void chaxun();
void yuangongpaixu();
int serch( char b[20]);
void bumenzhigong();
void gongsi();
void salary();
void pass()
{
char username[20]= "luzude" ,pass[20]="luzude";
char getname[20],getpass[20];
do
{
printf(" \n\n\n\n 请你输入用户名(本人姓名的汉语拼音):");
scanf("%s",&getname);
if(strcmp(getname,username)==0)
{
printf(" 请 你 输 入 密 码 (同 用 户 名):");
for(int i=0;i<6;i++)
{
getpass[i]=getch();
if(getpass[i]=='\n') break;
printf("*");
}
getpass[i]='\0';
if(strcmp(getpass,pass)==0)
{
fflush(stdin);getch();
break;
}
else
{
printf("\n 密码错误,按任意键进入.\n");
fflush(stdin);getch();
}
}
else
{
printf(" \n 笨 蛋 ! 用 户 名 有 误.");
fflush(stdin);getch();
}
} while(1);
}
struct G
{
int num;//工号
char name[20];
char sex[4];
struct date
{
int year;
int month;
int day;
}birth;
int m; //工资
char p[20]; //部门
} g[N+7]={
{1009,"卢祖德","男",1987,9,22,8000,"行政部"},
{1008,"罗文", "男",1988,5,24,5000,"人事部"},
{1007,"张鹏", "男",1989,6,26,5000,"财务部"},
{1006,"王炜", "男",1987,1,26,5000,"秘书部"},
{1005,"秦诺", "男",1988,2,23,6000,"秘书部"},
{1004,"钱帆", "男",1988,5, 2,5000,"秘书部"},
{1003,"胡广", "男",1988,2,28,6000,"体育部"},
};
struct G t[8];
void main()
{
system("color 3e");
printf("\n\n");
printf("\n ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆\n");
printf("\n ☆ 欢迎进入:东方通力科技有限责任公司 ☆\n");
printf("\n ☆ 作 者:卢 祖 德 ☆\n");
printf("\n ☆ 创作时间:2008年4月20日 ☆\n");
printf("\n ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆ ☆");
printf("\n\n\n\n");
for(int i=0;i<39;i++)
{
printf("%c ",3);
}
printf("\r");
for(int k=0;k<79;k++)
{
for(int j=0;j<10000000;j++)
{
;
}
printf("<");
}
pass();
printf("\n\n\n\n ☆☆☆☆☆☆☆请按任意键进入主菜单!☆☆☆☆☆☆☆");
getchar();
face(); //调用face()函数
}
void face()
{
do
{
system("cls");
printf("\n\n\n %c %c %c %c 职工信息管理系统菜单 %c %c %c %c\n\n\n",2,2,2,2,2,2,2,2);
printf(" %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c",3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3);
printf(" \n\n 1. 重 新 录 入 新 员 工 ");
printf(" \n\n 2. 修 改 某 个 员 工");
printf(" \n\n 3. 插 入 新 的 员 工 ");
printf(" \n\n 4. 删 除 某 个 员 工");
printf(" \n\n 5. 查 询 某 个 员 工");
printf(" \n\n 6. 按 照 工 号 对 员 信 息 进 行 排 序");
printf(" \n\n 7. 查 看 某 部 门 全 体 成 员");
printf(" \n\n 8. 查 看 本 公 司 全 体 员 工 ");
printf(" \n\n 9. 查 看 本 公 司 应 支 付 员 工 工 资 总 额");
printf(" \n\n 0. 退 出 系 统\n");
printf("\n %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c ",
3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3);
int st;
printf("\n\n\n 请你选择您要进入的编号:");
fflush(stdin);
scanf("%d",&st);
if(st==0) break;
switch (st)
{
case 1 :system("cls"); luru();break;
case 2 :system("cls"); xiugai();break;
case 3 :system("cls"); charu();break;
case 4 :system("cls"); shanchu();break;
case 5 :system("cls"); chaxun(); break;
case 6 :system("cls"); yuangongpaixu(); break;
case 7 :system("cls"); bumenzhigong();break;
case 8 :system("cls"); gongsi();face(); break;
case 9 :system("cls"); salary(); face(); break;
case 0 : break;
default : printf(" \n 对不起,你输入的编号有误!请在0到9之间选择!\n");
getch(); break;
}
getchar();
} while(1);
}
void luru() // 录 入 新 员工
{
char n;
printf("您好!请您输入录入员工的人数:");
scanf("%d",&n);
for(int i=0;i<7;i++)
{
printf(" %d\t",g[i].num);
printf(" %s\t",g[i].name);
printf(" %s\t",g[i].sex);
printf(" %d %d %2d\t",g[i].birth.year,g[i].birth.month,g[i].birth.day);
printf(" %d",g[i].m);
printf(" %s\t",g[i].p);
printf("\n");
}
for(i=0;i<n;i++)
{
printf("NUM%d\n",i+1);
printf("请你输入工号:");
scanf("%d",&g[i].num);
printf("请你输入姓名:");
scanf("%s",&g[i].name);
printf("请你输入性别:");
scanf("%s",&g[i].sex);
printf("请你输入生日:");
scanf("%d %d %2d",&g[i].birth.year,&g[i].birth.month,&g[i].birth.day);
printf("请你输入工资:");
scanf("%d",&g[i].m);
printf("请你输入部门:");
scanf("%s",&g[i].p);
printf("\n");
}
}
void xiugai()
{
int c,a;
a=serch();
if(a==-1)
{
printf("对不起,没有找到你要查询的结果!\n");
}
else
{
printf("\n\n 你要修改信息是:\n\n");
printf(" 工号 姓名 性别 出生日期 工资 部门\n");
printf(" %d %s %s ",g[a].num,g[a].name,g[a].sex);
printf(" %d %d %d %d %s\n",g[a].birth.year,g[a].birth.month,g[a].birth.day,g[a].m,g[a].p);
printf("\n\n修改请按(1)yes,不修改请按(2)no");
printf("你要选择的是:");
scanf("%d",&c);
if(c==1)
{
printf("请输入新的信息:\n");
printf("工号 姓名 性别 出生日期 工资 部门\n");
scanf("%d",&g[a].num);
scanf(" %s",&g[a].name);
scanf("%s",&g[a].sex);
scanf("%d %d %2d",&g[a].birth.year,&g[a].birth.month,&g[a].birth.day);
scanf("%d",&g[a].m);
scanf("%s",&g[a].p);
printf("ok");
printf("\n");
}
else
{
printf("\n\n请按任意键重新输入.");
getch();
}
}
getch();
}
void charu()
{ int a;
do
{
int i=0,n=-1,num;
printf("\n\n\n <<<<<< 欢迎进入<<插 入 某 个 员 工 信 息>>系统页面!! >>>>>>\n\n\n");
printf("请输入员工工号:");
scanf("%d",&num);
while(i<N+7)
{
if(g[i].num==num)
{
n=i;break;
}
i++;
}
if(n==-1)//没有相同的,就找到有空的位置放置员工信息
{
i=0;
while(g[i].num!=0)
{
i++;
}
g[i].num=num;
printf("请输入员工姓名:");
scanf("%s",&g[i].name);
printf("请输入员工的性别:");
fflush(stdin);
scanf(" %c",&g[i].sex);
printf("请输入员工的出生年月日:");
scanf("%d%d%2d",&g[i].birth.year,&g[i].birth.month,&g[i].birth.day);
printf("请输入员工的月工资:");
fflush(stdin);
scanf("%d",&g[i].m);
printf("请输入员工的所在部门:");
scanf("%s",&g[i].p);
}
else//已经存在相同的工号,就提示!
{
printf("对不起!你插入的这个工号已存在。\n");
}
printf("要继续插入吗?继续请按1 or 否按0 \n"); //要继续插入吗?
scanf("%d",&a);
system("cls");
}while(a);
}
void shanchu()
{
int c,d,a;
printf("查找你要删除的人:\n");
a=serch();
if(a==-1)
{
printf("对不起,没有找到你要查询的结果!\n");
}
else
{
printf("你要删除的人是:\n");
printf("工号 姓名 性别 出生日期 工资 部门\n");
printf("%d %s %s ",g[a].num,g[a].name,g[a].sex);
printf(" %d %02d %02d %d %s\n",g[a].birth.year,g[a].birth.month,g[a].birth.day,g[a].m,g[a].p);
printf("删除请按(1)yes,不删除请按(2)no");
printf("你要选择的是:");
scanf("%d",&c);
if(c==1)
{
for(d=a;d<N+6;d++)
{
g[d]=g[d+1];
}
}
else
{
printf("\n\n请按任意键重新输入.");
getch();
}
}
getch();
}
int serch()
{
int i=0,n,k;
char m[10];
printf("\n\n 按工号查询请按1,按姓名查询请按2:");
scanf("%d",&k);
switch(k)
{
case 1 : printf("请输入工号:");
scanf("%d",&n);
while(i<N+7)
{
if(g[i].num==n && g[i].num!=0)
return i;
i++;
}return -1;break;
case 2 :printf("请输入姓名:");
scanf("%s",&m);
while(i<N+7)
{
if(strcmp(g[i].name,m)==0)
{
return i;
}
i++;
}return -1;break;
default: return -1;
}
}
void chaxun()//查询某员工的信息
{
int n,a,m;
char x[20];
printf("\n *****************欢迎进入查询员工信息系统****************\n");
a=serch();
if(a==-1)
{
printf("\n对不起,没有找到你要查询的结果!重新开始,按'Enter'键返回.\n");
getchar();
}
else
{
printf("你查询的结果是:\n");
printf("\n\n 工号 姓名 性别 出生日期 工资 部门\n");
printf(" %d %s %s ",g[a].num,g[a].name,g[a].sex);
printf(" %d %02d %02d %d %s\n",g[a].birth.year,g[a].birth.month,g[a].birth.day,g[a].m,g[a].p);
}
getch();
}
void yuangongpaixu()
{ int i,j,k;
struct G temp;
for( i=0;i<N+7;i++)
{
for( j=0;j<N+6;j++)
{
if(g[j].num>g[j+1].num)
{
temp=g[j+1];
g[j+1]=g[j];
g[j]=temp;
}
}
}
printf(" \n\n ☆☆☆☆☆☆☆☆ 排 序 后 的 结 果 如 下: ☆☆☆☆☆☆☆☆\n\n\n");
printf(" 工号 姓名 性别 出生日期 工资 部门\n\n");
for( k=0;k<N+7;k++)
{
if(g[k].num!=0)
{
printf(" %d %6s %s ",g[k].num,g[k].name,g[k].sex);
printf(" %d %02d %02d %d %s\n\n",g[k].birth.year,g[k].birth.month,g[k].birth.day,g[k].m,g[k].p);
}
}
getch();
}
void bumenzhigong()
{
char b[20];
int a=-1;
printf("\n\n 请输入你要查询的部门:");
scanf("%s",&b);
printf("\n\n你查询的结果是:\n\n\n");
printf(" 工号 姓名 性别 出生日期 工资 部门\n\n");
for(int i=0;i<N+7;i++)
{
if(strcmp(g[i].p,b)==0)
{
a=1;
printf(" %d %s %s ",g[i].num,g[i].name,g[i].sex);
printf("%d %02d %02d %d %s\n\n",g[i].birth.year,g[i].birth.month,g[i].birth.day,g[i].m,g[i].p);
}
}
if(a!=1)
{
printf("\n\n对不起,没有你要找的部门,请按任意键重新输入.");
}
getch();
}
void gongsi()
{
printf("\n\n ☆☆☆☆☆☆<<<<<< 以下是全体工司职工的信息 >>>>>>☆☆☆☆☆☆ ");
printf("\n\n\n\n 工号 姓名 性别 出生日期 工资 部门 \n\n\n");
for(int k=0;k<N+7;k++)
{
if(g[k].num!=0)
{
printf(" %d %6s %s ",g[k].num,g[k].name,g[k].sex);
printf(" %d %02d %02d %d %s\n\n",g[k].birth.year,g[k].birth.month,g[k].birth.day,g[k].m,g[k].p);
}
}
getch();
}
void salary()
{
int sum=0;
for(int i=0;i<N+7;i++)
{
sum=sum+g[i].m;
}
printf("\n ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆\n");
printf(" \n 本公司该月应支付总额为:%d",sum);
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -