欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語(yǔ)言實(shí)現(xiàn)宿舍管理課程設(shè)計(jì)

 更新時(shí)間:2022年03月25日 09:35:04   作者:N?J?H  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)宿舍管理課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(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++中反射調(diào)用.NET的方法(三)

    在C++中反射調(diào)用.NET的方法(三)

    在.NET與C++之間傳輸集合數(shù)據(jù)的方法是怎么樣的呢?接下來(lái)通過(guò)本文給大家分享在C++中反射調(diào)用.NET(三),需要的朋友參考下吧
    2017-02-02
  • 使用C語(yǔ)言實(shí)例描述程序中的內(nèi)聚和耦合問(wè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ù)封裝

    這篇文章主要介紹了理解C++編程中的std::function函數(shù)封裝,std::function是C++11標(biāo)準(zhǔn)中的新特性,需要的朋友可以參考下
    2016-04-04
  • C語(yǔ)言如何求整數(shù)的位數(shù)及各位數(shù)字之和

    C語(yǔ)言如何求整數(shù)的位數(shù)及各位數(shù)字之和

    這篇文章主要介紹了C語(yǔ)言如何求整數(shù)的位數(shù)及各位數(shù)字之和,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語(yǔ)言循環(huán)鏈表實(shí)現(xiàn)貪吃蛇游戲

    C語(yǔ)言循環(huán)鏈表實(shí)現(xiàn)貪吃蛇游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言循環(huán)鏈表實(shí)現(xiàn)貪吃蛇,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • C++ 中 const和static readonly區(qū)別

    C++ 中 const和static readonly區(qū)別

    這篇文章主要介紹了C++ 中 const和static readonly區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Qt繪制圖表的實(shí)現(xiàn)

    Qt繪制圖表的實(shí)現(xiàn)

    Qt中提供了強(qiáng)大的2D繪圖系統(tǒng),可以使用同一API實(shí)現(xiàn)在屏幕和繪圖設(shè)備上進(jìn)行繪制,本文就詳細(xì)的介紹了Qt繪制坐標(biāo)圖、柱狀圖、折線圖、餅圖、曲線圖、散點(diǎn)圖等,感興趣的可以了解一下
    2021-05-05
  • C++中cin的返回值問(wèn)題

    C++中cin的返回值問(wèn)題

    這篇文章主要介紹了C++中cin的返回值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • C語(yǔ)言中的二叉樹(shù)和堆詳解

    C語(yǔ)言中的二叉樹(shù)和堆詳解

    這篇文章主要介紹了C語(yǔ)言中的二叉樹(shù)和堆詳解,樹(shù)是一種非線性的數(shù)據(jù)結(jié)構(gòu),它是由n(n>=0)個(gè)有限結(jié)點(diǎn)組成一個(gè)具有層次關(guān)系的集合,把它叫做樹(shù)是因?yàn)樗雌饋?lái)像一棵倒掛的樹(shù),也就是說(shuō)它是根朝上,而葉朝下的,需要的朋友可以參考下
    2023-07-07
  • C++自定義函數(shù)判斷某年某月某日是這一年中第幾天

    C++自定義函數(shù)判斷某年某月某日是這一年中第幾天

    這篇文章主要介紹了C++自定義函數(shù)判斷某年某月某日是這一年中第幾天的方法,涉及C++日期與時(shí)間操作相關(guān)技巧,需要的朋友可以參考下
    2016-06-06

最新評(píng)論