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;
}
关闭文件*/
版权声明:本文标题:知识库管理系统php源代码 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1709888120a548804.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论