C語(yǔ)言實(shí)現(xiàn)宿舍管理課程設(shè)計(jì)
本文實(shí)例為大家分享了C語(yǔ)言實(shí)現(xiàn)宿舍管理的具體代碼,供大家參考,具體內(nèi)容如下
和本編前幾個(gè)程序結(jié)構(gòu)差不多,比較簡(jiǎn)單直觀,希望可以給你帶來(lái)幫助。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include<Windows.h> typedef struct student { ?? ?int might1; ?? ?int might2; ?? ?char user[20];//賬號(hào) ?? ?char mima[20];//密碼 ?? ?char name[20];//姓名 ? ? ?? ?char sex[5];//性別 ? ? ?? ?char num[20];//學(xué)號(hào)?? ? ? ?? ?char classs[20];//班級(jí)?? ? ?? ?char floor[20];//樓號(hào) ?? ?? ?char dorm[20];//宿舍號(hào)?? ? ?? ?struct student *next; }LinkList; void menu3(struct student *p,char us[20]); void menu1(struct student *p); void menu2(struct student *p); void menu33(struct student *p); void menu22(struct student *p); void savestudentFile(struct student *L); void Look(struct student *p) { ?? ?struct student *q=p->next; ?? ?char us[20]; ?? ?int flag = 0,i; ?? ?system("cls"); ?? ?printf("\t請(qǐng)輸入你要打印的學(xué)生的賬號(hào):\n"); ?? ?scanf("%s",us); ?? ?while (q!= NULL) ?? ?{ ?? ??? ?if(strcmp(q->user,us)==0) ?? ??? ?{ ?? ??? ??? ?printf("賬號(hào):%s,密碼:%s,姓名:%s,樓號(hào):%s,宿舍號(hào):%s\n",q->user,q->mima,q->name,q->floor,q->dorm); ?? ??? ??? ?flag=1; ?? ??? ?} ?? ??? ?q = q->next; ?? ?} ?? ?if (flag == 0) ?? ?{ ?? ??? ?printf("\t無(wú)該學(xué)生信息\n"); ?? ?} ?? ?printf("按回車(chē)返回菜單!\n"); ?? ?getchar(); ?? ?getchar(); ?? ?menu2(p); } void ADD(struct student *p) { ?? ?struct student *q, *n = p; ?? ?struct student *h = p->next; ?? ?int flag = 0; ?? ?system("cls"); ?? ?q = (struct student *)malloc(sizeof(struct student)); ?? ?q->next = NULL; ?? ?q->might1=0; ?? ?q->might2=2; ?? ?printf("請(qǐng)輸入選擇添加的學(xué)生:\n"); ?? ?printf("賬號(hào) :"); ?? ?scanf("%s",q->user); ?? ?printf("密碼 :"); ?? ?scanf("%s",q->mima); ?? ?printf("姓名 :"); ?? ?scanf("%s", q->name); ?? ?printf("性別 :"); ?? ?scanf("%s",q->sex); ?? ?printf("班級(jí) :"); ?? ?scanf("%s",q->classs); ?? ?printf("學(xué)號(hào) :"); ?? ?scanf("%s",q->num); ?? ?printf("樓號(hào) :"); ?? ?scanf("%s",q->floor); ?? ?printf("宿舍號(hào) :"); ?? ?scanf("%s",q->dorm); ?? ?getchar();? ?? ?while (h != NULL) ?? ?{ ?? ??? ?if (strcmp(h->user,q->user)==0) ?? ??? ?{ ?? ??? ??? ?flag = 1; ?? ??? ??? ?printf("\t該學(xué)號(hào)已存在\n"); ?? ??? ??? ?Sleep(1000); ?? ??? ??? ?ADD(p); ?? ??? ??? ?break; ?? ??? ?} ?? ??? ?h = h->next; ?? ?} ?? ?while (n->next != NULL) ?? ?{ ?? ??? ?n = n->next; ?? ?} ?? ?n->next=q; ?? ?if (flag == 0) ?? ?{ ?? ??? ?printf("\t添加成功\n"); ?? ??? ?printf("\t按任意鍵返回菜單\n"); ?? ?} ?? ?else ?? ??? ?printf("\t添加失敗\n"); ?? ?printf("按回車(chē)返回菜單!\n"); ?? ?getchar(); ?? ?menu2(p); } void Dele(struct student *p) { ?? ?struct student *q = p->next; ?? ?struct student *n = p; ?? ?char us[20]; ?? ?int flag = 0; ?? ?system("cls"); ?? ?printf("\t請(qǐng)輸入你要?jiǎng)h除的學(xué)生學(xué)號(hào)\n"); ?? ?scanf("%s", us); ?? ?while (q != NULL) ?? ?{ ?? ??? ?if (strcmp(q->user,us)==0) ?? ??? ?{ ?? ??? ??? ?flag = 1; ?? ??? ??? ?n->next = q->next; ?? ??? ??? ?break; ?? ??? ?} ?? ??? ?n = q; ?? ??? ?q = q->next; ?? ?} ?? ?if (flag != 1) ?? ?{ ?? ??? ?printf("\t無(wú)該學(xué)生信息\n"); ?? ?} ?? ?else ?? ?{ ?? ??? ?printf("\t刪除成功\n"); ?? ?} ?? ?printf("按回車(chē)返回菜單!\n"); ?? ?getchar(); ?? ?getchar(); ?? ?menu2(p); } void Quan(struct student *p) { ?? ?int i,m,j; ?? ?char us[20],mi[20],na[20],se[5],nu[20],cla[20],flo[20],dar[20]; ?? ?struct student *q=p->next->next; ?? ?printf("請(qǐng)輸入要修改的學(xué)生賬戶(hù):"); ?? ?scanf("%s",us); ?? ?while(q!=NULL) ?? ?{ ?? ??? ?if(strcmp(q->user,us)==0) ?? ??? ?{ ?? ??? ??? ?printf("請(qǐng)選擇將要修改的內(nèi)容:\n"); ?? ??? ??? ?printf("1.姓名\n"); ?? ??? ??? ?printf("2.性別\n"); ?? ??? ??? ?printf("3.學(xué)號(hào)\n"); ?? ??? ??? ?printf("4.班級(jí)\n"); ?? ??? ??? ?printf("5.樓號(hào)\n"); ?? ??? ??? ?printf("6.宿舍號(hào)\n"); ?? ??? ??? ?printf("7.賬號(hào)\n"); ?? ??? ??? ?printf("8.密碼\n"); ?? ??? ??? ?printf("9.凍結(jié)賬戶(hù)\n"); ?? ??? ??? ?printf("10.解凍賬號(hào)\n"); ?? ??? ??? ?printf("11.返回上一層\n"); ?? ??? ??? ?scanf("%d",&i); ?? ??? ??? ?switch(i) ?? ??? ??? ?{ ?? ??? ??? ?case 1:printf("新修改的姓名\n");scanf("%s",na);j=1;strcpy(q->name,na);break; ?? ??? ??? ?case 2:printf("新修改的性別\n");scanf("%s",se);j=1;strcpy(q->sex,se);break; ?? ??? ??? ?case 3:printf("新修改的學(xué)號(hào)\n");scanf("%s",nu);j=1;strcpy(q->num,nu);break; ?? ??? ??? ?case 4:printf("新修改的班級(jí)\n");scanf("%s",cla);j=1;strcpy(q->classs,cla);break; ?? ??? ??? ?case 5:printf("新修改的樓號(hào)\n");scanf("%s",flo);j=1;strcpy(q->floor,flo);break; ?? ??? ??? ?case 6:printf("新修改的宿舍號(hào)\n");scanf("%s",dar);j=1;strcpy(q->dorm,dar);break; ?? ??? ??? ?case 7:printf("新修改的賬號(hào)\n");scanf("%s",us);j=1;strcpy(q->user,us);break; ?? ??? ??? ?case 8:printf("新修改的密碼\n");scanf("%s",mi);j=1;strcpy(q->mima,mi);break; ?? ??? ??? ?case 9:j=1;q->might2=3;break; ?? ??? ??? ?case 10:j=1;q->might2=2;break; ?? ??? ??? ?case 11:menu2(p);break; ?? ??? ??? ?default:printf("請(qǐng)輸入合法量!\n");break; ?? ??? ??? ?} ?? ??? ?} ?? ??? ?q=q->next; ?? ?} ?? ?if(j==1) ?? ?{ ?? ??? ?printf("修改成功!\n"); ?? ?} ?? ?if(j==0) ?? ?{ ?? ??? ?printf("修改失?。n"); ?? ?} ?? ?printf("按回車(chē)返回菜單!\n"); ?? ?getchar(); ?? ?getchar(); ?? ?menu2(p); } void Browse(struct student *p,char us[20]) { ?? ?struct student *q = p->next; ?? ?int flag = 0; ?? ?system("cls"); ?? ?{ ?? ??? ?while (q != NULL) ?? ??? ?{ ?? ??? ??? ?if (strcmp(q->user,us)==0) ?? ??? ??? ?{ ?? ??? ??? ??? ?flag = 1; ?? ??? ??? ??? ?printf("\t該學(xué)生信息 ?姓名:%s ? 學(xué)號(hào):%d ? 性別:%s ? 班級(jí):%s ? 樓號(hào):%s ? 寢室號(hào):%s\n", q->name, q->num, q->sex, q->classs, q->floor,q->dorm); ?? ??? ??? ?} ?? ??? ??? ?q = q->next; ?? ??? ?} ?? ??? ?if (flag == 0) ?? ??? ?{ ?? ??? ??? ?printf("\t你無(wú)此權(quán)限\n"); ?? ??? ?} ?? ??? ?printf("按回車(chē)返回菜單!\n"); ?? ??? ?getchar(); ?? ??? ?getchar(); ?? ??? ?menu3(p,us); ?? ?} } void modify(struct student *p,char us[20]) { ?? ?struct student *q=p->next; ?? ?char mi[20],na[20],se[5],nu[20],cla[20],flo[20],dar[20]; ?? ?int j,i; ?? ?system("cls"); ?? ?printf("\n\n\n**********修改學(xué)生住宿信息**********\n"); ?? ?while(q!=NULL) ?? ?{ ?? ??? ?if(strcmp(q->user,us)==0) ?? ??? ?{ ?? ??? ??? ?printf("請(qǐng)選擇將要修改的內(nèi)容:\n"); ?? ??? ??? ?printf("1.姓名\n"); ?? ??? ??? ?printf("2.性別\n"); ?? ??? ??? ?printf("3.學(xué)號(hào)\n"); ?? ??? ??? ?printf("4.班級(jí)\n"); ?? ??? ??? ?printf("5.樓號(hào)\n"); ?? ??? ??? ?printf("6.宿舍號(hào)\n"); ?? ??? ??? ?printf("7.賬號(hào)\n"); ?? ??? ??? ?printf("8.密碼\n"); ?? ??? ??? ?printf("9.返回上一層\n"); ?? ??? ??? ?scanf("%d",&i); ?? ??? ??? ?switch(i) ?? ??? ??? ?{ ?? ??? ??? ?case 1:printf("新修改的姓名\n");scanf("%s",na);j=1;strcpy(q->name,na);break; ?? ??? ??? ?case 2:printf("新修改的性別\n");scanf("%s",se);j=1;strcpy(q->sex,se);break; ?? ??? ??? ?case 3:printf("新修改的學(xué)號(hào)\n");scanf("%s",nu);j=1;strcpy(q->num,nu);break; ?? ??? ??? ?case 4:printf("新修改的班級(jí)\n");scanf("%s",cla);j=1;strcpy(q->classs,cla);break; ?? ??? ??? ?case 5:printf("新修改的樓號(hào)\n");scanf("%s",flo);j=1;strcpy(q->floor,flo);break; ?? ??? ??? ?case 6:printf("新修改的宿舍號(hào)\n");scanf("%s",dar);j=1;strcpy(q->dorm,dar);break; ?? ??? ??? ?case 7:printf("新修改的賬號(hào)\n");scanf("%s",us);j=1;strcpy(q->user,us);break; ?? ??? ??? ?case 8:printf("新修改的密碼\n");scanf("%s",mi);j=1;strcpy(q->mima,mi);break; ?? ??? ??? ?case 9:menu2(p);break; ?? ??? ??? ?default:printf("請(qǐng)輸入合法量!\n");break; ?? ??? ??? ?} ?? ??? ?} ?? ??? ?q=q->next; ?? ?} ?? ?if(j==1) ?? ?{ ?? ??? ?printf("修改成功!\n"); ?? ?} ?? ?if(j==0) ?? ?{ ?? ??? ?printf("修改失敗!\n"); ?? ?} ?? ?printf("按回車(chē)返回菜單!\n"); ?? ?getchar(); ?? ?getchar(); ?? ?menu3(p,us); } void inquire(struct student *p,char us[20]) { ?? ?struct student *q = p->next; ?? ?char nu[20]; ?? ?char name[20]; ?? ?char flo[20]; ?? ?char dor[20]; ?? ?int k; ?? ?int flag=0; ?? ?system("cls"); ?? ?printf("\n\n\t\t\t1.按學(xué)號(hào)查詢(xún)\n"); ?? ?printf("\t\t\t2.按姓名查詢(xún)\n"); ?? ?printf("\t\t\t3.按樓號(hào)統(tǒng)計(jì)\n"); ?? ?printf("\t\t\t4.按樓號(hào)+寢室號(hào)查詢(xún)\n"); ?? ?printf("\t\t\t0.結(jié)束查詢(xún)返回上一層\n"); ?? ?printf("請(qǐng)選擇:"); ?? ?scanf("%d",&k); ?? ?switch(k) ?? ?{ ?? ?case 1: ?? ??? ?printf("\n\n\n**********按學(xué)號(hào)查詢(xún)**********\n"); ?? ??? ?printf("\n 請(qǐng)輸入要查詢(xún)的學(xué)號(hào):"); ?? ??? ?scanf("%s",nu); ?? ??? ?while (q != NULL) ?? ??? ?{ ?? ??? ??? ?if (strcmp(q->num,nu)==0) ?? ??? ??? ?{ ?? ??? ??? ??? ?flag=1; ?? ??? ??? ??? ?printf("\t該學(xué)生信息\n姓名:%s \n學(xué)號(hào):%d \n性別:%s \n班級(jí):%s \n樓號(hào):%s \n寢室號(hào):%s\n", ?q->name, q->num, q->sex, q->classs, q->floor, q->dorm); ?? ??? ??? ?} ?? ??? ??? ?q = q->next; ?? ??? ?} ?? ??? ??? ?break; ?? ?case 2: ?? ??? ?printf("\n\n\n**********按姓名查詢(xún)**********\n"); ?? ??? ?printf("\n 請(qǐng)輸入要查詢(xún)的姓名:"); ?? ??? ?scanf("%s",name);?? ??? ? ?? ??? ?while (q!=NULL) ?? ??? ?{ ?? ??? ??? ?if (strcmp(name,q->name)==0) ?? ??? ??? ?{ ?? ??? ??? ??? ?flag=1; ?? ??? ??? ??? ?printf("\t該學(xué)生信息\n姓名:%s \n學(xué)號(hào):%d \n性別:%s \n班級(jí):%s \n樓號(hào):%s \n寢室號(hào):%s\n", ?q->name, q->num, q->sex, q->classs, q->floor, q->dorm); ?? ??? ??? ?} ?? ??? ??? ?q = q->next; ?? ??? ?} ?? ??? ??? ?break; ?? ?case 3: ?? ??? ?printf("\n\n\n**********按樓號(hào)查詢(xún)**********\n"); ?? ??? ?printf("\n 請(qǐng)輸入要查詢(xún)的樓號(hào):"); ?? ??? ?scanf("%s",flo); ?? ??? ?getchar(); ?? ??? ?while (q != NULL) ?? ??? ?{ ?? ??? ??? ?if (strcmp(flo,q->floor)==0) ?? ??? ??? ?{ ?? ??? ??? ??? ?flag=1; ?? ??? ??? ??? ?printf("\t該學(xué)生信息\n姓名:%s \n學(xué)號(hào):%d \n性別:%s \n班級(jí):%s \n樓號(hào):%s \n寢室號(hào):%s\n", ?q->name, q->num, q->sex, q->classs, q->floor, q->dorm); ?? ??? ??? ?} ?? ??? ??? ?q = q->next; ?? ??? ?} ?? ??? ??? ?break; ?? ?case 4: ?? ??? ?printf("\n\n\n**********按樓號(hào)+寢室號(hào)查詢(xún)**********\n"); ?? ??? ?printf("\n 請(qǐng)輸入要查詢(xún)的樓號(hào)+寢室號(hào):"); ?? ??? ?scanf("%s %s",flo,dor); ?? ??? ?while (q != NULL) ?? ??? ?{ ?? ??? ??? ?if ((strcmp(flo,q->floor)==0)&&(strcmp(dor,q->dorm)==0)) ?? ??? ??? ?{ ?? ??? ??? ??? ?flag=1; ?? ??? ??? ??? ?printf("\t該學(xué)生信息\n姓名:%s \n學(xué)號(hào):%d \n性別:%s \n班級(jí):%s \n樓號(hào):%s \n寢室號(hào):%s\n", ?q->name, q->num, q->sex, q->classs, q->floor, q->dorm); ?? ??? ??? ?} ?? ??? ??? ?q = q->next; ?? ??? ?} ?? ??? ??? ?break; ?? ?case 0:menu3(p,us);break; ?? ?} ?? ?if(flag==0) ?? ?{ ?? ??? ?printf("無(wú)此信息!"); ?? ??? ?Sleep(1500); ?? ??? ?menu3(p,us); ?? ?} ?? ?if(flag==1) ?? ?{ ?? ??? ?printf("查詢(xún)成功!\n"); ?? ??? ?printf("按回車(chē)返回菜單!\n"); ?? ??? ?getchar(); ?? ??? ?menu3(p,us); ?? ?} } void statistics(struct student *p,char us[20]) { ?? ?struct student *q = p->next; ?? ?char cla[20]; ?? ?char name[20]; ?? ?char flo[20]; ?? ?char dor[20]; ?? ?int flag=0,k; ?? ?system("cls"); ?? ?printf("\n\n\t\t\t1.按班級(jí)統(tǒng)計(jì)\n"); ?? ?printf("\t\t\t2.按樓號(hào)統(tǒng)計(jì)\n"); ?? ?printf("\t\t\t3.按樓號(hào)+寢室號(hào)統(tǒng)計(jì)\n"); ?? ?printf("\t\t\t0.結(jié)束查詢(xún)返回上一層\n"); ?? ?printf("請(qǐng)選擇:"); ?? ?scanf("%d",&k); ?? ?switch(k) ?? ?{ ?? ?case 1: ?? ??? ?printf("\n\n\n**********按班級(jí)查詢(xún)**********\n"); ?? ??? ?printf("\n 請(qǐng)輸入要查詢(xún)的班級(jí):"); ?? ??? ?scanf("%s",cla); ?? ??? ?while (q != NULL) ?? ??? ?{ ?? ??? ??? ?if (strcmp(q->classs,cla)==0) ?? ??? ??? ?{ ?? ??? ??? ??? ?flag=1; ?? ??? ??? ??? ?printf("\t該學(xué)生信息\n姓名:%s \n學(xué)號(hào):%d \n性別:%s \n班級(jí):%s \n樓號(hào):%s \n寢室號(hào):%s\n", ?q->name, q->num, q->sex, q->classs, q->floor, q->dorm); ?? ??? ??? ?} ?? ??? ??? ?q = q->next; ?? ??? ?} ?? ??? ??? ?break; ?? ?case 2: ?? ??? ?printf("\n\n\n**********按樓號(hào)查詢(xún)**********\n"); ?? ??? ?printf("\n 請(qǐng)輸入要查詢(xún)的樓號(hào):"); ?? ??? ?scanf("%s",flo); ?? ??? ?while (q != NULL) ?? ??? ?{ ?? ??? ??? ?if (strcmp(flo,q->floor)==0) ?? ??? ??? ?{ ?? ??? ??? ??? ?flag=1; ?? ??? ??? ??? ?printf("\t該學(xué)生信息\n姓名:%s \n學(xué)號(hào):%d \n性別:%s \n班級(jí):%s \n樓號(hào):%s \n寢室號(hào):%s\n", ?q->name, q->num, q->sex, q->classs, q->floor, q->dorm); ?? ??? ??? ?} ?? ??? ??? ?q = q->next; ?? ??? ?} ?? ??? ??? ?break; ?? ?case 3: ?? ??? ?printf("\n\n\n**********按樓號(hào)+寢室號(hào)查詢(xún)**********\n"); ?? ??? ?printf("\n 請(qǐng)輸入要查詢(xún)的樓號(hào)+寢室號(hào):"); ?? ??? ?scanf("%s%s",flo,dor); ?? ??? ?while (q != NULL) ?? ??? ?{ ?? ??? ??? ?if ((strcmp(flo,q->floor)==0)&&(strcmp(dor,q->dorm)==0)) ?? ??? ??? ?{ ?? ??? ??? ??? ?flag=1; ?? ??? ??? ??? ?printf("\t該學(xué)生信息\n姓名:%s \n學(xué)號(hào):%d \n性別:%s \n班級(jí):%s \n樓號(hào):%s \n寢室號(hào):%s\n", ?q->name, q->num, q->sex, q->classs, q->floor, q->dorm); ?? ??? ??? ?} ?? ??? ??? ?q = q->next; ?? ??? ?} ?? ??? ??? ?break; ?? ?case 0:menu3(p,us);break; ?? ?} ?? ?if(flag==0) ?? ?{ ?? ??? ?printf("無(wú)此信息!\n"); ?? ??? ?Sleep(1500); ?? ??? ?menu3(p,us); ?? ?} ?? ?if(flag==1) ?? ?{ ?? ??? ?printf("查詢(xún)成功!"); ?? ??? ?printf("按回車(chē)返回菜單!\n"); ?? ??? ?getchar(); ?? ??? ?menu3(p,us); ?? ?} } void amend(LinkList *p) { ?? ?struct student *q=p->next; ?? ?char acc[20],poss[20],ac[20]; ?? ?int flag=0,i; ?? ?system("cls"); ?? ?printf("請(qǐng)輸入要修改的賬號(hào):"); ?? ?scanf("%s",acc); ?? ?while(q!=NULL) ?? ?{ ?? ??? ?if(strcmp(q->user,acc)==0) ?? ??? ?{ ?? ??? ??? ?flag=1; ?? ??? ??? ?printf("1.僅修改密碼\n2.密碼賬戶(hù)均修改\n"); ?? ??? ??? ?scanf("%d",&i); ?? ??? ??? ?if(i==1) ?? ??? ??? ?{ ?? ??? ??? ??? ?printf("請(qǐng)輸入新密碼:"); ?? ??? ??? ??? ?scanf("%s",poss); ?? ??? ??? ??? ?strcpy(q->mima,poss);break; ?? ??? ??? ?} ?? ??? ??? ?if(i==2) ?? ??? ??? ?{ ?? ??? ??? ??? ?printf("請(qǐng)輸入新賬號(hào):"); ?? ??? ??? ??? ?scanf("%s",ac); ?? ??? ??? ??? ?getchar(); ?? ??? ??? ??? ?printf("請(qǐng)輸入新密碼:"); ?? ??? ??? ??? ?scanf("%s",poss); ?? ??? ??? ??? ?strcpy(q->user,ac); ?? ??? ??? ??? ?strcpy(q->mima,poss);break; ?? ??? ??? ?} ?? ??? ?} ?? ??? ?q=q->next; ?? ?} ?? ?if(flag==0) ?? ?{ ?? ??? ?printf("賬戶(hù)錯(cuò)誤!\n"); ?? ??? ?printf("\t請(qǐng)按回車(chē)鍵返回菜單\n"); ?? ?} ?? ?if(flag==1) ?? ?{ ?? ??? ?printf("修改成功!\n"); ?? ??? ?printf("\t請(qǐng)按回車(chē)鍵返回菜單\n"); ?? ?} ?? ?getchar(); ?? ?getchar(); ?? ?menu2(p); } void menu33(struct student *p) { ?? ?int i=0; ?? ?struct student *h=p->next->next; ?? ?struct student *t; ?? ?char a[20],b[20]; ?? ?system("cls"); ?? ?printf("請(qǐng)輸入賬戶(hù):"); ?? ?scanf("%s",a); ?? ?getchar(); ?? ?printf("請(qǐng)輸入密碼:"); ?? ?scanf("%s",b); ?? ?getchar(); ?? ?while(h!=NULL) ?? ?{ ?? ??? ?if((strcmp(h->user,a)==0)&&(strcmp(h->mima,b)==0)) ?? ??? ?{ ?? ??? ??? ?t=h; ?? ??? ??? ?if(h->might2==2) ?? ??? ??? ?{ ?? ??? ??? ??? ?i=1; ?? ??? ??? ??? ?menu3(p,a);break; ?? ??? ??? ??? ? ?? ??? ??? ?} ?? ??? ?} ?? ??? ?h=h->next; ?? ?} ?? ?if(t->might2==3) ?? ?{ ?? ??? ?printf("該賬號(hào)已被凍結(jié)"); ?? ??? ?Sleep(2000); ?? ??? ?menu1(p); ?? ?} ?? ?if(i==0) ?? ?{ ?? ??? ?printf("密碼或賬號(hào)錯(cuò)誤!\n"); ?? ??? ?Sleep(2000); ?? ??? ?menu1(p); ?? ?} } void menu3(struct student *p,char us[20]) { ?? ?int i; ?? ?system("cls"); ?? ?while(1) ?? ?{ ?? ??? ?printf("?? ??? ?*****************************************\n"); ?? ??? ?printf("?? ??? ?***** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *****\n"); ?? ??? ?printf("?? ??? ?***** ? ? 歡迎使用宿舍管理系統(tǒng) ? ? ?*****\n"); ?? ??? ?printf("?? ??? ?**** ? ? ? ? 1.個(gè)人信息瀏覽 ? ? ? ? ?****\n"); ?? ??? ?printf("?? ??? ?**** ? ? ? ? 2.個(gè)人信息修改 ? ? ? ? ?****\n"); ?? ??? ?printf("?? ??? ?**** ? ? ? ? 3.宿舍信息查詢(xún) ? ? ? ? ?****\n"); ?? ??? ?printf("?? ??? ?**** ? ? ? ? 4.宿舍信息統(tǒng)計(jì) ? ? ? ? ?****\n"); ?? ??? ?printf("?? ??? ?**** ? ? ? ? 5.返回上一層 ? ? ? ? ? ?****\n"); ?? ??? ?printf("?? ??? ?**** ? ? ? ? 6.退出 ? ? ? ? ? ? ? ? ?****\n"); ?? ??? ?printf("?? ??? ?*****************************************\n"); ?? ??? ?scanf("%d",&i); ?? ??? ?switch(i) ?? ??? ?{ ?? ??? ?case 1:Browse(p,us);break;//個(gè)人信息瀏覽 ?? ??? ?case 2:modify(p,us);break;//個(gè)人信息修改 ?? ??? ?case 3:inquire(p,us);break;//宿舍信息查詢(xún) ?? ??? ?case 4: statistics(p,us);break;//宿舍信息統(tǒng)計(jì)? ?? ??? ?case 5:menu1(p);break; ?? ??? ?case 6:savestudentFile(p);exit(0); ?? ??? ?default:printf("\t輸入不合法量\n"); ?? ??? ?} ?? ?} } void menu22(struct student *p) { ?? ?struct student *h=p->next; ?? ?char a[20],b[20]; ?? ?int i=0; ?? ?system("cls"); ?? ?printf("請(qǐng)輸入賬戶(hù):"); ?? ?scanf("%s",a); ?? ?getchar(); ?? ?printf("請(qǐng)輸入密碼:"); ?? ?scanf("%s",b); ?? ?getchar(); ?? ?while(h!=NULL) ?? ?{ ?? ??? ?if((strcmp(h->user,a)==0)&&(strcmp(h->mima,b)==0)) ?? ??? ?{ ?? ??? ??? ?i=1; ?? ??? ??? ?menu2(p);break; ?? ??? ?} ?? ??? ?h=h->next; ?? ?} ?? ?if(i==0) ?? ?{ ?? ??? ?printf("密碼或賬號(hào)錯(cuò)誤!\n"); ?? ??? ?Sleep(2000); ?? ??? ?menu1(p); ?? ?} } void menu2(struct student *p) { ?? ?int c; ?? ?system("cls"); ?? ?while(1) ?? ?{ ?? ??? ?printf("?? ??? ?****************************************\n"); ?? ??? ?printf("?? ??? ?***** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?*****\n"); ?? ??? ?printf("?? ??? ?***** ? ? 歡迎使用宿舍管理系統(tǒng) ? ? *****\n"); ?? ??? ?printf("?? ??? ?**** ? ? ? ? 1.用戶(hù)資料打印 ? ? ? ? ****\n"); ?? ??? ?printf("?? ??? ?**** ? ? ? ? 2.添加用戶(hù) ? ? ? ? ? ? ****\n"); ?? ??? ?printf("?? ??? ?**** ? ? ? ? 3.刪除用戶(hù) ? ? ? ? ? ? ****\n"); ?? ??? ?printf("?? ??? ?**** ? ? ? ? 4.修改用戶(hù)信息(權(quán)限 )****\n"); ?? ??? ?printf("?? ??? ?**** ? ? ? ? 5.返回上一層 ? ? ? ? ? ****\n"); ?? ??? ?printf("?? ??? ?**** ? ? ? ? 6.修改密碼 ? ? ? ? ? ? ****\n"); ?? ??? ?printf("?? ??? ?**** ? ? ? ? 7.退出 ? ? ? ? ? ? ? ? ****\n"); ?? ??? ?printf("?? ??? ?****************************************\n");? ?? ??? ?scanf("%d",&c); ?? ??? ?switch(c) ?? ??? ?{ ?? ??? ?case 1:Look(p);break;//用戶(hù)資料打印 ?? ??? ?case 2:ADD(p);break;//添加用戶(hù) ?? ??? ?case 3:Dele(p);break;//刪除用戶(hù) ?? ??? ?case 4:Quan(p);break;//修改用戶(hù)權(quán)限? ?? ??? ?case 5:menu1(p);break; ?? ??? ?case 6:amend(p);break; ?? ??? ?case 7:savestudentFile(p);exit(0); ?? ??? ?default:printf("請(qǐng)輸入合法量!\n"); ?? ??? ?} ?? ?} } void menu1(struct student *p) { ?? ?int a; ?? ?system("cls"); ?? ?while(1) ?? ?{ ?? ??? ?printf("?? ??? ?*****************************************\n"); ?? ??? ?printf("?? ??? ?***** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *****\n"); ?? ??? ?printf("?? ??? ?***** ? ? 歡迎使用宿舍管理系統(tǒng) ? ? ?*****\n"); ?? ??? ?printf("?? ??? ?***** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *****\n"); ?? ??? ?printf("?? ??? ?***** ? ? ? ? ?1.管理員登陸 ? ? ? ? *****\n"); ?? ??? ?printf("?? ??? ?***** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *****\n"); ?? ??? ?printf("?? ??? ?***** ? ? ? ? ?2.用戶(hù)登陸 ? ? ? ? ? *****\n"); ?? ??? ?printf("?? ??? ?***** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *****\n"); ?? ??? ?printf("?? ??? ?***** ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *****\n"); ?? ??? ?printf("?? ??? ?*****************************************\n"); ?? ??? ?scanf("%d",&a); ?? ??? ?switch(a) ?? ??? ?{ ?? ??? ?case 1:menu22(p);break; ?? ??? ?case 2:menu33(p);break; ?? ??? ?case 3:exit(0);break; ?? ??? ?default:printf("請(qǐng)輸入合法量!\n"); ?? ??? ?} ?? ?} } void savestudentFile(struct student *L) { ?? ?FILE *fp; ?? ?struct student *p; ?? ?p=L->next; ?? ?fp=fopen("dorm.txt","w"); ?? ?if(fp==NULL) ?? ?{ ?? ??? ?printf("無(wú)法打開(kāi)此文件\n"); ?? ??? ?exit(0); ?? ?} ?? ?while(p) ?? ?{ ?? ??? ?fprintf(fp,"%d %d %s %s %s %s %s %s %s %s \n",p->might1,p->might2,p->user,p->mima,p->name,p->sex,p->num,p->classs,p->floor,p->dorm); ?? ??? ?p=p->next; ?? ?} ?? ?fclose(fp); } void ListInsert(struct student *L,struct student *n) { ?? ?struct student *q=L; ?? ?n->next=NULL; ?? ?while(q->next!=NULL) ?? ?{ ?? ??? ?q=q->next; ?? ?} ?? ?q->next=n; } void readstudentput(struct student *L) { ?? ?FILE *fp; ?? ?struct student *n; ?? ?struct student *m; ?? ?char us[20],mi[20],na[20],se[5],nu[20],cla[20],flo[20],dar[20],a[20],b[20]; ?? ?int mi1,mi2; ?? ?fp=fopen("dorm.txt","r"); ?? ?if(fp==NULL) ?? ?{ ?? ??? ?fp=fopen("dorm.txt","w"); ?? ??? ?exit(0); ?? ?} ?? ?else ?? ?{ ?? ??? ?if(fgetc(fp)==-1) ?? ??? ?{ ?? ??? ??? ?printf("此賬號(hào)初次使用:\n請(qǐng)輸入初始賬號(hào):"); ?? ??? ??? ?scanf("%s",a); ?? ??? ??? ?getchar(); ?? ??? ??? ?printf("請(qǐng)輸入初始密碼:"); ?? ??? ??? ?scanf("%s", b);? ?? ??? ??? ?getchar(); ?? ??? ??? ?m=(struct student *)malloc(sizeof(LinkList)); ?? ??? ??? ?strcpy(m->user,a);//初始賬戶(hù) ?? ??? ??? ?strcpy(m->mima,b);//初始密碼 ?? ??? ??? ?strcpy(m->name ,"0"); ?? ??? ??? ?strcpy(m->sex ,"0"); ?? ??? ??? ?strcpy(m->num ,"0"); ?? ??? ??? ?strcpy(m->classs ,"0"); ?? ??? ??? ?strcpy(m->floor ,"0"); ?? ??? ??? ?strcpy(m->dorm,"0"); ?? ??? ??? ?m->might1=1; ?? ??? ??? ?m->might2=0; ?? ??? ??? ?m->next=NULL; ?? ??? ??? ?L->next=m; ?? ??? ?} ?? ??? ?if(fgetc(fp)!=-1) ?? ??? ?{ ?? ??? ??? ?fseek(fp,-2L,1); ?? ??? ?} ?? ??? ?while(!feof(fp)) ?? ??? ?{ ?? ??? ??? ?fscanf(fp,"%d %d %s %s %s %s %s %s %s %s ",&mi1,&mi2,us,mi,na,se,nu,cla,flo,dar); ?? ??? ??? ?n=(struct student *)malloc(sizeof(struct student)); ?? ??? ??? ?strcpy(n->user,us); ?? ??? ??? ?strcpy(n->mima,mi); ?? ??? ??? ?strcpy(n->name ,na); ?? ??? ??? ?strcpy(n->sex ,se); ?? ??? ??? ?strcpy(n->num ,nu); ?? ??? ??? ?strcpy(n->classs ,cla); ?? ??? ??? ?strcpy(n->floor ,flo); ?? ??? ??? ?strcpy(n->dorm,dar); ?? ??? ??? ?n->might1=mi1; ?? ??? ??? ?n->might2=mi2; ?? ??? ??? ?ListInsert(L,n); ?? ??? ?} ?? ?} ?? ?fclose(fp); } int main() { ?? ?struct student *p; ?? ?p = (struct student *)malloc(sizeof(struct student)); ?? ?p->next = NULL; ?? ?readstudentput(p); ?? ?menu1(p); ?? ?system("pause"); ?? ?return 0; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用C語(yǔ)言實(shí)例描述程序中的內(nèi)聚和耦合問(wèn)題
這篇文章主要介紹了用C語(yǔ)言實(shí)例描述程序中的內(nèi)聚和耦合,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08理解C++編程中的std::function函數(shù)封裝
這篇文章主要介紹了理解C++編程中的std::function函數(shù)封裝,std::function是C++11標(biāo)準(zhǔn)中的新特性,需要的朋友可以參考下2016-04-04C語(yǔ)言如何求整數(shù)的位數(shù)及各位數(shù)字之和
這篇文章主要介紹了C語(yǔ)言如何求整數(shù)的位數(shù)及各位數(shù)字之和,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11C語(yǔ)言循環(huán)鏈表實(shí)現(xiàn)貪吃蛇游戲
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言循環(huán)鏈表實(shí)現(xiàn)貪吃蛇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11C++ 中 const和static readonly區(qū)別
這篇文章主要介紹了C++ 中 const和static readonly區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-05-05