




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生宿舍管理系统.txt52每个人都一条抛物线,天赋决定其开口,而最高点则需后天的努力。没有秋日落叶的飘零,何来新春绿芽的饿明丽?只有懂得失去,才会重新拥有。#include stdio.h #include iostream.h #include string.h #define ERROR 0 #define OK 1 #define MAXSIZE 2500 #define EQ(a,b) (a)=(b) typedef int Status; int N=4;/全局变量来储存所输入的个数; struct student /数据结构类型; char name10; int num; int room; ; /*-*/ Status Input() /数据输入; int i=0; int flag=1; char ch; FILE * fpdata; student stuMAXSIZE; if(fpdata=fopen(studata.txt,wb)=NULL) printf(cannot open studata.c file!); return ERROR; while(flag) printf(是否继续输入(Y/N):); cinch; if(ch=y|ch=Y) scanf(%s%d%d,,&stui.num,&stui.room); fwrite(&stui,sizeof(struct student),1,fpdata); i+; else flag=0; N=i; fclose(fpdata); printf(数据输入完成!n); return OK; Status Print(char *filename) /输出数据; FILE * fpdata; student st; int i=0; if(fpdata=fopen(filename,rb)=NULL) printf(cannot open studata.c file!); return ERROR; while(iN) fread(&st,sizeof(struct student),1,fpdata); printf(%s %d %dn,,st.num,st.room); i+; fclose(fpdata); return OK; /* * * * * * * * */ /* * * * * * * * */ Status NameSort() /姓名排序; int i,j; FILE * fpdata; FILE * fpnamesort; student stuMAXSIZE; if(fpdata=fopen(studata.txt,rb)=NULL) printf(cannot open data.c file!); return ERROR; for(i=1;i=N;i+) fread(&stui,sizeof(struct student),1,fpdata); fclose(fpdata); if(fpnamesort=fopen(namesort.txt,wb)=NULL) printf(cannot open nsort.c); return ERROR; for(i=2;i=N;i+) if(strcmp(,)0) strcpy(,); stu0.num=stui.num; stu0.room=stui.room; strcpy(,); stui.num=stui-1.num; stui.room=stui-1.room; for(j=i-2;(strcmp(,)0;j-) strcpy(stuj+1.name,); stuj+1.num=stuj.num; stuj+1.room=stuj.room; strcpy(stuj+1.name,); stuj+1.num=stu0.num; stuj+1.room=stu0.room; for(i=1;i=N;i+) fwrite(&stui,sizeof(struct student),1,fpnamesort); fclose(fpnamesort); return OK; /* * * * * * * * */ /* * * * * * * * */ Status NumSort() /学号排序; int i,j; FILE * fpdata; FILE * fpnumsort; student stuMAXSIZE; if(fpdata=fopen(studata.txt,rb)=NULL) printf(cannot open data.c file!); return ERROR; for(i=1;i=N;i+) fread(&stui,sizeof(struct student),1,fpdata); fclose(fpdata); if(fpnumsort=fopen(numsort.txt,wb)=NULL) printf(cannot open nsort.c); return ERROR; for(i=2;i=N;i+) if(stui.numstui-1.num) strcpy(,); stu0.num=stui.num; stu0.room=stui.room; strcpy(,); stui.num=stui-1.num; stui.room=stui-1.room; for(j=i-2;stu0.numstuj.num;j-) strcpy(stuj+1.name,); stuj+1.num=stuj.num; stuj+1.room=stuj.room; strcpy(stuj+1.name,); stuj+1.num=stu0.num; stuj+1.room=stu0.room; for(i=1;i=N;i+) fwrite(&stui,sizeof(struct student),1,fpnumsort); fclose(fpnumsort); return OK; /* * * * * * * * */ /* * * * * * * * */ Status RoomSort() /房间号排序; int i,j; FILE * fpdata; FILE * fproomsort; student stuMAXSIZE; if(fpdata=fopen(studata.txt,rb)=NULL) printf(cannot open data.c file!); return ERROR; for(i=1;i=N;i+) fread(&stui,sizeof(struct student),1,fpdata); fclose(fpdata); if(fproomsort=fopen(roomsort.txt,wb)=NULL) printf(cannot open nsort.c); return ERROR; for(i=2;i=N;i+) if(stui.roomstui-1.room) strcpy(,); stu0.num=stui.num; stu0.room=stui.room; strcpy(,); stui.num=stui-1.num; stui.room=stui-1.room; for(j=i-2;stu0.roomstuj.room;j-) strcpy(stuj+1.name,); stuj+1.num=stuj.num; stuj+1.room=stuj.room; strcpy(stuj+1.name,); stuj+1.num=stu0.num; stuj+1.room=stu0.room; for(i=1;i=N;i+) fwrite(&stui,sizeof(struct student),1,fproomsort); fclose(fproomsort); return OK; /* * * * * * * * */ /* * * * * * * * */ Status NameSearch(char * namekey) /按名字查询; /顺序查找 int i; FILE * f; student stuMAXSIZE; if(f=fopen(namesort.txt,rb)=NULL) printf(cannot open namesort.txt file!); return ERROR; for(i=1;i0;-m) if(!strcmp(,namekey) printf(%s %d %dn,,stum.num,stum.room); return m; fclose(f); if(flag0) printf(%s %d %dn,,stuflag.num,stuflag.room); else printf(对不起,没有找到相匹配的记录n); return OK; /* * * * * * * * */ /* * * * * * * * */ Status NumSearch(int key) /按学号查询; int i; FILE * f; student stuMAXSIZE; if(f=fopen(numsort.txt,rb)=NULL) printf(cannot open namesort.txt file!); return ERROR; for(i=1;i=N;i+) fread(&stui,sizeof(struct student),1,f); int low=1; int high=N; int mid; int flag=0; while(lowkey) high=mid-1; else low=mid+1; fclose(f); if(flag0) printf(%s %d %dn,,stuflag.num,stuflag.room); else printf(对不起,没有找到相匹配的记录n); return OK; /* * * * * * * * */ /* * * * * * * * */ Status RoomSearch(int key) /按房间号查询; int i; FILE * f; student stuMAXSIZE; if(f=fopen(roomsort.txt,rb)=NULL) printf(cannot open roomsort.txt file!); return ERROR; for(i=1;i0;-t) if(stut.room=key) printf(%s %d %dn,,stut.num,stut.room); return t; fclose(f); if(flag0) printf(%s %d %dn,,stuflag.num,stuflag.room); else printf(对不起,没有找到相匹配的记录n); return OK; /* * * * * * * * */ /* * * * main() * * * */ /* * * * * * * * */ void main() int num; int room; int flag,flag1,flag2; char cha; char name10; cout * 学生宿舍管理系统 *endl; printf( -Powered by GUOXIAOJIEn); printf(-n); cout是否需要录入入住学生信息(Y/N)cha1; if(cha1=Y|cha1=y) printf(-n); printf(请将住宿学生信息输入(姓名 学号 房间号)n); Input(); NameSort(); NumSort(); RoomSort(); while(flag) printf(-n); cout* 学生宿舍管理系统 *endl; printf(-n); printf(请选择操作:n); printf(A.按姓名查询n); printf(B.按学号查询n); printf(C.按房号查询n); printf(D.退出n); cout注意:字母请输入大写cha; switch(cha) case A : flag1=1; while(flag1) printf(-n); printf(A.输入要查询的名字n); printf(B.按姓名全部输出n); printf(C.返回n); printf(注意:字母请输入大写n); cincha; switch(cha) case A: scanf(%s,name); printf(查询结果为:n); printf(-n); NameSearch(name); printf(-n); break; case B: Print(namesort.txt); break; case C: flag1=0; break; default: printf(-n); printf(!你输入的命令无效。注意:命令字母请输入大写!n); break; case B : while(flag2) printf(-n); printf(A.输入要查询的学号n); printf(B.按学号全部输出n); printf(C.返回n); printf(注意:字母请输入大写n); cinc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 奇葩谜语题目及答案
- 判断函数题目及答案
- 科技创新创业大赛奖金申请策略与实战技巧深度分析报告
- spss上机题目及答案
- hpv相关题目及答案
- 2025年在线教育平台课程内容与用户体验满意度研究
- 化工新材料在生物材料领域的应用现状与2025年市场分析报告
- 2025-2030烘焙食品节日包装视觉营销与消费者决策关联研究
- 2025-2030智能建筑管理系统集成标准与市场准入研究
- 2025年二级建造师之二建水利水电实务模拟题库及答案下载
- 医院医学院医疗机构培训《烧伤病人护理教学查房》课件
- 家政服务协议书范本
- 中小学生研学旅行投标方案(技术方案)
- 货运车辆驾驶员心理健康考核试卷
- 物理八年级下册期末综合试卷含答案
- 新课标高一英语阅读理解60篇
- 成人手术后疼痛评估与护理-中华护理学会团体标准2023 2
- 第三届全国生态环境监测专业技术人员大比武江苏省赛试题库(含答案)
- 冷库货架制作合同范本
- 学历认证授权委托书样本
- 解除与养父母关系协议书
评论
0/150
提交评论