版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct Student char name20; char sex5; int age; char institute20; char specialty30; Student;typedef struct Room int roomnum; int roomarea; int totalnum; int stunum; Student stu10; Room *next; Room; typedef struct Story ch
2、ar 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-&
3、gt;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 *StoryCr
4、eat() 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; controli-'A'=*S; r
5、eturn 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;
6、 R=R->next; p=R->stu; for(i=0;i<R->stunum;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->stuR->stunum=*Stu; R-&g
7、t;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;Stu<p+R->stunum-1;Stu+)*Stu=*(Stu+1); R->stunum-;void RoomRevamp(Room *R) int i,k; R=R->next; printf("1、房号 2、面积 3、可
8、容纳人数:n"); printf("要修改那一项:n"); scanf("%d",&i); switch(i) case 1: printf("房号:"); scanf("%d",&k); R->roomnum=k; break; case 2: printf("面积:"); scanf("%d",&k); R->roomarea=k; break; case 3: printf("可容纳人数:"); scan
9、f("%d",&k); R->totalnum =k; break; void StudentRevamp(Student *Stu) int i,k; char str30; printf("1、姓名 2、性别 3、学院 4、专业 5、年龄:n"); printf("要修改那一项:n"); scanf("%d",&i); switch(i) case 1: printf("姓名:"); scanf("%s",str); strcpy(Stu->n
10、ame,str); break; case 2: printf("性别:"); scanf("%s",str); strcpy(Stu->sex,str); break; case 3: printf("学院:"); scanf("%s",str); strcpy(Stu->institute,str); break; case 4: printf("专业:"); scanf("%s",str); strcpy(Stu->specialty,str); br
11、eak; case 5: printf("年龄:"); scanf("%d",&k); Stu->age =k; break; /*-*/ void RoomScan(Room *R) int i; Student *p; R=R->next; printf("房号:%dn",R->roomnum); printf("面积:%dn",R->roomarea); printf("可容纳人数:%dn",R->totalnum); printf("已住入
12、人数:%dn",R->stunum); printf("成员:"); for(i=0;i<R->stunum;i+) p=&(R->stui); printf("%s ",p->name); putchar('n');void StudentScan(Student *Stu) printf("姓名:%sn",Stu->name); printf("年龄:%dn",Stu->age); printf("性别:%sn",S
13、tu->sex); printf("学院:%sn",Stu->institute); printf("专业:%sn",Stu->specialty);int main() int roomnum,roomarea,totalnum,stunum,age; int event; char name20,institute20,specialty30,sex5; char storynum,judge; Story *control; Story *S; Room *R; Student *Stu; control=DormCreat();
14、 do printf("*注意*n"); printf("* 先录入宿舍信息才能录入学生信息 *n"); printf("* 先录入信息才能删除浏览或修改信息 *n"); printf("*n"); printf("nnn 宿舍管理系统 nnn"); printf("功能选择菜单:n"); printf("1、宿舍信息录入 2、学生信息录入 3、删除某个宿舍 4、删除某个学生n"); printf("5、宿舍信息浏览 6、学生信息浏览 7、宿舍信
15、息修改 8、学生信息修改n"); scanf("%d",&event); switch(event) case 1: do printf("请输入宿舍房间号,房间面积,可容纳人数,已住入人数:(以空格隔开)n"); fflush(stdin); scanf("%c%d %d %d %d",&storynum,&roomnum,&roomarea,&totalnum,&stunum); S=StorySearch(control,storynum); R=RoomCreat(ro
16、omnum,roomarea,totalnum,stunum); RoomInsert(S,R); printf("宿舍信息录入成功!n"); fflush(stdin); printf("是否继续录入宿舍信息(Y/N)n"); scanf("%c",&judge); while(judge='Y'); break; case 2: do printf("请输入该生要入住的宿舍:n"); fflush(stdin); scanf("%c%d",&storynum,
17、&roomnum); fflush(stdin); S=StorySearch(control,storynum); R=S->room; R=RoomSearch(R,roomnum); printf("请输入该生姓名,性别,学院,专业,年龄:(以空格隔开)n"); scanf("%s%s%s%s",name,sex,institute,specialty); scanf("%d",&age); Stu=StudentCreat(age,name,institute,specialty,sex); Studen
18、tInsert(R,Stu); printf("学生信息录入成功!n"); fflush(stdin); printf("是否继续录入学生信息(Y/N)n"); scanf("%c",&judge); while(judge='Y'); break; break; case 3: do printf("请输入要删除的宿舍号码:n"); fflush(stdin); scanf("%c%d",&storynum,&roomnum); fflush(stdin
19、); S=StorySearch(control,storynum); R=S->room; R=RoomSearch(R,roomnum); RoomDelete(R); printf("宿舍信息删除成功!n"); fflush(stdin); printf("是否继续删除宿舍信息(Y/N)n"); scanf("%c",&judge); while(judge='Y'); break; break; case 4: do printf("请输入要删除学生现住宿舍:n"); fflu
20、sh(stdin); scanf("%c%d",&storynum,&roomnum); fflush(stdin); S=StorySearch(control,storynum); R=S->room; R=RoomSearch(R,roomnum); printf("请输入要删除学生的姓名:n"); scanf("%s",name); Stu=StudentSearch(R,name); StudentDelete(R,Stu); printf("学生信息删除成功!n"); fflush
21、(stdin); printf("是否继续删除学生信息(Y/N)n"); scanf("%c",&judge); while(judge='Y'); break; break; case 5: do printf("请输入要浏览的宿舍号码:n"); fflush(stdin); scanf("%c%d",&storynum,&roomnum); fflush(stdin); S=StorySearch(control,storynum); R=S->room; R=Ro
22、omSearch(R,roomnum); RoomScan(R); fflush(stdin); printf("是否继续浏览宿舍(Y/N)n"); scanf("%c",&judge); while(judge='Y'); break; break; case 6: do printf("请输入要浏览学生的宿舍号码:n"); fflush(stdin); scanf("%c%d",&storynum,&roomnum); fflush(stdin); S=StorySear
23、ch(control,storynum); R=S->room; R=RoomSearch(R,roomnum); printf("请输入要浏览学生的姓名:n"); scanf("%s",name); Stu=StudentSearch(R,name); StudentScan(Stu); fflush(stdin); printf("是否继续浏览学生(Y/N)n"); scanf("%c",&judge); while(judge='Y'); break; break; case 7: do printf("请输入要修改的宿舍号码:n"); fflush(stdin); scanf("%c%d",&storynum,&roomnum); fflush(stdin); S=StorySearch(control,storynum); R=S->room; R=RoomSearch(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 棕草编织工安全强化测试考核试卷含答案
- 油品装卸工安全知识竞赛能力考核试卷含答案
- 锻件清理工变更管理考核试卷含答案
- 保健艾灸师岗前操作管理考核试卷含答案
- 铁渣处理工岗前实操知识技能考核试卷含答案
- 装饰美工安全专项考核试卷含答案
- 排水管道工岗前理论知识考核试卷含答案
- 涂装后处理工岗前责任心考核试卷含答案
- 餐厨垃圾处理工岗中工作质量考核试卷含答案
- 用电客户受理员安全风险水平考核试卷含答案
- 昭通市2026年市直事业单位公开选调工作人员(42人)笔试参考题库及答案解析
- 中证信用增进股份有限公司招聘笔试题库2026
- 小学六年级少先队建队日活动方案课件
- ISO9001-2026《质量管理体系-要求》正文与附录整合版(雷泽佳编辑-2026年9月)
- 重症医学科进修汇报
- 工厂电气设备点检标准规程
- 2025年下半年安徽交控驿达集团招聘3人笔试历年参考题库附带答案详解
- 山东青岛华通国有资本投资运营集团有限公司招聘笔试真题2025
- 2026年土木工程力学练习题大全
- 阿里地区古象雄环线沿线保护区外旅游基础设施建设项目水土保持报告表
- 起重机事故案例分析
评论
0/150
提交评论