大一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"学籍管理系统\n"
   9 #define m1 "\t\t ━━━━━━━━━━━━━━━━━━━━━━━━━━ \n"
  10 #define m2 "\t\t┃              请选择你的登录身份<0退出>           ┃\n"
  11 #define m3 "\t\t┃ 1、系统管理员登录 ┃ 2、管理员登录┃ 3、学生登录 ┃\n"
  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("您两次输入的密码不一样,请再次输入!!!\n");
  31                 getchar();
  32                 printf("请输入密码:");
  33             }
  34             else
  35             break;
  36         }
  37         fprintf(fp,"%16s",a);
  38         printf("初始管理员密码成功,回车进入系统!!!\n");
  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\n密码:");
  53             FILE *fp;
  54             char adin[16],adins[16];
  55             fp=fopen("administrator.dat","rb");
  56             fscanf(fp,"%16s\n",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\n",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\n",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 "\t\t\t\t欢迎进入系统管理员系统!!\n"
 176 #define ad1 "\t\t ━━━━━━━━━━━━━━━━━━━━━━━\n"
 177 #define ad2 "\t\t┃        请选择你管理类别<输入0退出>         ┃\n"
 178 #define ad3 "\t\t┃ 1、查询管理员帐号 ┃ 2、新建管理员帐号     ┃\n"
 179 #define ad4 "\t\t┃ 3、删除管理员帐号 ┃ 4、修改系统管理员密码 ┃\n"
 180 #define ad5 "\t\t┃             5、输出管理员列表              ┃\n"
 181 #define adp1 "\t\t ━━━━━━━━━━━━━━━━ \n"
 182 #define adp2 "\t\t┃           管理员帐号         ┃\n"
 183 #define adp3 "\t\t┃%-4d┃%-24s┃\n"
 184 #define adp4 "\t\t ━━━━━━━━━━━━━━━━━━━━━━ \n"
 185 #define adp7 "\t\t┃              管理员帐号和密码            ┃\n"
 186 #define adp8 "\t\t┃          帐号          ┃      密码      ┃\n"
 187 #define adp5 "\t\t┃%-24s┃%-16s┃\n"
 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("暂时没有账户名!!\n");
 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\n",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\n",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\n",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("暂时没有账户名!!\n");
 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\n",name1,pass1);
 344         if(strcmp(name,name1)==0)
 345         {
 346             printf("是否删除?   【1.删除  2.不删除】\n");
 347             int b;
 348             scanf("%d",&b);
 349             if(b==2)
 350             {
 351                 fprintf(fp1,"%24s %16s\n",name1,pass1);
 352                 system("cls");
 353             }
 354         }
 355         else
 356         fprintf(fp1,"%24s %16s\n",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\n",pass);
 385     printf("您以成功修改系统管理员密码,请牢记!!!\n");
 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\n",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("暂时没有管理员帐号!!!\n");
 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 "管理员\n"
 432 #define asd "\t\t\t南阳理工"
 433 #define t1 "\t\t ━━━━━━━━━━━━━━━━━━━━━━ \n"
 434 #define t2 "\t\t┃  学籍录入  ┃   学籍输出   ┃  学籍查询  ┃\n"
 435 #define t3 "\t\t┃      1     ┃       2      ┃      3     ┃\n"
 436 #define t4 "\t\t┃  修改学籍  ┃   删除学籍   ┃  修改密码  ┃\n"
 437 #define t5 "\t\t┃      4     ┃       5      ┃      6     ┃\n"
 438 #define t6 "\t\t┃ 初始化密码 ┃ 一键初始密码 ┃    退出    ┃\n"
 439 #define t7 "\t\t┃      7     ┃       8      ┃      0     ┃\n"
 440 #define p1 " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ \n"
 441 #define p2 "┃  姓名  ┃ 性别 ┃ 年龄 ┃   系别   ┃   班级   ┃   学号   ┃    籍贯    ┃\n"
 442 #define p3 "┃%-8s┃  %2s  ┃  %2d  ┃%-10s┃%10s┃%10s┃%12s┃\n"
 443 #define c1 " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ \n"
 444 #define c2 "┃                      请选择你查询的分类 (0返回)                          ┃\n"
 445 #define c3 "┃ 1.姓名 ┃2.性别┃3.年龄┃  4.系别  ┃  5.班级  ┃  6.学号  ┃   7.籍贯   ┃\n"
 446 #define x2 "┃                 请选择你修改对象关键字的分类 (0返回)                     ┃\n"
 447 #define d1 "┃                 请选择你删除对象关键字的分类 (0返回)                     ┃\n"
 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"学籍管理系统\n");
 462         putchar('\n');
 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"学籍管理系统\n");  putchar('\n'); LR();break;
 471             case '2': system("cls"); printf(""asd"学籍管理系统\n");  putchar('\n'); PR();break;
 472             case '3': system("cls"); printf(""asd"学籍管理系统\n");  putchar('\n'); CX();break;
 473             case '4': system("cls"); printf(""asd"学籍管理系统\n");  putchar('\n'); XG();break;
 474             case '5': system("cls"); printf(""asd"学籍管理系统\n");  putchar('\n'); SC();break;
 475             case '6': system("cls"); printf(""asd"学籍管理系统\n");  putchar('\n'); XGMM(lkj);break;
 476             case '7': system("cls"); printf(""asd"学籍管理系统\n");  putchar('\n'); CSadMM();break;
 477             case '8': system("cls"); printf(""asd"学籍管理系统\n");  putchar('\n'); 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为录入完毕)\n");
 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\n",name,sex,age,scl,cl,stunum,phnum);
 528         fprintf(fp1,"%10s %10s\n",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\n",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("库中没有数据!!\n");
 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\n",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("查询不到此人的信息!!\n");
 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\n",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.不修改】\n");
 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\n",name1,sex1,age1,scl1,cl1,stunum1,phnum1);
 695                 fprintf(fp1,"%8s %2s %2d %10s %10s %10s %12s\n",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\n",name,sex,age,scl,cl,stunum,phnum);
 703                 system("cls");
 704             }
 705         }
 706         else
 707             fprintf(fp1,"%8s %2s %2d %10s %10s %10s %12s\n",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\n",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.不删除】\n");
 761             int b;
 762             scanf("%d",&b);
 763             if(b==2)
 764             {
 765                 fprintf(fp1,"%8s %2s %2d %10s %10s %10s %12s\n",name,sex,age,scl,cl,stunum,phnum);
 766                 fprintf(ft1,"%10s %10s\n",stunum,stunum);
 767                 system("cls");
 768             }
 769         }
 770         else
 771         {
 772             fprintf(fp1,"%8s %2s %2d %10s %10s %10s %12s\n",name,sex,age,scl,cl,stunum,phnum);
 773             fprintf(ft1,"%10s %10s\n",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\n",name,pass);
 810         if(strcmp(name,a)==0)
 811         fprintf(fp1,"%24s %16s\n",name,pass1);
 812         else
 813         fprintf(fp1,"%24s %16s\n",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("您已成功修改密码,请牢记!!!\n");
 821     else
 822     printf("密码修改失败!!!\n");
 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\n",name1,pass1);
 838         if(strcmp(name,name1)==0)
 839         fprintf(fp1,"%10s %10s\n",name,name);
 840         else
 841         fprintf(fp1,"%10s %10s\n",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("您已成功初始化密码,初始密码为学生学号,请牢记!!!\n");
 849     else
 850     printf("密码初始化失败!!!\n");
 851     getchar();
 852     system("cls");
 853 }
 854 void YJadMM()//一键初始化密码
 855 {
 856     fflush(stdin);
 857     printf("确认初始化全部学生的密码吗?<Y 确认  N 取消>\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\n",name1,pass1);
 869         fprintf(fp1,"%10s %10s\n",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("您已成功一键初始化密码,初始密码为学生学号,请牢记!!!\n");
 877     else
 878     printf("一键初始化失败!!!\n");
 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 "学生\n"
 889 #define s1 "\t\t ━━━━━━━━━━━━━━━━━━━━ \n"
 890 #define s2 "\t\t┃       学生学籍查询系统<0退出>        ┃\n"
 891 #define s3 "\t\t┃   查看个人信息   ┃     修改密码     ┃\n"
 892 #define s4 "\t\t┃         1        ┃         2        ┃\n"
 893 #define s5 "请选择:"
 894 #define p1 " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ \n"
 895 #define p2 "┃  姓名  ┃ 性别 ┃ 年龄 ┃   系别   ┃   班级   ┃   学号   ┃    籍贯    ┃\n"
 896 #define p3 "┃%-8s┃  %2s  ┃  %2d  ┃%-10s┃%10s┃%10s┃%12s┃\n"
 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\n",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\n",name,pass);
 971         if(strcmp(name,a)==0)
 972         fprintf(fp1,"%10s %10s\n",name,pass1);
 973         else
 974         fprintf(fp1,"%10s %10s\n",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("您已成功修改密码,请牢记!!!\n");
 982     else
 983     printf("密码修改失败!!!\n");
 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("学籍管理系统一键还原完毕!!!\n");
1005     getchar();
1006     return 0;
1007 }

 

posted @ 2013-06-23 09:52  nylg-haozi  阅读(1472)  评论(0编辑  收藏  举报