• 大一c语言课程设计-学籍管理系统


       1 //主函数<也是系统入口>
       2 #include<stdio.h>
       3 #include<windows.h>
       4 #include"admin.cpp"
       5 #include"administrator.cpp"
       6 #include"stud.cpp"
       7 #define stWJ "stud.dat"
       8 #define  m "欢迎进入"asd"学籍管理系统
    "
       9 #define m1 "		 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 
    "
      10 #define m2 "		┃              请选择你的登录身份<0退出>           ┃
    "
      11 #define m3 "		┃ 1、系统管理员登录 ┃ 2、管理员登录┃ 3、学生登录 ┃
    "
      12 #define m4 "请选择:"
      13 int main()
      14 {
      15     system("color A9");
      16     if(access("administrator.dat",0)==-1)
      17     {
      18         FILE *fp;
      19         fp=fopen("administrator.dat","wb");
      20         printf("此系统第一次使用,请输入系统管理员密码:");
      21         char a[20],b[20];
      22         while(1)
      23         {
      24             fflush(stdin);
      25             gets(a);
      26             printf("请确认密码:");
      27             gets(b);
      28             if(strcmp(a,b)!=0)
      29             {
      30                 printf("您两次输入的密码不一样,请再次输入!!!
    ");
      31                 getchar();
      32                 printf("请输入密码:");
      33             }
      34             else
      35             break;
      36         }
      37         fprintf(fp,"%16s",a);
      38         printf("初始管理员密码成功,回车进入系统!!!
    ");
      39         getchar();
      40         fclose(fp);
      41     }
      42     while(1)
      43     {
      44         title:system("cls");
      45         printf(""m""m1""m2""m1""m3""m1""m4"");
      46         char a;
      47         fflush(stdin);
      48         a=getchar();
      49         getchar();
      50         if(a=='1')
      51         {
      52             printf("用户名:administrator
    密码:");
      53             FILE *fp;
      54             char adin[16],adins[16];
      55             fp=fopen("administrator.dat","rb");
      56             fscanf(fp,"%16s
    ",adins);
      57             while(1)
      58             {
      59                 fflush(stdin);
      60                 gets(adin);
      61                 if(strcmp(adin,"0")==0)
      62                 goto title;
      63                 if(strcmp(adin,adins)==0)
      64                 {
      65                     fclose(fp);
      66                     system("cls");
      67                     administrator();
      68                     goto title;
      69                 }
      70                 else
      71                     printf("您输入的密码不正确,请重新输入:");
      72             }
      73         }
      74         else if(a=='2')
      75         {
      76             fflush(stdin);
      77             char name1[30],pass1[20],name[30],pass[20];
      78             while(1)
      79             {
      80                 printf("请输入您的管理员用户名:");
      81                 gets(name1);
      82                 if(strcmp(name1,"0")==0)
      83                 goto title;
      84                 printf("请输入密码:");
      85                 gets(pass1);
      86                 FILE *fp;
      87                 fp=fopen(""adWJ"","rb");
      88                 int flag=0;
      89                 while(!feof(fp))
      90                 {
      91                     fscanf(fp,"%24s%16s
    ",name,pass);
      92                     if(strcmp(name,name1)==0&&strcmp(pass,pass1)==0)
      93                     {
      94                         flag=1;
      95                         break;
      96                     }
      97                 }
      98                 if(flag)
      99                 {
     100                     printf("敲击回车进入管理员系统!!!");
     101                     fclose(fp);
     102                     getchar();
     103                     break;
     104                 }
     105                 else
     106                 {
     107                     printf("用户名或密码输入错误!!!");
     108                     fclose(fp);
     109                     getchar();
     110                 }
     111 
     112             }
     113             system("cls");
     114             admin(name1);
     115             goto title;
     116         }
     117         else if(a=='3')
     118         {
     119             fflush(stdin);
     120             char name1[12],pass1[12],name[12],pass[12];
     121             while(1)
     122             {
     123                 printf("请输入您的学号:");
     124                 gets(name1);
     125                 if(strcmp(name1,"0")==0)
     126                 goto title;
     127                 printf("请输入密码:");
     128                 gets(pass1);
     129                 FILE *fp;
     130                 fp=fopen(""stWJ"","rb");
     131                 int flag=0;
     132                 while(!feof(fp))
     133                 {
     134                     fscanf(fp,"%10s%10s
    ",name,pass);
     135                     if(strcmp(name,name1)==0&&strcmp(pass,pass1)==0)
     136                     {
     137                         flag=1;
     138                         break;
     139                     }
     140                 }
     141                 if(flag)
     142                 {
     143                     printf("敲击回车进入学生系统!!!");
     144                     fclose(fp);
     145                     getchar();
     146                     break;
     147                 }
     148                 else
     149                 {
     150                     printf("用户名或密码输入错误!!!");
     151                     fclose(fp);
     152                     getchar();
     153                 }
     154             }
     155             system("cls");
     156             stud(name1);
     157             goto title;
     158         }
     159         else if(a=='0')
     160         break;
     161         else
     162         {
     163             printf("暂无此项功能,请重新选择!!!");
     164             getchar();
     165             system("cls");
     166         }
     167     }
     168     return 0;
     169 }
     170 //系统管理员系统
     171 #include<stdio.h>
     172 #include<windows.h>
     173 #include<io.h>
     174 #define adWJ "admin.dat"
     175 #define  ad "				欢迎进入系统管理员系统!!
    "
     176 #define ad1 "		 ━━━━━━━━━━━━━━━━━━━━━━━
    "
     177 #define ad2 "		┃        请选择你管理类别<输入0退出>         ┃
    "
     178 #define ad3 "		┃ 1、查询管理员帐号 ┃ 2、新建管理员帐号     ┃
    "
     179 #define ad4 "		┃ 3、删除管理员帐号 ┃ 4、修改系统管理员密码 ┃
    "
     180 #define ad5 "		┃             5、输出管理员列表              ┃
    "
     181 #define adp1 "		 ━━━━━━━━━━━━━━━━ 
    "
     182 #define adp2 "		┃           管理员帐号         ┃
    "
     183 #define adp3 "		┃%-4d┃%-24s┃
    "
     184 #define adp4 "		 ━━━━━━━━━━━━━━━━━━━━━━ 
    "
     185 #define adp7 "		┃              管理员帐号和密码            ┃
    "
     186 #define adp8 "		┃          帐号          ┃      密码      ┃
    "
     187 #define adp5 "		┃%-24s┃%-16s┃
    "
     188 #define ad6 "请选择:"
     189 int administrator()
     190 {
     191     void adCX();
     192     void adXJ();
     193     void adSC();
     194     void adXG();
     195     void adPR();
     196     while(1)
     197     {
     198         fflush(stdin);
     199         system("cls");
     200         printf(""ad""ad1""ad2""ad1""ad3""ad1""ad4""ad1""ad5""ad1""ad6"");
     201         char a;
     202         a=getchar();
     203         if(a=='1')
     204         {
     205             system("cls");
     206             adCX();
     207         }
     208         else if(a=='2')
     209         {
     210             system("cls");
     211             adXJ();
     212         }
     213         else if(a=='3')
     214         {
     215             system("cls");
     216             adSC();
     217         }
     218         else if(a=='4')
     219         {
     220             system("cls");
     221             adXG();
     222         }
     223         else if(a=='5')
     224         {
     225             system("cls");
     226             adPR();
     227         }
     228         else if(a=='0')
     229             return 0;
     230         else
     231         {
     232             printf("暂无此项功能,请重新选择!!!");
     233             getchar();
     234             getchar();
     235         }
     236     }
     237     return 0;
     238 }
     239 void adCX()//查询有无此账户名
     240 {
     241     if(access(""adWJ"",0)==-1)
     242     {
     243         printf("暂时没有账户名!!
    ");
     244         getchar();
     245         getchar();
     246         return;
     247     }
     248     fflush(stdin);
     249     char name[24],name1[24],pass1[16];
     250     printf("请输入你要查询的管理员注册名:");
     251     gets(name);
     252     FILE *fp;
     253     fp=fopen(""adWJ"","rb");
     254     while(!feof(fp))
     255     {
     256         fscanf(fp,"%24s%16s
    ",name1,pass1);
     257         if(strcmp(name,name1)==0)
     258         {
     259             printf(""adp4""adp7""adp4""adp8""adp4""adp5""adp4"",name1,pass1);
     260             fclose(fp);
     261             getchar();
     262             return;
     263         }
     264     }
     265     printf("没有此账户名!!!");
     266     fclose(fp);
     267     getchar();
     268 }
     269 int find(char a[])//判定是否同名
     270 {
     271     FILE *fp;
     272     if(access(""adWJ"",0)==-1)
     273     return 0;
     274     fp=fopen(""adWJ"","rb");
     275     char ast[16],password[16];
     276     while(!feof(fp))
     277     {
     278         fscanf(fp,"%24s%16s
    ",ast,password);
     279         if(strcmp(a,ast)==0)
     280         {
     281             fclose(fp);
     282             return 1;
     283         }
     284     }
     285     fclose(fp);
     286     return 0;
     287 }
     288 void adXJ()//新建管理员帐号
     289 {
     290     printf("请输入您新建的用户名:");
     291     char name[24],password[16],password1[16];
     292     while(1)
     293     {
     294         fflush(stdin);
     295         gets(name);
     296         if(find(name)==1)
     297         printf("此用户名已注册,请重新输入:");
     298         else
     299         break;
     300     }
     301     while(1)
     302     {
     303         printf("请输入密码:");
     304         gets(password);
     305         printf("请再次输入密码:");
     306         gets(password1);
     307         if(strcmp(password,password1)!=0)
     308         {
     309             printf("您两次输入的密码不一样,请再次输入!!!");
     310             getchar();
     311         }
     312         else
     313         break;
     314     }
     315     FILE *fp;
     316     fp=fopen(""adWJ"","ab");
     317     fprintf(fp,"%24s%16s
    ",name,password);
     318     fclose(fp);
     319     printf("管理员用户创建成功!!!");
     320     getchar();
     321     return;
     322 }
     323 void adSC()//删除帐号
     324 {
     325     if(access(""adWJ"",0)==-1)
     326     {
     327         printf("暂时没有账户名!!
    ");
     328         getchar();
     329         getchar();
     330         return;
     331     }
     332     fflush(stdin);
     333     FILE *fp,*fp1;
     334     char name[24],name1[24],pass1[16];
     335     fp=fopen(""adWJ"","rb");
     336     fp1=fopen("1"adWJ"","wb");
     337     int flag1=1;
     338     printf("请输入你要删除的管理员用户名:");
     339     gets(name);
     340     while(!feof(fp))
     341     {
     342         int flag=1;
     343         fscanf(fp,"%24s%16s
    ",name1,pass1);
     344         if(strcmp(name,name1)==0)
     345         {
     346             printf("是否删除?   【1.删除  2.不删除】
    ");
     347             int b;
     348             scanf("%d",&b);
     349             if(b==2)
     350             {
     351                 fprintf(fp1,"%24s %16s
    ",name1,pass1);
     352                 system("cls");
     353             }
     354         }
     355         else
     356         fprintf(fp1,"%24s %16s
    ",name1,pass1);
     357     }
     358     fclose(fp);
     359     fclose(fp1);
     360     remove(""adWJ"");
     361     rename("1"adWJ"",""adWJ"");
     362     system("cls");
     363 }
     364 void adXG()//改密码
     365 {
     366     char pass[16],pass1[16];
     367     while(1)
     368     {
     369         fflush(stdin);
     370         printf("请输入新密码:");
     371         gets(pass);
     372         printf("请再次输入新密码:");
     373         gets(pass1);
     374         if(strcmp(pass,pass1)!=0)
     375         {
     376             printf("两次密码输入不一样,请从新输入!!!");
     377             getchar();
     378         }
     379         else
     380         break;
     381     }
     382     FILE *fp;
     383     fp=fopen("administrator.txt","w");
     384     fprintf(fp,"%16s
    ",pass);
     385     printf("您以成功修改系统管理员密码,请牢记!!!
    ");
     386     getchar();
     387     fclose(fp);
     388 }
     389 void adPR()//输出信息
     390 {
     391     FILE *fp;
     392     char name[24],password[16];
     393     int flag=1;
     394     if(access(""adWJ"",0)==-1)
     395     {
     396         printf("暂时没有管理员!!");
     397         getchar();
     398         getchar();
     399         return;
     400     }
     401     fp=fopen(""adWJ"","rb");
     402     while(!feof(fp))
     403     {
     404         fscanf(fp,"%s%s
    ",name,password);
     405         if(flag==1)
     406         {
     407             printf(""adp1""adp2""adp1""adp3""adp1"",flag,name);
     408             flag++;
     409         }
     410         else
     411         {
     412             printf(""adp3""adp1"",flag,name);
     413             flag++;
     414         }
     415     }
     416     if(flag==1)
     417     printf("暂时没有管理员帐号!!!
    ");
     418     fclose(fp);
     419     getchar();
     420     getchar();
     421     system("cls");
     422 }
     423 
     424 //管理员系统
     425 #include<stdio.h>
     426 #include<windows.h>
     427 #include<io.h>
     428 #define stWJ "stud.dat"
     429 #define adWJ "admin.dat"
     430 #define WJ "learn.txt"
     431 #define as "管理员
    "
     432 #define asd "			南阳理工"
     433 #define t1 "		 ━━━━━━━━━━━━━━━━━━━━━━ 
    "
     434 #define t2 "		┃  学籍录入  ┃   学籍输出   ┃  学籍查询  ┃
    "
     435 #define t3 "		┃      1     ┃       2      ┃      3     ┃
    "
     436 #define t4 "		┃  修改学籍  ┃   删除学籍   ┃  修改密码  ┃
    "
     437 #define t5 "		┃      4     ┃       5      ┃      6     ┃
    "
     438 #define t6 "		┃ 初始化密码 ┃ 一键初始密码 ┃    退出    ┃
    "
     439 #define t7 "		┃      7     ┃       8      ┃      0     ┃
    "
     440 #define p1 " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
    "
     441 #define p2 "┃  姓名  ┃ 性别 ┃ 年龄 ┃   系别   ┃   班级   ┃   学号   ┃    籍贯    ┃
    "
     442 #define p3 "┃%-8s┃  %2s  ┃  %2d  ┃%-10s┃%10s┃%10s┃%12s┃
    "
     443 #define c1 " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
    "
     444 #define c2 "┃                      请选择你查询的分类 (0返回)                          ┃
    "
     445 #define c3 "┃ 1.姓名 ┃2.性别┃3.年龄┃  4.系别  ┃  5.班级  ┃  6.学号  ┃   7.籍贯   ┃
    "
     446 #define x2 "┃                 请选择你修改对象关键字的分类 (0返回)                     ┃
    "
     447 #define d1 "┃                 请选择你删除对象关键字的分类 (0返回)                     ┃
    "
     448 int admin(char lkj[])
     449 {
     450     void LR();
     451     int CX();
     452     void XG();
     453     void SC();
     454     void PR();
     455     void XGMM(char a[]);
     456     void CSadMM();
     457     void YJadMM();
     458     system("color A9");
     459     while(1)
     460     {
     461         printf(""as""asd"学籍管理系统
    ");
     462         putchar('
    ');
     463         printf(""t1""t2""t1""t3""t1""t4""t1""t5""t1""t6""t1""t7""t1"");
     464         char a;
     465         fflush(stdin);
     466         printf("请选择:");
     467         a=getchar();
     468         switch(a)
     469         {
     470             case '1': system("cls"); printf(""asd"学籍管理系统
    ");  putchar('
    '); LR();break;
     471             case '2': system("cls"); printf(""asd"学籍管理系统
    ");  putchar('
    '); PR();break;
     472             case '3': system("cls"); printf(""asd"学籍管理系统
    ");  putchar('
    '); CX();break;
     473             case '4': system("cls"); printf(""asd"学籍管理系统
    ");  putchar('
    '); XG();break;
     474             case '5': system("cls"); printf(""asd"学籍管理系统
    ");  putchar('
    '); SC();break;
     475             case '6': system("cls"); printf(""asd"学籍管理系统
    ");  putchar('
    '); XGMM(lkj);break;
     476             case '7': system("cls"); printf(""asd"学籍管理系统
    ");  putchar('
    '); CSadMM();break;
     477             case '8': system("cls"); printf(""asd"学籍管理系统
    ");  putchar('
    '); YJadMM();break;
     478             case '0': return 0;
     479             default: printf("暂无此项功能,请重新选择!!!"); getchar(); system("cls");
     480         }
     481     }
     482     return 0;
     483 }
     484 void LR()//录入信息
     485 {
     486     FILE *fp,*fp1;
     487     char name[20],sex[5],scl[100],cl[20],stunum[20],phnum[20];
     488     int age;
     489     if(access(""WJ"",0)==-1)
     490         fp=fopen(""WJ"","w");
     491     else
     492         fp=fopen(""WJ"","a");
     493     if(access(""stWJ"",0)==-1)
     494         fp1=fopen(""stWJ"","wb");
     495     else
     496         fp1=fopen(""stWJ"","ab");
     497     printf("请输入数据(输入0为录入完毕)
    ");
     498     while(1)
     499     {
     500         printf("请输入姓名:");
     501         fflush(stdin);
     502         gets(name);
     503         if(name[0]=='0')
     504         {
     505             fclose(fp);
     506             system("cls");
     507             break;
     508         }
     509         printf("请选择性别 [1.男  2.女]:");
     510         int c;
     511         scanf("%d",&c);
     512         if(c==1)
     513         strcpy(sex,"");
     514         else
     515         strcpy(sex,"");
     516         printf("请输入年龄:");
     517         scanf("%d",&age);
     518         getchar();
     519         printf("请输入系别:");
     520         gets(scl);
     521         printf("请输入班级:");
     522         gets(cl);
     523         printf("请输入学号:");
     524         gets(stunum);
     525         printf("请输入籍贯:");
     526         gets(phnum);
     527         fprintf(fp,"%8s %2s %2d %10s %10s %10s %12s
    ",name,sex,age,scl,cl,stunum,phnum);
     528         fprintf(fp1,"%10s %10s
    ",stunum,stunum);
     529     }
     530     fclose(fp);
     531     fclose(fp1);
     532 }
     533 void PR()//输出信息
     534 {
     535     FILE *fp;
     536     fp=fopen(""WJ"","r");
     537     char name[20],sex[5],scl[100],cl[20],stunum[20],phnum[20];
     538     int age,flag=1;
     539     if(access(""WJ"",0)==-1)
     540     {
     541         printf("暂时没有数据!!!");
     542         getchar();
     543         getchar();
     544         system("cls");
     545         return;
     546     }
     547     while(!feof(fp))
     548     {
     549         fscanf(fp,"%8s%2s%2d%10s%10s%10s%12s
    ",name,sex,&age,scl,cl,stunum,phnum);
     550         if(flag==1)
     551         {
     552             printf(""p1""p2""p1""p3"",name,sex,age,scl,cl,stunum,phnum);
     553             flag=0;
     554         }
     555         else
     556         printf(""p1""p3"",name,sex,age,scl,cl,stunum,phnum);
     557     }
     558     if(!flag)
     559     printf(""p1"");
     560     else
     561     printf("库中没有数据!!
    ");
     562     fclose(fp);
     563     getchar();
     564     getchar();
     565     system("cls");
     566 }
     567 int CX()//查询信息
     568 {
     569     FILE *fp;
     570     char name1[20],sex1[5],scl1[100],cl1[20],stunum1[20],phnum1[20];
     571     int age1;
     572     char name[20],sex[5],scl[100],cl[20],stunum[20],phnum[20];
     573     int age;
     574     fp=fopen(""WJ"","rb");
     575     printf(""c1""c2""c1""c3""c1"");
     576     int a;
     577     scanf("%d",&a);
     578     getchar();
     579     switch(a)
     580     {
     581         case 1: printf("请输入姓名:"); scanf("%s",name1); break;
     582         case 2: printf("请输入性别:");scanf("%s",sex1); break;
     583         case 3: printf("请输入年龄:");scanf("%d",&age1); break;
     584         case 4: printf("请输入系别:");scanf("%s",scl1); break;
     585         case 5: printf("请输入班级:");scanf("%s",cl1); break;
     586         case 6: printf("请输入学号:");scanf("%s",stunum1); break;
     587         case 7: printf("请输入籍贯:");scanf("%s",phnum1); break;
     588         case 0: system("cls"); return 0;
     589     }
     590     int flag1=1;
     591     while(!feof(fp))
     592     {
     593         int flag=1;
     594         fscanf(fp,"%8s%2s%2d%10s%10s%10s%12s
    ",name,sex,&age,scl,cl,stunum,phnum);
     595         switch(a)
     596         {
     597             case 1: if(!strcmp(name,name1)) flag=0; break;
     598             case 2: if(!strcmp(sex,sex1)) flag=0;break;
     599             case 3: if(age==age1) flag=0; break;
     600             case 4: if(!strcmp(scl,scl1)) flag=0; break;
     601             case 5: if(!strcmp(cl,cl1)) flag=0; break;
     602             case 6: if(!strcmp(stunum,stunum1)) flag=0; break;
     603             case 7: if(!strcmp(phnum,phnum1)) flag=0; break;
     604         }
     605         if(flag==0)
     606         {
     607             if(flag1==1)
     608             {
     609                 printf(""p1""p2""p1""p3"",name,sex,age,scl,cl,stunum,phnum);
     610                 flag1++;
     611             }
     612             else
     613                 printf(""p1""p3"",name,sex,age,scl,cl,stunum,phnum);
     614         }
     615     }
     616     if(flag1>1)
     617     printf(""p1"");
     618     else
     619     printf("查询不到此人的信息!!
    ");
     620     fclose(fp);
     621     getchar();
     622     getchar();
     623     system("cls");
     624     return 0;
     625 }
     626 int XG()//修改信息
     627 {
     628     FILE *fp,*fp1;
     629     char name1[20],sex1[5],scl1[100],cl1[20],stunum1[20],phnum1[20];
     630     int age1;
     631     char name[20],sex[5],scl[100],cl[20],stunum[20],phnum[20];
     632     int age;
     633     fp=fopen(""WJ"","r");
     634     fp1=fopen("1"WJ"","w");
     635     printf(""c1""x2""c1""c3""c1"");
     636     int a;
     637     scanf("%d",&a);
     638     getchar();
     639     switch(a)
     640     {
     641         case 1: printf("请输入姓名:"); scanf("%s",name1); break;
     642         case 2: printf("请输入性别:");scanf("%s",sex1); break;
     643         case 3: printf("请输入年龄:");scanf("%d",&age1); break;
     644         case 4: printf("请输入系别:");scanf("%s",scl1); break;
     645         case 5: printf("请输入班级:");scanf("%s",cl1); break;
     646         case 6: printf("请输入学号:");scanf("%s",stunum1); break;
     647         case 7: printf("请输入籍贯:");scanf("%s",phnum1); break;
     648         case 0: system("cls"); return 0;
     649     }
     650     int flag1=1;
     651     while(!feof(fp))
     652     {
     653         int flag=1;
     654         fscanf(fp,"%8s%2s%2d%10s%10s%10s%12s
    ",name,sex,&age,scl,cl,stunum,phnum);
     655         switch(a)
     656         {
     657             case 1: if(!strcmp(name,name1)) flag=0; break;
     658             case 2: if(!strcmp(sex,sex1)) flag=0;break;
     659             case 3: if(age==age1) flag=0; break;
     660             case 4: if(!strcmp(scl,scl1)) flag=0; break;
     661             case 5: if(!strcmp(cl,cl1)) flag=0; break;
     662             case 6: if(!strcmp(stunum,stunum1)) flag=0; break;
     663             case 7: if(!strcmp(phnum,phnum1)) flag=0; break;
     664         }
     665         if(flag==0)
     666         {
     667             printf(""p1""p2""p1""p3""p1"",name,sex,age,scl,cl,stunum,phnum);
     668             printf("是否修改?   【1.修改  2.不修改】
    ");
     669             int b;
     670             scanf("%d",&b);
     671             if(b==1)
     672             {
     673                 printf("请输入姓名:");
     674                 fflush(stdin);
     675                 gets(name1);
     676                 printf("请选择性别 [1.男  2.女]:");
     677                 int c;
     678                 scanf("%d",&c);
     679                 if(c==1)
     680                 strcpy(sex1,"");
     681                 else
     682                 strcpy(sex1,"");
     683                 printf("请输入年龄:");
     684                 scanf("%d",&age1);
     685                 getchar();
     686                 printf("请输入系别:");
     687                 gets(scl1);
     688                 printf("请输入班级:");
     689                 gets(cl1);
     690                 printf("请输入学号:");
     691                 gets(stunum1);
     692                 printf("请输入籍贯:");
     693                 gets(phnum1);
     694                 printf("%8s %2s %2d %10s %10s %10s %12s
    ",name1,sex1,age1,scl1,cl1,stunum1,phnum1);
     695                 fprintf(fp1,"%8s %2s %2d %10s %10s %10s %12s
    ",name1,sex1,age1,scl1,cl1,stunum1,phnum1);
     696                 getchar();
     697                 getchar();
     698                 system("cls");
     699             }
     700             else
     701             {
     702                 fprintf(fp1,"%8s %2s %2d %10s %10s %10s %12s
    ",name,sex,age,scl,cl,stunum,phnum);
     703                 system("cls");
     704             }
     705         }
     706         else
     707             fprintf(fp1,"%8s %2s %2d %10s %10s %10s %12s
    ",name,sex,age,scl,cl,stunum,phnum);
     708     }
     709     fclose(fp);
     710     fclose(fp1);
     711     remove(""WJ"");
     712     rename("1"WJ"",""WJ"");
     713     system("cls");
     714     return 0;
     715 }
     716 void SC()//删除信息
     717 {
     718     FILE *fp,*fp1,*ft,*ft1;
     719     char name1[20],sex1[5],scl1[100],cl1[20],stunum1[20],phnum1[20];
     720     int age1;
     721     char name[20],sex[5],scl[100],cl[20],stunum[20],phnum[20];
     722     int age;
     723     fp=fopen(""WJ"","r");
     724     fp1=fopen("1"WJ"","w");
     725     ft=fopen(""stWJ"","rb");
     726     ft1=fopen("1"stWJ"","wb");
     727     printf(""c1""x2""c1""c3""c1"");
     728     int a;
     729     scanf("%d",&a);
     730     getchar();
     731     switch(a)
     732     {
     733         case 1: printf("请输入姓名:"); scanf("%s",name1); break;
     734         case 2: printf("请输入性别:");scanf("%s",sex1); break;
     735         case 3: printf("请输入年龄:");scanf("%d",&age1); break;
     736         case 4: printf("请输入系别:");scanf("%s",scl1); break;
     737         case 5: printf("请输入班级:");scanf("%s",cl1); break;
     738         case 6: printf("请输入学号:");scanf("%s",stunum1); break;
     739         case 7: printf("请输入籍贯:");scanf("%s",phnum1); break;
     740         case 0: system("cls"); return;
     741     }
     742     int flag1=1;
     743     while(!feof(fp))
     744     {
     745         int flag=1;
     746         fscanf(fp,"%8s%2s%2d%10s%10s%10s%12s
    ",name,sex,&age,scl,cl,stunum,phnum);
     747         switch(a)
     748         {
     749             case 1: if(!strcmp(name,name1)) flag=0; break;
     750             case 2: if(!strcmp(sex,sex1)) flag=0;break;
     751             case 3: if(age==age1) flag=0; break;
     752             case 4: if(!strcmp(scl,scl1)) flag=0; break;
     753             case 5: if(!strcmp(cl,cl1)) flag=0; break;
     754             case 6: if(!strcmp(stunum,stunum1)) flag=0; break;
     755             case 7: if(!strcmp(phnum,phnum1)) flag=0; break;
     756         }
     757         if(flag==0)
     758         {
     759             printf(""p1""p2""p1""p3""p1"",name,sex,age,scl,cl,stunum,phnum);
     760             printf("是否删除?   【1.删除  2.不删除】
    ");
     761             int b;
     762             scanf("%d",&b);
     763             if(b==2)
     764             {
     765                 fprintf(fp1,"%8s %2s %2d %10s %10s %10s %12s
    ",name,sex,age,scl,cl,stunum,phnum);
     766                 fprintf(ft1,"%10s %10s
    ",stunum,stunum);
     767                 system("cls");
     768             }
     769         }
     770         else
     771         {
     772             fprintf(fp1,"%8s %2s %2d %10s %10s %10s %12s
    ",name,sex,age,scl,cl,stunum,phnum);
     773             fprintf(ft1,"%10s %10s
    ",stunum,stunum);
     774         }
     775     }
     776     fclose(fp);
     777     fclose(fp1);
     778     fclose(ft);
     779     fclose(ft1);
     780     remove(""WJ"");
     781     rename("1"WJ"",""WJ"");
     782     remove(""stWJ"");
     783     rename("1"stWJ"",""stWJ"");
     784     system("cls");
     785 }
     786 void XGMM(char a[])//修改密码
     787 {
     788     char pass[20],pass1[20],pass2[20],name[30];
     789     while(1)
     790     {
     791         fflush(stdin);
     792         printf("请输入新密码:");
     793         gets(pass1);
     794         printf("请再次输入新密码:");
     795         gets(pass2);
     796         if(strcmp(pass2,pass1)!=0)
     797         {
     798             printf("两次密码输入不一样,请从新输入!!!");
     799             getchar();
     800         }
     801         else
     802         break;
     803     }
     804     FILE *fp,*fp1;
     805     fp=fopen(""adWJ"","rb");
     806     fp1=fopen("1"adWJ"","wb");
     807     while(!feof(fp))
     808     {
     809         fscanf(fp,"%24s%16s
    ",name,pass);
     810         if(strcmp(name,a)==0)
     811         fprintf(fp1,"%24s %16s
    ",name,pass1);
     812         else
     813         fprintf(fp1,"%24s %16s
    ",name,pass);
     814     }
     815     fclose(fp);
     816     fclose(fp1);
     817     int o=remove(""adWJ"");
     818     int p=rename("1"adWJ"",""adWJ"");
     819     if(o==0&&p==0)
     820     printf("您已成功修改密码,请牢记!!!
    ");
     821     else
     822     printf("密码修改失败!!!
    ");
     823     getchar();
     824     system("cls");
     825 }
     826 void CSadMM()//初始化密码
     827 {
     828     fflush(stdin);
     829     printf("请输入要初始化的学生学号:");
     830     char name[12],name1[12],pass1[12];
     831     gets(name);
     832     FILE *fp,*fp1;
     833     fp=fopen(""stWJ"","rb");
     834     fp1=fopen("1"stWJ"","wb");
     835     while(!feof(fp))
     836     {
     837         fscanf(fp,"%10s%10s
    ",name1,pass1);
     838         if(strcmp(name,name1)==0)
     839         fprintf(fp1,"%10s %10s
    ",name,name);
     840         else
     841         fprintf(fp1,"%10s %10s
    ",name1,pass1);
     842     }
     843     fclose(fp);
     844     fclose(fp1);
     845     int o=remove(""stWJ"");
     846     int p=rename("1"stWJ"",""stWJ"");
     847     if(o==0&&p==0)
     848     printf("您已成功初始化密码,初始密码为学生学号,请牢记!!!
    ");
     849     else
     850     printf("密码初始化失败!!!
    ");
     851     getchar();
     852     system("cls");
     853 }
     854 void YJadMM()//一键初始化密码
     855 {
     856     fflush(stdin);
     857     printf("确认初始化全部学生的密码吗?<Y 确认  N 取消>
    ");
     858     char a;
     859     scanf("%c",&a);
     860     if(a=='N'||a=='n')
     861     return;
     862     char name1[12],pass1[12];
     863     FILE *fp,*fp1;
     864     fp=fopen(""stWJ"","rb");
     865     fp1=fopen("1"stWJ"","wb");
     866     while(!feof(fp))
     867     {
     868         fscanf(fp,"%10s%10s
    ",name1,pass1);
     869         fprintf(fp1,"%10s %10s
    ",name1,name1);
     870     }
     871     fclose(fp);
     872     fclose(fp1);
     873     int o=remove(""stWJ"");
     874     int p=rename("1"stWJ"",""stWJ"");
     875     if(o==0&&p==0)
     876     printf("您已成功一键初始化密码,初始密码为学生学号,请牢记!!!
    ");
     877     else
     878     printf("一键初始化失败!!!
    ");
     879     getchar();
     880     system("cls");
     881 }
     882 //学生登录系统
     883 #include<stdio.h>
     884 #include<windows.h>
     885 #include<io.h>
     886 #define stWJ "stud.dat"
     887 #define WJ "learn.txt"
     888 #define s0 "学生
    "
     889 #define s1 "		 ━━━━━━━━━━━━━━━━━━━━ 
    "
     890 #define s2 "		┃       学生学籍查询系统<0退出>        ┃
    "
     891 #define s3 "		┃   查看个人信息   ┃     修改密码     ┃
    "
     892 #define s4 "		┃         1        ┃         2        ┃
    "
     893 #define s5 "请选择:"
     894 #define p1 " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 
    "
     895 #define p2 "┃  姓名  ┃ 性别 ┃ 年龄 ┃   系别   ┃   班级   ┃   学号   ┃    籍贯    ┃
    "
     896 #define p3 "┃%-8s┃  %2s  ┃  %2d  ┃%-10s┃%10s┃%10s┃%12s┃
    "
     897 int stud(char am[])
     898 {
     899     void CK(char a[]);
     900     void MM(char a[]);
     901     while(1)
     902     {
     903         printf(""s0""s1""s2""s1""s3""s1""s4""s1""s5"");
     904         int a;
     905         scanf("%d",&a);
     906         if(a==1)
     907         {
     908             system("cls");
     909             CK(am);
     910         }
     911         else if(a==2)
     912         {
     913             system("cls");
     914             MM(am);
     915         }
     916         else if(a==0)
     917         {
     918             return 0;
     919         }
     920         else
     921         {
     922             printf("暂无此项功能,请重新选择!!!");
     923             getchar();
     924         }
     925     }
     926     return 0;
     927 }
     928 void CK(char a[])
     929 {
     930     puts(a);
     931     FILE *fp;
     932     char name[20],sex[5],scl[100],cl[20],stunum[20],phnum[20];
     933     int age;
     934     fp=fopen(""WJ"","r");
     935     while(!feof(fp))
     936     {
     937         fscanf(fp,"%8s%2s%2d%10s%10s%10s%12s
    ",name,sex,&age,scl,cl,stunum,phnum);
     938         if(!strcmp(stunum,a))
     939             printf(""p1""p2""p1""p3""p1"",name,sex,age,scl,cl,stunum,phnum);
     940     }
     941     getchar();
     942     getchar();
     943     fclose(fp);
     944     system("cls");
     945     return;
     946 }
     947 void MM(char a[])
     948 {
     949     char pass[20],pass1[20],pass2[20],name[30];
     950     while(1)
     951     {
     952         fflush(stdin);
     953         printf("请输入新密码:");
     954         gets(pass1);
     955         printf("请再次输入新密码:");
     956         gets(pass2);
     957         if(strcmp(pass2,pass1)!=0)
     958         {
     959             printf("两次密码输入不一样,请从新输入!!!");
     960             getchar();
     961         }
     962         else
     963         break;
     964     }
     965     FILE *fp,*fp1;
     966     fp=fopen(""stWJ"","rb");
     967     fp1=fopen("1"stWJ"","wb");
     968     while(!feof(fp))
     969     {
     970         fscanf(fp,"%10s%10s
    ",name,pass);
     971         if(strcmp(name,a)==0)
     972         fprintf(fp1,"%10s %10s
    ",name,pass1);
     973         else
     974         fprintf(fp1,"%10s %10s
    ",name,pass);
     975     }
     976     fclose(fp);
     977     fclose(fp1);
     978     int o=remove(""stWJ"");
     979     int p=rename("1"stWJ"",""stWJ"");
     980     if(o==0&&p==0)
     981     printf("您已成功修改密码,请牢记!!!
    ");
     982     else
     983     printf("密码修改失败!!!
    ");
     984     getchar();
     985     system("cls");
     986 }
     987 //一键恢复系统<可以删除以前所有的文件,初始化系统>
     988 #include<stdio.h>
     989 #include<io.h>
     990 #define stWJ "stud.dat"
     991 #define adWJ "admin.dat"
     992 #define WJ "learn.txt"
     993 #define adminWJ "administrator.dat"
     994 int main()
     995 {
     996     if(access(""stWJ"",0)!=-1)
     997     remove(""stWJ"");
     998     if(access(""adWJ"",0)!=-1)
     999     remove(""adWJ"");
    1000     if(access(""WJ"",0)!=-1)
    1001     remove(""WJ"");
    1002     if(access(""adminWJ"",0)!=-1)
    1003     remove(""adminWJ"");
    1004     printf("学籍管理系统一键还原完毕!!!
    ");
    1005     getchar();
    1006     return 0;
    1007 }
  • 相关阅读:
    3.Linux系统信息
    2.LINUX常用命令
    1.CMD命令
    8.变量内存CPU原理
    17.I/O系统访问方式和类型
    16.磁盘调度
    15.大容量存储结构
    cluvfy comp命令用法
    禁用DRM
    Oracle数据库升级前必要的准备工作
  • 原文地址:https://www.cnblogs.com/nylg-haozi/p/3150623.html
Copyright © 2020-2023  润新知