简单员工管理系统
#include "string.h"
#include "stdio.h"
#include "stdlib.h"
int j[3]={0}; /*j[0],j[1],j[2] 分别表示年份,月份,日*/
int i=0;
int m; /*表示员工人数*/
struct date /*日期结构体*/
{ int year;
int month;
int day;
};
struct xueli /*学历结构体*/
{ char dai[3];
char mingcheng[10];
};
struct staff /*员工信息结构体*/
{
int num;
char name[20];
char sex;
struct date a;
struct xueli daihao;
char dai[4];
float wage;
char adress[20];
char phone[20];
struct staff *next;
};
struct d
{
int count;
char dai[3];
char mingcheng[10];
struct d *nt;
};
struct staff *head;
struct d *hd;
void input(struct staff *p1); /*输出信息函数*/
void staff_write(); /*写入函数*/
int juge_num(); /*判断员工号是否出现函数*/
int juge_date(); /*判断日期函数*/
void creat(); /*输入员工信息函数*/
void staff_read(); /*从文件读入函数 */
void search_num(); /*按员工号查询函数*/
void search_xingshi(); /*按姓氏查询*/
void search(); /*查询函数*/
void count_staff(); /*统计各种学历的员工数函数*/
void retire_staff(); /*查询指定年份需退休的员工信息函*/
void detele (); /*删除函数*/
void modify(); /*修改员工的某一项信息及保存函数*/
void staff_rewrite(); /*追加函数*/
void staff_free(); /*释放链表函数*/
void dmmman(); /*主菜单函数*/
void menu() /*菜单函数*/
{
printf(" \n");
printf("\n");
printf(" *************************员工信息管理*************************\n");
printf(" * 1.录入员工信息 *\n");
printf(" * 2.浏览员工信息 *\n");
printf(" * 3.按员工号查询职工信息 *\n");
printf(" * 4.查询不同学历人数 *\n");
printf(" * 5.指定年份退休员工信息(男:60岁,女:55岁) *\n");
printf(" * 6.删除员工信息及保存 *\n");
printf(" * 7.修改员工的某一项信息及保存 *\n");
printf(" * 8. 释放链表 *\n");
printf(" * 9.退出
*\n");
printf(" * *\n");
printf(" *
*************************谢谢使用****************************\n");
}
void dmmman(int l)
{
int n,flag;
do
{ menu(); /*调用菜单函数*/
printf("请选择你需要操作的步骤(1--9):\n");
fflush (stdin);
scanf("%d",&n);
if(n>=1&&n<=9)
{
flag=1;
break;
}
else
{
flag=0;
printf("您输入有误,请重新选择!");
}
}while(flag==0);
switch(n)
{
case 1:printf(" 输入员工信息\n");printf("\n");creat();break;
case 2:printf(" 浏览员工信息\n");printf("\n");
staff_read();
break;
case 3:printf(" 按职工号查询员工信息\n");printf("\n");search();break;
case 4:printf(" 查询不同学历人数\n");printf("\n");printf("\n");count_staff();break;
case 5:printf(" 查询指定年份退休员工信息(男:60岁,女:55岁)\n");retire_staff();break;
case 6:printf(" 删除员工信息及保存\n");printf("\n");detele();break;
case 7:printf(" 修改员工的某一项信息及保存\n");printf("\n");modify();break;
case 8:printf(" 释放链表 \n");printf("\n");staff_free();break;
case 9:printf(" 欢迎使用,谢谢!\n");break;
default :break;
}
}
void main()
{
dmmman(1);
}
void input(struct staff *p1) /*输出信息函数*/
{
printf("输出职工信息: \n");
printf("职工号 姓名 性别 年 月 日\n");
printf("%d %s %c %d %d %d\n",p1->num,p1->name,p1->sex,(*p1).a.year,(*p1).a.month,(*p1).a.day);
printf("代号\t 名称\t\t工资\t地址\t\t电话号码\n");
printf("%s\t%s\t\t%.2f\t%s\t\t%s\n",(*p1).daihao.dai,(*p1).daihao.mingcheng,p1->wage,p1->adress,p1->phone);
}
void staff_write() /*写入函数*/
{
FILE *fp;
struct staff *p=head;
if(head==NULL)
{
printf("空链表\n");
exit(0);
}
if((fp=fopen("staff.txt","w"))==NULL)
{
printf("can not open file\n");
exit(0);
}
fprintf(fp,"%-10d",i);
while(p!=NULL)
{
fprintf(fp,"%-10d %-20s %c %-10d %-10d %-10d %-3s %-20s %-20f %-20s %-20s",p->num,p->name,p->sex,(*p).a.year,(*p).a.month,(*p).a.day,(*p).daihao.dai,(*p).daihao.mingcheng,p->wage,p->adress,p->phone);
p=p->next;
}
fclose(fp);
}
int juge_num() /*判断员工号是否出现函数*/
{
int num;
int z,g;
…… 此处隐藏:8936字,全部文档内容请下载后查看。喜欢就下载吧 ……
- 基于PLC控制的航空电镀生产线自动输送
- 中考预测课内外文言文对比阅读2
- 2018-2023年中国商业智能(BI)产业市场
- 中国金融体制改革研究2011new
- 外窗淋水试验方案
- 精益生产(Lean Production)
- 学校安全事故处置和信息报送制度
- Chapter 5 Human Resources Management
- 【小学数学】人教版小学六年级上册数学
- 初中数学解题方法与技巧
- 山东省创伤中心建设与管理指导原则(试
- 函数与数列的极限的强化练习题答案
- 10分钟淋巴按摩消脂
- 网络应急演练预案
- 服装设计入门基础知识
- 初二数学分式计算题练习
- (人教新课标)高二数学必修5第二章 数列
- 最新自主创业项目
- 北京大学 无机化学课件 4第4章 配合物
- 贸易公司业务管理制度




