1、#include <stdio、h〉 #include 〈stdlib、h> #include 〈string、h〉 #include 〈windows、h> #define select int typedef struct //账户信息 { char name[20]; //User、name char pw[20]; //User、pw } User; typedef struct { char Num[20]; char n1[20]; char Class[20]; char tim
2、e[100]; char reason[100]; char instructor[100]; } Leave; typedef struct { char n1[20]; char Num[20]; // char name[20]; char Class[20]; char time[100]; char reason[100]; char instructor[100]; char suggest[100]; } TEACHER; int check (char name[20]) {
3、 int i=0; User ru; FILE *f =fopen(”data、dat”,"rb"); rewind(f); for(i=0; !feof(f); i++) { int d=i*sizeof(User); fseek(f,d,SEEK_SET); fread(&ru,sizeof(User),1,f); if(strcmp(name,ru、name)==0) return 1; } return —1;
4、 } int login(char name[20],char pw[20]) { User us; FILE *f =fopen("data、dat","rb"); while(!feof(f)) { fread(&us,sizeof(User),1,f); if(strcmp(name,us、name)==0) { if(strcmp(pw,us、pw)==0)return 1; } } return -1; } int ma
5、in() { char n[20]; char plog[20]; char nlog[20]; int c; User u; FILE *f =fopen("data、dat",”ab"); if(f!=NULL) { fwrite(&u,sizeof(User),1,f); } fclose(f); Login: system("color F0”); system(”cls"); printf(”\n\n”); printf(”
6、======================================================================\n”); printf(”| |\n"); printf("|---—-——-—----—-—-—--—-—-—--—-学生请假系统--———-——-—--——-—----------———|\n”); printf(”|
7、 |\n”); printf("========================================================================\n"); printf(”\n”); Sleep(1000); printf("\n"); printf("请输入帐号:"); scanf(”%s",nlog); c=check(nlog); if(c==1)//如果账户存在 { strc
8、py(n,nlog);//复制登录帐号 if(strlen(n)==9)//如果就是学生 { int a,i; select s=0; printf(”\n"); printf("请输入密码:");//直接输入密码 scanf("%s”,plog); for(a=2,i=0; i〈4; i++,a--) { if(login(nlog,plog)
9、—1)//密码错误 { system("color F0"); char plog[20]= {}; //登录数组初始化 system("cls"); printf(”\n”); printf("************************************************************************\n");
10、 printf("* 密码错误! *\n”); printf(”************************************************************************\n"); printf(”\n\n"); if(a>0) {
11、 printf("请重新输入密码(您还有%d次机会):”,a); printf("\n\n"); scanf(”%s",plog); if(login(nlog,plog)==1) goto success2; } else
12、 return 0; } } if(login(nlog,plog)==1) { success2: system("color F0”); printf(”\n\n"); printf(" \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\登陆成功///////////////////////\n”);
13、 Sleep(1000); system(”cls”); } LEAVESYSTEM: printf(”\n\n”); printf("========================================================================\n"); printf("|1、提交请假申请 |\n");
14、 printf("|2、查询请假批准状态 |\n"); printf("| 如无需操作,可直接关闭程序 |\n"); printf("========================================================================\n”); printf("\n\n");
15、 Sleep(1000); printf(”请输入您要执行得选项:"); scanf(”%d”,&s); Sleep(1000); while(s!=1&&s!=2) { if(s!=1&&s!=2) { system(”color 0c"); printf("选项不存在,请重新输入(1/2):”);
16、 s=0; scanf("%d”,&s); } } if(s==1)//写入请假 { system(”color F0"); system("cls"); printf("\n\n"); printf(”==============================================
17、=================\n"); printf(”| |\n"); printf("|————-———-—------—-——-—---—--—-提交请假申请-——-————-------———-——-————--|\n”); printf(”|
18、 |\n”); printf("========================================================================\n"); printf("\n\n"); Leave a; Sleep(1000); printf(”请输入班级:\n”); scanf("%s”,a、Class)
19、 printf("请输入姓名:\n"); scanf("%s",a、n1); printf("请详细输入请假时间:\n"); scanf(”%s”,a、time); printf(”请详细输入请假原因:\n”); scanf(”%s”,a、reason); strcpy(nlog,a、Num); strcpy(a、instr
20、uctor,"0"); FILE *t=fopen("leave、dat”,"ab"); fwrite(&a,sizeof(Leave),1,t);//讲以变量u得地址开始得内存区域得一个数据写到f指向得文件中,每个数据占sizeof(User) fclose(t); fflush(t); // Sleep(1000); printf("\n"); printf
21、 \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\保存成功///////////////////////\n”); printf(" 请不定时来查询您得假条申请状态!\n\n\n”); system(”pause”); system("cls"); goto LEAVESYSTEM; } if(s==2)//学生查
22、询状态代码 { system(”color F0"); system("cls"); printf("\n\n”); printf("========================================================================\n"); printf("|
23、 |\n"); printf(”|—-—--——-——---———--———--—-——-查询请假批准状态-------—---———-——-—---—--—|\n"); printf(”| |\n”); printf(”================================================
24、====================\n”); Sleep(1000); TEACHER b; FILE *t=fopen(”read、dat”,”rb"); while(1) { if(!(fread(&b,sizeof(TEACHER),1,t))) break; if((str
25、cmp(nlog,b、Num))==0) { printf("-—---——--—------------———------—----——-—--———-------—----------\n"); printf(”|学生%s请假申请反馈信息: \n",b、n1); printf("|班级:%s\n
26、 \n",b、Class); printf("|姓名:%s\n \n",b、n1); printf(”|请假时间:%s\n \n”,b、time); printf("|请假原因:%s\n
27、 \n",b、reason); printf("-—--—-——--——---—--------—--——————-————-—-—------—---—-—-——---——\n”); Sleep(1000); printf("\n"); printf(” -—--—-—-—-——-—--—-—--—-—
28、————---——-------—-——-—-—--—-—----—-—-\n"); printf(" 申请状态:%s\n",b、instructor); printf(" 辅导员意见:%s\n",b、suggest); printf(" --—--—-—---—----—---—--—-——-——--———----—————------—---——-——--\n"); system(”pause
29、"); Sleep(1000); system("cls"); goto LEAVESYSTEM; } } } if(s==3) { goto Login; } }//身份学生 if(strlen(n
30、)==4)//如果就是辅导员 { int a,i; select s; printf("\n"); printf(”请输入密码:");//直接输入密码 scanf("%s",plog); for(a=2,i=0; i<4; i++,a-—) { if(login(nlog,plog)==-1)//密码错误 {
31、 system(”color 0c"); char plog[20]= {}; //登录数组初始化 system(”cls"); printf("\n"); printf(”************************************************************************\n”); printf("*
32、 密码错误! *\n"); printf(”************************************************************************\n”); printf("\n\n”); if(a〉0) { printf(”请重新输入密码(您
33、还有%d次机会):”,a); printf(”\n\n"); scanf("%s",plog); if(login(nlog,plog)==1) goto success3; } else return 0; }
34、 } if(login(nlog,plog)==1) { success3: system(”color F0"); printf("\n\n”); printf(” \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\登陆成功///////////////////////\n”); Sleep(1000); } //Approvals
35、ystem: system("cls"); printf("\n\n”); printf("========================================================================\n”); printf("| |\n"); printf("|——————----———--—
36、——-—-----学生请假系统(辅导员端)--———--—-----—-—--—--—-|\n"); printf("| |\n”); printf(”========================================================================\n"); printf("\n"); Sleep(1000)
37、 printf("========================================================================\n”); printf("|1、查瞧学生请假申请 |\n"); printf("|2、返回登陆界面 |\n"); pr
38、intf("| 如无需操作,可直接关闭程序 |\n”); printf("========================================================================\n"); printf("\n\n"); Sleep(1000); printf("请输入您要执行得选项:”); scanf(”%d",&s);
39、 while(s!=1&&s!=2) { if(s!=1&&s!=2) { printf(”选项不存在,请重新输入(1/2):”); scanf(”%d",&s); } } if(s==1)//辅导员读 { system("cls”);
40、printf("\n\n”); printf(”========================================================================\n"); printf("| |\n"); printf("|—-——-———-----—----——-—--—-—-查瞧学生请假申请—--——-——-—-——--—
41、—-—--—--|\n"); printf(”| |\n"); printf("========================================================================\n"); printf("\n\n"); Sleep(1000);
42、 Leave a; FILE *t=fopen(”leave、dat”,”rb”); while(1) { int ch; if(!(fread(&a,sizeof(Leave),1,t))) break; { printf(”--—---—-—-—---——----
43、—-—--—----—---—-—---—----—-—--—-----—-—-\n”); printf(”|学生信息如下:\n”); printf("|班级:%s\n”,a、Class); printf("|姓名:%s\n",a、n1); printf("|学号:%s\n",a、Num); printf(”|请假时间:%s\n",a、time)
44、 printf("|请假原因:%s\n",a、reason); printf("—----——---—-----—---------—--—----------—----—----——-—-----—-\n"); Sleep(1000); printf(”\n\n\n"); printf("
45、 \n”); printf(” 就是否批准学生请假申请 \n"); printf(" -—-----——--——----—--—---—------——----———----———-——-—---——-— \n"); printf(" —---------—----——---——----—-—---—---
46、—--—-—--—-—-—---—---—— \n”); printf(" 1、批准学生请假申请 \n"); printf(" 2、不批准学生请假申请 \n”); printf("\n\n\n"); printf("请输入您要执行得选项:
47、); scanf(”%d”,&ch); while(ch!=1&&ch!=2) { if(ch!=1&&ch!=2) { printf("选项不存在,请重新输入(1/2):"); scanf(”%d”
48、&ch); } } if(ch==1) { printf(”\n\n”); printf("-—----——---—---————-—-—--———-—---—-—----—-—————--—--—-—--—---\n”);
49、 printf("执行中、、、、\n"); printf("—-—-—-—-—--—-—--—-—-—----———-——------—-—--------—----—----—--\n”); Sleep(1000); TEACHER b; FILE *F=fopen("read、dat","ab");
50、 strcpy(b、instructor,”您得请假申请已被批准!"); printf("\n”); printf("辅导员意见:”); scanf("%s”,b、suggest); strcpy(b、Class,a、Class); strcpy(b、n1,a、n1);






