您好,欢迎来到爱站旅游。
搜索
您的当前位置:首页宿舍管理系统源代码

宿舍管理系统源代码

来源:爱站旅游
#include #include #include typedef struct Student{ char name[20]; char sex[5]; int age;

char institute[20]; char specialty[30]; }Student;

typedef struct Room{ int roomnum; int roomarea; int totalnum; int stunum; Student stu[10]; Room *next; }Room;

typedef struct Story{ char storynum; Room *room; }Story;

/*-------------------------------------------------------------------------------------------------*/ Student *StudentCreat(int age,char name[],char institute[],char specialty[],char sex[]) {

Student *Stu;

Stu=(Student *)malloc(sizeof(Student)); Stu->age=age;

strcpy(Stu->institute,institute); strcpy(Stu->name,name);

strcpy(Stu->specialty,specialty); strcpy(Stu->sex,sex); return Stu; }

Room *RoomCreat(int room_num,int room_area,int total_num,int stu_num) {

Room *R; int i;

R=(Room *)malloc(sizeof(Room)); if(!R)return NULL;

R->roomnum=room_num;

R->roomarea=room_area; R->totalnum=total_num; R->stunum=stu_num; R->next=NULL; return R; }

Story *StoryCreat() {

Story *S;

S=(Story *)malloc(sizeof(Story)); S->room=RoomCreat(0,0,0,0); return S; }

Story *DormCreat() {

Story *S,*control; char i;

control=(Story *)malloc(26*sizeof(Story)); if(!control)return NULL; for(i='A';i<='Z';i++) {

S=StoryCreat(); S->storynum=i; control[i-'A']=*S; }

return control; }

/*-------------------------------------------------------------------------------------------------*/ Story *StorySearch(Story *control,char storynum) {

return control+(storynum-'A'); }

Room *RoomSearch(Room *R,int room_num) {

while(R->next!=NULL) {

if(R->next->roomnum==room_num)break; else R=R->next; }

return R; }

Student *StudentSearch(Room *R,char name[]) {

Student *p; int i;

R=R->next; p=R->stu;

for(i=0;istunum;i++) {

if(strcmp(p->name,name)==0)return p; else p++; }

return NULL; }

/*-------------------------------------------------------------------------------------------------*/ void RoomInsert(Story *S,Room *R) {

R->next=S->room->next; S->room->next=R; }

void StudentInsert(Room *R,Student *Stu) {

R=R->next;

R->stu[R->stunum]=*Stu; R->stunum++; }

void RoomDelete(Room *R) {

Room *p; R=R->next; p=R;

R=R->next; free(p); }

void StudentDelete(Room *R,Student *Stu) {

R=R->next; Student *p;

for(p=R->stu;Stustunum-1;Stu++)*Stu=*(Stu+1); R->stunum--; }

void RoomRevamp(Room *R) {

int i,k;

R=R->next;

printf(\"1、房号 2、面积 3、可容纳人数:\\n\"); printf(\"要修改那一项:\\n\"); scanf(\"%d\ switch(i) {

case 1:{

printf(\"房号:\"); scanf(\"%d\ R->roomnum=k; break; } case 2:{

printf(\"面积:\"); scanf(\"%d\ R->roomarea=k; break; } case 3:{

printf(\"可容纳人数:\"); scanf(\"%d\ R->totalnum =k; break; } } }

void StudentRevamp(Student *Stu) {

int i,k;

char str[30];

printf(\"1、姓名 2、性别 3、学院 4、专业 5、年龄:\\n\"); printf(\"要修改那一项:\\n\"); scanf(\"%d\ switch(i) {

case 1:{

printf(\"姓名:\"); scanf(\"%s\

strcpy(Stu->name,str); break;

} case 2:{

printf(\"性别:\"); scanf(\"%s\ strcpy(Stu->sex,str); break; } case 3:{

printf(\"学院:\"); scanf(\"%s\

strcpy(Stu->institute,str); break; } case 4:{

printf(\"专业:\"); scanf(\"%s\

strcpy(Stu->specialty,str); break; } case 5:{

printf(\"年龄:\"); scanf(\"%d\ Stu->age =k; break; } } }

/*-------------------------------------------------------------------------------------------------*/ void RoomScan(Room *R) {

int i;

Student *p; R=R->next;

printf(\"房号:%d\\n\ printf(\"面积:%d\\n\

printf(\"可容纳人数:%d\\n\ printf(\"已住入人数:%d\\n\ printf(\"成员:\");

for(i=0;istunum;i++) {

p=&(R->stu[i]);

printf(\"%s \ }

putchar('\\n'); }

void StudentScan(Student *Stu) {

printf(\"姓名:%s\\n\ printf(\"年龄:%d\\n\ printf(\"性别:%s\\n\ printf(\"学院:%s\\n\ printf(\"专业:%s\\n\}

int main() {

int roomnum,roomarea,totalnum,stunum,age; int event;

char name[20],institute[20],specialty[30],sex[5]; char storynum,judge; Story *control; Story *S; Room *R; Student *Stu;

control=DormCreat(); do {

printf(\"****************************注意**********************************\\n\");

printf(\"* 先录入宿舍信息才能录入学生信息 *\\n\");

printf(\"* 先录入信息才能删除浏览或修改信息 *\\n\");

printf(\"******************************************************************\\n\");

printf(\"\\n\\n\\n 宿舍管理系统 \\n\\n\\n\");

printf(\"功能选择菜单:\\n\");

printf(\"1、宿舍信息录入 2、学生信息录入 3、删除某个宿舍 4、删除某个学生\\n\");

printf(\"5、宿舍信息浏览 6、学生信息浏览 7、宿舍信息修改 8、学生信息修改\\n\");

scanf(\"%d\ switch(event) {

case 1: {

do {

printf(\"请输入宿舍房间号,房间面积,可容纳人数,已住入人数:(以空格隔开)\\n\");

fflush(stdin);

scanf(\"%c%d %d %d %d\ S=StorySearch(control,storynum);

R=RoomCreat(roomnum,roomarea,totalnum,stunum); RoomInsert(S,R);

printf(\"宿舍信息录入成功!\\n\"); fflush(stdin);

printf(\"是否继续录入宿舍信息(Y/N)\\n\"); scanf(\"%c\ }while(judge=='Y'); break; } case 2: {

do {

printf(\"请输入该生要入住的宿舍:\\n\"); fflush(stdin);

scanf(\"%c%d\ fflush(stdin);

S=StorySearch(control,storynum); R=S->room;

R=RoomSearch(R,roomnum); printf(\"请输入该生姓名,性别,学院,专业,年龄:(以空格隔开)\\n\");

scanf(\"%s%s%s%s\

scanf(\"%d\

Stu=StudentCreat(age,name,institute,specialty,sex);

StudentInsert(R,Stu);

printf(\"学生信息录入成功!\\n\"); fflush(stdin);

printf(\"是否继续录入学生信息(Y/N)\\n\"); scanf(\"%c\ }while(judge=='Y');

break; break; } case 3: {

do {

printf(\"请输入要删除的宿舍号码:\\n\"); fflush(stdin);

} case 4: {

scanf(\"%c%d\ fflush(stdin);

S=StorySearch(control,storynum); R=S->room;

R=RoomSearch(R,roomnum); RoomDelete(R);

printf(\"宿舍信息删除成功!\\n\"); fflush(stdin);

printf(\"是否继续删除宿舍信息(Y/N)\\n\"); scanf(\"%c\}while(judge=='Y'); break; break; do {

printf(\"请输入要删除学生现住宿舍:\\n\"); fflush(stdin);

scanf(\"%c%d\ fflush(stdin);

S=StorySearch(control,storynum); R=S->room;

R=RoomSearch(R,roomnum);

printf(\"请输入要删除学生的姓名:\\n\"); scanf(\"%s\

Stu=StudentSearch(R,name); StudentDelete(R,Stu);

printf(\"学生信息删除成功!\\n\"); fflush(stdin);

printf(\"是否继续删除学生信息(Y/N)\\n\"); scanf(\"%c\}while(judge=='Y'); break;

break; } case 5: {

do {

printf(\"请输入要浏览的宿舍号码:\\n\"); fflush(stdin);

scanf(\"%c%d\ } case 6: {

} case 7:

fflush(stdin);

S=StorySearch(control,storynum); R=S->room;

R=RoomSearch(R,roomnum); RoomScan(R); fflush(stdin);

printf(\"是否继续浏览宿舍(Y/N)\\n\"); scanf(\"%c\}while(judge=='Y'); break; break; do {

printf(\"请输入要浏览学生的宿舍号码:\\n\"); fflush(stdin);

scanf(\"%c%d\ fflush(stdin);

S=StorySearch(control,storynum); R=S->room;

R=RoomSearch(R,roomnum);

printf(\"请输入要浏览学生的姓名:\\n\"); scanf(\"%s\

Stu=StudentSearch(R,name); StudentScan(Stu); fflush(stdin);

printf(\"是否继续浏览学生(Y/N)\\n\"); scanf(\"%c\}while(judge=='Y'); break; break; {

do {

printf(\"请输入要修改的宿舍号码:\\n\"); fflush(stdin);

scanf(\"%c%d\ fflush(stdin);

S=StorySearch(control,storynum); R=S->room;

} case 8: {

} }

fflush(stdin);

R=RoomSearch(R,roomnum); RoomRevamp(R);

printf(\"宿舍信息修改成功!\\n\"); fflush(stdin);

printf(\"是否继续修改(Y/N)\\n\"); scanf(\"%c\}while(judge=='Y'); break; break; do {

printf(\"请输入要修改学生的宿舍号码:\\n\"); fflush(stdin);

scanf(\"%c%d\ fflush(stdin);

S=StorySearch(control,storynum); R=S->room;

R=RoomSearch(R,roomnum);

printf(\"请输入要修改学生的姓名:\\n\"); scanf(\"%s\

Stu=StudentSearch(R,name); StudentRevamp(Stu);

printf(\"学生信息修改成功!\\n\"); fflush(stdin);

printf(\"是否继续修改(Y/N)\\n\"); scanf(\"%c\}while(judge=='Y'); break; break;

printf(\"是否继续其他操作(Y/N)\\n\"); scanf(\"%c\ }while(judge=='Y'); system(\"pause\"); }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- azee.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务