加入了自动获取系统时间,且将上下班内容存放在两个不同的文件
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>//头文件声明
#define M 50
void input1();
void input2();
void display1();
void display2();
void search1();
void search2();
void del1();
void del2();
char nowtime();
//定义函数
struct workerstart//结构体变量声明
{
char no[20];
char name[20];
char number[20];
char go[20];
};
struct workerstart wks[M];//定义结构体数组
struct workeroff//结构体变量声明
{
char no[20];
char name[20];
char number[20];
char back[20];
};
struct workeroff wko[M];//定义结构体数组
int n;//员工上班人数
int N;//员工下班人数
main()
{
char num;
printf("\t\t-------------------欢迎来到登陆页面------------------\n");
printf("请输入你要操作的序号:\n");
printf("\t\t\t 1.上班员工打卡信息\n");
printf("\t\t\t 2.下班员工打卡信息\n");
printf("\t\t\t 3.显示上班员工信息\n");
printf("\t\t\t 4.显示下班员工信息\n");
printf("\t\t\t 5.查询员工上班信息\n");
printf("\t\t\t 6.查询员工下班信息\n");
printf("\t\t\t 7.删除上班信息\n");
printf("\t\t\t 8.删除下班信息\n");
printf("\t\t\t 9.退出\n");
do{
scanf("%c",&num);
if(num<='9'&&num>='1')
{
switch(num)
{
case '1':input1();break;
case '2':input2();break;
case '3':display1();break;
case '4':display2();break;
case '5':search1();break;
case '6':search2();break;
case '7':del1();break;
case '8':del2();break;
case '9':exit(0);break;
}continue;
}
else if(num<'1'||num>'9')printf("请输入你进行的操作");continue;
}while(1);
}
void input1()
{
int i=0;
char ch;
FILE *fp1;
if((fp1=fopen("E:\实训内容\文件\职工上班信息管理","ab+"))==NULL)//如果文件不存在,新建文件,写入数据
{
printf("创建/打开文件失败!\n");
exit(0);
}//新建文件出问题
printf("\n\t\t\t输入职工考勤信息\n\n");
do
{
printf("输入格式:\t职工号\t姓名\t顺序数\n");
printf("考勤信息录入:");
nowtime(wks[i].go);
scanf("%s%s%s",wks[i].no,wks[i].name,&wks[i].number);
fwrite(&wks[i],sizeof(struct workerstart),1,fp1);//将结构体数组内容内容写到文件中
printf("按回车键继续输入,按N停止输入:\n");
printf("\n");
getchar();
ch=getch();
i++;
}while(ch!='n'&&ch!='N');//结束循环
fclose(fp1);
n=i;
system("cls");
}
void input2()
{
int i=0;
char ch;
FILE *fp2;
if((fp2=fopen("E:\实训内容\文件\职工下班信息管理","ab+"))==NULL)//如果文件不存在,