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 }