教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 高等教育 >

职工档案管理系统C语言

来源:网络收集 时间:2026-05-20
导读: #include stdio.h #include stdlib.h #include string.h /*********************定义结构体**************************/ struct RuC_data { int nian,yue,ri;//生产日期:年,月,日 }; struct ZhiG_inf//定义一个类型名为SHANGP的结构体类型 { int member;/

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

/*********************定义结构体**************************/

struct RuC_data

{

int nian,yue,ri;//生产日期:年,月,日

};

struct ZhiG_inf//定义一个类型名为SHANGP的结构体类型

{

int member;//工号

char name[20];//名字

char xingb[20];//性别

double gongz;//工资

struct RuC_data data;//生产日期

}PRESON[1000];

/*********************使用函数的定义**************************/

int num=0;

void TianG();

void ZhanX();

void Display();

void Read_file();

void Write_file();

void XiuG();

void ShanC();

void ZhuiG();

void PaiX();

/**********************主菜单******************************/

void main()

{

while(1)

{

int option;

system("cls"); /****清除屏幕****/

printf("\t\t----------------------主菜单-----------------------\n");

printf("\t\t-----------------<1>-职工信息加载------------------\n");

printf("\t\t-----------------<2>-职工信息添加------------------\n");

printf("\t\t-----------------<3>-职工信息查看------------------\n");

printf("\t\t-----------------<4>-职工信息修改------------------\n");

printf("\t\t-----------------<5>-职工信息查找删除------------------\n");

printf("\t\t-----------------<6>-职工信息排序------------------\n");

printf("\t\t-----------------<7>-职工信息追加------------------\n");

printf("\t\t-----------------<8>-职工信息保存------------------\n");

printf("\t\t-----------------<0>-退出程序----------------------\n");

printf("\t\t请选择: ");

scanf("%d",&option);

switch (option) //选择

{

case 1: Read_file();//读入文件

break;

case 2: TianG();//初始添加

break;

case 3: ZhanX();//查看职工信息

break;

case 4: XiuG();//修改职工信息

break;

case 5: ShanC();//查看和删除记录

break;

case 6: PaiX();//进行排序

break;

case 7: ZhuiG();//追加职工信息

break;

case 8: Write_file();//保存文件

break;

case 0: exit(0);

}

}

}

/*****************************添加记录**********************************/ void TianG()

{

int number,i,flag=0;

system("cls");

printf("\t\t--------------------职工信息添加-----------------------\n");

printf("\t\t请输本次录入记录个数:");

scanf("%d",&number);

for(i=0;i<number;i++)

{

printf("\t\t请输第%d职工的序号:",i+1);

scanf("%d",&PRESON[i].member);

getchar();

printf("\t\t职工姓名:\t");

scanf("%s",&PRESON[i].name);

getchar();

printf("\t\t职工性别:\t");

scanf("%s",&PRESON[i].xingb);

getchar();

printf("\t\t职工工资:\t");

scanf("%lf",&PRESON[i].gongz);

getchar();

printf("\t\t入厂日期:\t");

scanf("%d%d%d",&PRESON[i].data.nian,&PRESON[i].data.yue,&PRESON[i].data.ri); getchar();

if(PRESON[i].data.yue<0||PRESON[i].data.yue>12) /***判断数据是否正确***/ {

printf("\t\t很抱歉!你输入的职工信息错误!(0<yue<=12)\n");

i--;//如果输入错误重新输入

}

if(PRESON[i].data.yue==4||PRESON[i].data.yue==6||PRESON[i].data.yue==9||PRESON[i].data.yue==11)

{

if(PRESON[i].data.ri<0||PRESON[i].data.ri>30)

{

printf("\t\t很抱歉!你输入的职工信息错误!(0<%d月的天数<=30)\n",PRESON[i].data.yue);

i--;//如果输入错误重新输入

}

}

if(PRESON[i].data.yue==1||PRESON[i].data.yue==3||PRESON[i].data.yue==5||PRESON[i].data.yue==7||PRESON[i].data.yue==8||PRESON[i].data.yue==10||PRESON[i].data.yue==12) {

if(PRESON[i].data.ri<0||PRESON[i].data.ri>31)

{

printf("\t\t很抱歉!你输入的职工信息错误!(0<%d月的天数<=31)\n",PRESON[i].data.yue);

i--;//如果输入错误重新输入

}

}

if(PRESON[i].data.yue==2)//判断2 月的天数

{

if((PRESON[i].data.nian%4==0)&&(PRESON[i].data.nian%100!=0)||(PRESON[i].data.nian%400==0))//判断是否是闰年

{

flag=1;

}

else flag=0;

if(flag==1)//闰年2月超过29天报错

{

if(PRESON[i].data.ri<0||PRESON[i].data.ri>29)

{

printf("\t\t很抱歉!你输入的职工信息错误!(0<%d年%d月的天数<=29)\n",PRESON[i].data.nian,PRESON[i].data.yue);

i--;//如果输入错误重新输入

}

}

if(flag==0)//平年2 月超过28天报错

{

if(PRESON[i].data.ri<0||PRESON[i].data.ri>28)

{

printf("\t\t很抱歉!你输入的职工信息错误!(0<%d年%d月的天数<=28)\n",PRESON[i].data.nian,PRESON[i].data.yue);

i--;//如果输入错误重新输入

}

}

}

}

printf("\t\t是否存储?(Y/N):");

if (getchar()=='y' || getchar()=='Y')

{

for(i=0;i<number;i++)

{

num++; /*增加一组数据***/

getchar();

}

}

}

/******************************查询菜单********************************/ void ZhanX()

{

int option;

printf("\t\t----------------------查询菜单---------------------\n");

printf("\t\t<1>-查看所有记录:\n\t\t<2>返回主菜单\n\t\t请选择: ");

scanf("%d",&option);

getchar();

switch (option)

{

case 1:

system("cls&q …… 此处隐藏:7904字,全部文档内容请下载后查看。喜欢就下载吧 ……

职工档案管理系统C语言.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1705155.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)