admin 管理员组

文章数量: 1087834


2024年3月8日发(作者:power是电源的意思吗)

知识库管理系统php源代码

#include

#include

#include

#include

#include

#include /*所使用的头文件*/

typedef struct /*时间结构体定义*/

{

int hour;

int minute;

}TIME;

typedef struct worker /*结构体定义*/

{

char id[10];

char name[10];

TIME time[20];

struct worker *next;

}worker;

int menu_select(); /*主菜单*/

void welcome(); /*欢迎界面*/

void createInfo(); /*新建职工信息*/

void createRec(); /*录入考勤信息*/

void listRec(); /*浏览当天考勤信息*/

void searchRec(); /*/查询考勤信息*/

void saveRec(); /*保存所有信息*/

void deleteRec(); /*删除考勤信息*/

void modifyRec(); /*修改考勤信息*/

void loadRec(); /*加载文件信息*/

void resetPassword(); /*重设密码*/

int fun(); /*判断输入选择是否正确*/

worker *head=NULL; /*链表头指针head*/

writeinfo_flag=0; /*信息保存标记*/

char password[16]="888888"; /*初始密码*/

struct tm *timeinfo;

int main() /*主函数*/

{

char s[16];

welcome(); /*欢迎界面*/

loadRec(); /*加载文件信息*/

printf("n提示:nn"); /*进入系统密码管理*/

printf("tttnnnnn请输入密码,进去系统(密码不超过15个字符):");

scanf("%s",s);

while(strcmp(password,s)!=0)

{

printf("n密码错误,请重新输入:");

scanf("%s",s);

}

system("cls");

for(;;) /*菜单循环*/

{

switch(menu_select())

{

case 0:system("cls");createInfo();break;

case 1:system("cls");createRec();break;

case 2:system("cls");listRec();break;

case 3:system("cls");searchRec();break;

case 4:system("cls");deleteRec();break;

case 5:system("cls");modifyRec();break;

case 6:system("cls");saveRec();break;

case 7:system("cls");resetPassword();break;

case 8:system("cls");if(writeinfo_flag==1)saveRec();return 0;

default:

{

printf("n 选择错误,请按回车键返回后,重新输入(0~8)!");

getchar();getchar();

system("cls");

break;

}

}

}

return 0;

}

/*选择菜单*/

int menu_select()

{

worker *p=head;

int c,k;

time_t nowtime;

time( &nowtime );

timeinfo = localtime( &nowtime );

printf("tt**************选择菜单**************t");

/*在菜单中显示当前时间*/

if(timeinfo->tm_wday==0)

{

printf("时间:星期天");

printf(" %d:%d",timeinfo->tm_hour,timeinfo->tm_min);

}

else

printf("时间:星

期%d %d:%d",timeinfo->tm_wday,timeinfo->tm_hour,timeinfo->tm_min);

printf("n---------------------------------------------------------------------------");

printf("ttt0.新建职工信息n");

printf("tt1.录入考勤信息n");

printf("tt2.浏览考勤信息n");

printf("tt3.查询考勤信息n");

printf("tt4.删除考勤信息n");

printf("tt5.修改考勤信息n");

printf("tt6.保存所有信息n");

printf("tt7.重设密码n");

printf("tt8.退出(退出后信息会自动保存在磁盘中)ntt(任何情况下按Ctrl+C退出程

序)n");

printf("n-----------------------------------------------------------

----------------");

printf("nn 请输入您的选择(0~8):");

scanf("%d",&c);

if(timeinfo->tm_wday==0&&p!=NULL) /*每周周日所有考勤信息初始化*/

{

for(k=0;k<20;k++)

{

p->time[k].hour=88;

p->time[k].minute=88;

}

}

return c;

}

void loadRec() /*从磁盘导入信息*/

{

worker *rear,*p,*pre;

FILE *fp,*key;

int i,pos=0;

key=fopen("","r");

if(key!=NULL)

{

fscanf(key,"%s",password);

fclose(key);

}

fp=fopen("","r");

if(fp!=NULL)

{

fseek(fp, 0, SEEK_END); /*指针移到文件末尾*/

pos= ftell(fp);

}

if(fp==NULL||0 == pos) /*打开职工信息文件和密码文

件*/

{

printf("nnnnnntt提示:nntt数据库中没有职工信息,文本为空或文件不存

在!n");

printf("ntt请按回车键进入主菜单新建职工信息^_^n");

getchar();

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

return;

}

fseek(fp, 0, SEEK_SET); /*指针移到文件开头*/

while(!feof(fp)) /*fp不指向文件末尾*/

{

p=(worker*)malloc(sizeof(worker)); /*开辟一个新单元*/

fscanf(fp,"%s%s",p->id,p->name);

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

fscanf(fp,"%d%d",&p->time[i].hour,&p->time[i].minute);

if(head==NULL)

{

head=p;

pre=p;

rear=p;

}

else

{

rear->next=p;

pre=rear;

rear=p;

}

}

pre->next=NULL;

fclose(fp); /* return;

}

关闭文件*/


本文标签: 信息 文件 密码 考勤 职工