版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
资料内容仅供您学习参考,如有不当之处,请联系改正或者删除。学生宿舍管理系统.txt52每个人都一条抛物线,天赋决定其开口,而最高点则需后天的努力。没有秋日落叶的飘零,何来新春绿芽的饿明丽?只有懂得失去,才会重新拥有。#include"stdio.h"#include"iostream.h"#include"string.h"#defineERROR0#defineOK1#defineMAXSIZE2500#defineEQ(a,b)((a)==(b))typedefintStatus;intN=4;//全局变量来储存所输入的个数;structstudent{//数据结构类型;charname[10];intnum;introom;};/*--------------------------------------------------------------------------*/StatusInput(){//数据输入;inti=0;intflag=1;charch;FILE*fpdata;studentstu[MAXSIZE];if((fpdata=fopen("studata.txt","wb"))==NULL){printf("cannotopenstudata.cfile!");returnERROR;}while(flag){printf("是否继续输入(Y/N):");cin>>ch;if(ch=='y'||ch=='Y'){scanf("%s%d%d",stu[i].name,&stu[i].num,&stu[i].room);fwrite(&stu[i],sizeof(structstudent),1,fpdata);i++;}elseflag=0;}N=i;fclose(fpdata);printf("数据输入完成!\n");returnOK;}StatusPrint(char*filename){//输出数据;FILE*fpdata;studentst;inti=0;if((fpdata=fopen(filename,"rb"))==NULL){printf("cannotopenstudata.cfile!");returnERROR;}while(i<N){fread(&st,sizeof(structstudent),1,fpdata);printf("%s%d%d\n",,st.num,st.room);i++;}fclose(fpdata);returnOK;}/***************************************************************//***************************************************************/StatusNameSort(){//姓名排序;inti,j;FILE*fpdata;FILE*fpnamesort;studentstu[MAXSIZE];if((fpdata=fopen("studata.txt","rb"))==NULL){printf("cannotopendata.cfile!");returnERROR;}for(i=1;i<=N;i++){fread(&stu[i],sizeof(structstudent),1,fpdata);}fclose(fpdata);if((fpnamesort=fopen("namesort.txt","wb"))==NULL){printf("cannotopennsort.c");returnERROR;}for(i=2;i<=N;i++){if(strcmp(stu[i].name,stu[i-1].name)<0){strcpy(stu[0].name,stu[i].name);stu[0].num=stu[i].num;stu[0].room=stu[i].room;strcpy(stu[i].name,stu[i-1].name);stu[i].num=stu[i-1].num;stu[i].room=stu[i-1].room;for(j=i-2;(strcmp(stu[0].name,stu[j].name))<0;j--){strcpy(stu[j+1].name,stu[j].name);stu[j+1].num=stu[j].num;stu[j+1].room=stu[j].room;}strcpy(stu[j+1].name,stu[0].name);stu[j+1].num=stu[0].num;stu[j+1].room=stu[0].room;}}for(i=1;i<=N;i++){fwrite(&stu[i],sizeof(structstudent),1,fpnamesort);}fclose(fpnamesort);returnOK;}/***************************************************************//***************************************************************/StatusNumSort(){//学号排序;inti,j;FILE*fpdata;FILE*fpnumsort;studentstu[MAXSIZE];if((fpdata=fopen("studata.txt","rb"))==NULL){printf("cannotopendata.cfile!");returnERROR;}for(i=1;i<=N;i++){fread(&stu[i],sizeof(structstudent),1,fpdata);}fclose(fpdata);if((fpnumsort=fopen("numsort.txt","wb"))==NULL){printf("cannotopennsort.c");returnERROR;}for(i=2;i<=N;i++){if(stu[i].num<stu[i-1].num){strcpy(stu[0].name,stu[i].name);stu[0].num=stu[i].num;stu[0].room=stu[i].room;strcpy(stu[i].name,stu[i-1].name);stu[i].num=stu[i-1].num;stu[i].room=stu[i-1].room;for(j=i-2;stu[0].num<stu[j].num;j--){strcpy(stu[j+1].name,stu[j].name);stu[j+1].num=stu[j].num;stu[j+1].room=stu[j].room;}strcpy(stu[j+1].name,stu[0].name);stu[j+1].num=stu[0].num;stu[j+1].room=stu[0].room;}}for(i=1;i<=N;i++){fwrite(&stu[i],sizeof(structstudent),1,fpnumsort);}fclose(fpnumsort);returnOK;}/***************************************************************//***************************************************************/StatusRoomSort(){//房间号排序;inti,j;FILE*fpdata;FILE*fproomsort;studentstu[MAXSIZE];if((fpdata=fopen("studata.txt","rb"))==NULL){printf("cannotopendata.cfile!");returnERROR;}for(i=1;i<=N;i++){fread(&stu[i],sizeof(structstudent),1,fpdata);}fclose(fpdata);if((fproomsort=fopen("roomsort.txt","wb"))==NULL){printf("cannotopennsort.c");returnERROR;}for(i=2;i<=N;i++){if(stu[i].room<stu[i-1].room){strcpy(stu[0].name,stu[i].name);stu[0].num=stu[i].num;stu[0].room=stu[i].room;strcpy(stu[i].name,stu[i-1].name);stu[i].num=stu[i-1].num;stu[i].room=stu[i-1].room;for(j=i-2;stu[0].room<stu[j].room;j--){strcpy(stu[j+1].name,stu[j].name);stu[j+1].num=stu[j].num;stu[j+1].room=stu[j].room;}strcpy(stu[j+1].name,stu[0].name);stu[j+1].num=stu[0].num;stu[j+1].room=stu[0].room;}}for(i=1;i<=N;i++){fwrite(&stu[i],sizeof(structstudent),1,fproomsort);}fclose(fproomsort);returnOK;}/***************************************************************//***************************************************************/StatusNameSearch(char*namekey){//按名字查询;//顺序查找inti;FILE*f;studentstu[MAXSIZE];if((f=fopen("namesort.txt","rb"))==NULL){printf("cannotopennamesort.txtfile!");returnERROR;}for(i=1;i<=N;i++){fread(&stu[i],sizeof(structstudent),1,f);}intlow=1;inthigh=N;//intmid;intflag=0;intm=N;//charnamekey;//intt;strcpy(stu[0].name,namekey);for(m=N;m>0;--m){if(!strcmp(stu[m].name,namekey))printf("%s%d%d\n",stu[m].name,stu[m].num,stu[m].room);}returnm;fclose(f);if(flag>0){printf("%s%d%d\n",stu[flag].name,stu[flag].num,stu[flag].room);}elseprintf("对不起,没有找到相匹配的记录\n");returnOK;}/***************************************************************//***************************************************************/StatusNumSearch(intkey){//按学号查询;inti;FILE*f;studentstu[MAXSIZE];if((f=fopen("numsort.txt","rb"))==NULL){printf("cannotopennamesort.txtfile!");returnERROR;}for(i=1;i<=N;i++){fread(&stu[i],sizeof(structstudent),1,f);}intlow=1;inthigh=N;intmid;intflag=0;while(low<=high){mid=(low+high)/2;if(stu[mid].num==key){flag=mid;break;}else{if(stu[mid].num>key)high=mid-1;elselow=mid+1;}}fclose(f);if(flag>0){printf("%s%d%d\n",stu[flag].name,stu[flag].num,stu[flag].room);}elseprintf("对不起,没有找到相匹配的记录\n");returnOK;}/***************************************************************//***************************************************************/StatusRoomSearch(intkey){//按房间号查询;inti;FILE*f;studentstu[MAXSIZE];if((f=fopen("roomsort.txt","rb"))==NULL){printf("cannotopenroomsort.txtfile!");returnERROR;}for(i=1;i<=N;i++){fread(&stu[i],sizeof(structstudent),1,f);}intlow=1;inthigh=N;//intmid;intflag=0;intt;stu[0].room=key;for(t=N;t>0;--t){if(stu[t].room==key)printf("%s%d%d\n",stu[t].name,stu[t].num,stu[t].room);}returnt;fclose(f);if(flag>0){printf("%s%d%d\n",stu[flag].name,stu[flag].num,stu[flag].room);}elseprintf("对不起,没有找到相匹配的记录\n");returnOK;}/***************************************************************//**************************main()****************************//***************************************************************/voidmain(){intnum;introom;intflag,flag1,flag2;charcha;charname[10];cout<<"********学生宿舍管理系统********"<<endl;printf("------PoweredbyGUOXIAOJIE\n");printf("------------------------------------------------------\n");cout<<"是否需要录入入住学生信息(Y/N)"<<endl;charcha1;cin>>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<<"注意:字母请输入大写……"<<endl;cin>>cha;switch(cha){case'A':flag1=1;while(flag1){printf("------------------------------------------------------\n");printf("A.输入要查询的名字\n");printf("B.按姓名全部输出\n");printf("C.返回\n");printf("注意:字母请输入大写……\n");cin>>cha;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");cin>>cha;switch(cha){case'A':scanf("%d",&num);printf("查询结果为:\n");printf("------------------------------------------------------\n");NumSearch(num);break;case'B':Print("numsort.txt");break;case
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纸或纸板制告示牌项目运营指导方案
- 结肠镜项目营销计划书
- 个人贷款行业营销策略方案
- 就业前的背景调查服务行业市场调研分析报告
- 废旧轮胎再生利用行业营销策略方案
- 园林景观规划行业营销策略方案
- 化妆包产品供应链分析
- 5G智能支付行业经营分析报告
- 互联网广告服务行业营销策略方案
- 家用微波炉出租行业经营分析报告
- 2024-2025学年外研版英语八年级上册期末作文范文
- 四级劳动关系协调员试题库含答案
- 运城中学2023-2024学年八年级上学期期中考试数学试卷(含解析)
- 行长招聘面试题与参考回答(某大型集团公司)
- 河南省洛阳市2023-2024学年七年级上学期期中考试数学试卷(含答案)
- Unit 5 A healthy lifestyle教学设计-2024-2025学年译林版七年级英语上册(南通地区)
- 《轴对称图形》(教学设计)-2023-2024学年四年级下册数学青岛版(五四学制)
- 2024年国家能源集团公开招聘高频500题难、易错点模拟试题附带答案详解
- 演讲学智慧树知到答案2024年同济大学
- 电机与电气控制技术-课程标准
- 2024青岛版第4册第2单元第2课走近云端生活教学设计
评论
0/150
提交评论