C语言宿舍管理系统源码.docx
- 文档编号:2841024
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:15
- 大小:16.98KB
C语言宿舍管理系统源码.docx
《C语言宿舍管理系统源码.docx》由会员分享,可在线阅读,更多相关《C语言宿舍管理系统源码.docx(15页珍藏版)》请在冰豆网上搜索。
C语言宿舍管理系统源码
#include
#include
#include
#include
#include
#defineMAX100
structDorm
{
charStnum[20];
intRmnum;
charname[20];
//structDorm*forward,back;
};
voidload(structDorms[]){
FILE*in_file;
in_file=fopen("dorm.txt","ra");
if(in_file==NULL)
{
printf("新建一个文件dorm.txt");
getch();
in_file=fopen("dorm.txt","w+");
}
else
fread(s,sizeof(structDorm),MAX,in_file);
fclose(in_file);
}
voidsave(structDorms[]){
FILE*out_file;
out_file=fopen("dorm.txt","w+");
fwrite(s,sizeof(structDorm),MAX,out_file);
fclose(out_file);
}
intcount(structDorms[]){
inti,count=0;
for(i=0;i if(s[i].Rmnum>0) count++; return(count); } voidadd(structDorms[]){ inti,j; system("cls"); load(s); printf("新增一个数据\n\n"); i=count(s); j=i; if(i printf("\n学号: ");fflush(stdin); gets(s[j].Stnum); printf("寝室号: ");fflush(stdin); scanf("%d",&s[j].Rmnum); printf("姓名: ");fflush(stdin); gets(s[j].name); } else printf("空间不够了T_T\a\n"); save(s); } intshow(structDorms[],intposition){ if(s[position].Rmnum>0) { printf("\n\t学号: %s;",s[position].Stnum); printf("\t\t寝室号: %d;",s[position].Rmnum); printf("\t姓名: %s;",s[position].name); } else { return0; } } voidshow_all(structDorms[]){ inti=0,j=1; system("cls"); printf("\n总共住了%d位学生",count(s)); if(j) { for(i=0;i { j=show(s,i); } } printf("\n按任意键继续! "); getch(); } //按寝室号查找 voidfind_Rmnum(structDorms[]){ inti=0,j=0; intRmnum; printf("\n你想找的寝室号是? : "); scanf("%d",&Rmnum); while(i if(s[i].Rmnum==Rmnum) {show(s,i);j++;} i++; } if(j==0)printf("无此宿舍! "); printf("\n按任意键继续! "); getch(); } //查询//二分查找学生号 voidfind_Stnum(structDorms[]){ inti=0,j=0,k; intStnum,ref; printf("\n你想找的学号是? : "); scanf("%d",&ref); while((ref! =Stnum)&&(i { k=count(s)/2; Stnum=atoi(s[k].Stnum); if(ref>Stnum) {k=k+k/2; Stnum=atoi(s[k].Stnum); } elseif(ref {k=k-k/2; Stnum=atoi(s[k].Stnum); } else { printf("已找到该人: \n"); show(s,Stnum); j++; } } if(j==0)printf("无此人! "); printf("\n按任意键继续! "); getch(); } voidfind_Name(structDorms[]){ inti=0,j=0; charName[10]; printf("\n你想找的姓名是? : "); while(getchar()! ='\n'); gets(Name); while(i if(strcmp(s[i].name,Name)==0) {show(s,i);j++;} i++; } if(j==0)printf("无此宿舍! "); printf("\n按任意键继续! "); getch(); } //查询的主菜单//////////////////////////////////////////////// voidfind(structDorms[]){ inti; do{ system("cls"); printf("查找\n\n"); printf("\n\t----------------------------------"); printf("\n\t按学号号查找\t1"); printf("\n\t按姓名查找\t2"); printf("\n\t按寝室号查找\t3"); printf("\n\t退出\t0"); printf("\n\t----------------------------------"); printf("\n\tOption: "); scanf("%d",&i); switch(i){ case1: find_Stnum(s);break; case2: find_Name(s);break; case3: find_Rmnum(s);break; case0: break; default: { printf("\n你选错啦\n按任意键继续! "); getch();} } }while(i! =0); } /////////////////////////////////////////////////////////////// ///删除全部 voiddelete_all(structDorms[]){ structDormnos[MAX]={"","",0,0}; s=nos; save(s); printf("所有信息都删除了.\n"); printf("\n按任意键继续! "); getch(); } //这个全部删除 voiddelete_(structDorms[]){ inti=0,j=0,x=0,y;charany[20]; load(s); y=count(s); printf("请输入学号\n"); while(getchar()! ='\n'); gets(any); for(i=0;i if(strcmp(s[i].Stnum,any)==0) {show(s,i); for(x=i;x s[x]=s[x+1]; j++;} } save(s); if(j==0)printf("查无此人"); elseprintf("这件学生已经删除.\n"); getch(); } ///////////////////////////////////////////////////////////////// //编辑 voideditt(structDorms[]){ delete_(s);getch(); printf("\n请新增一个学生."); getch(); add(s); } ////编辑主菜单//////////////////////////////////////////////// voidedit(structDorms[]){ inti; do{ system("cls"); printf("衣柜管理\n\n"); printf("\n\t------------------------------"); printf("\n\t修改一个信息\t1"); printf("\n\t仅删除一件衣服\t2"); printf("\n\t-----------------------------"); printf("\n\t退出\t0"); printf("\n\tOption: "); scanf("%d",&i); switch(i){ case1: editt(s);break; case2: delete_(s);break; case0: break; default: { printf("\n按错了,亲\n按任意键结束! "); getch();} } }while(i! =0); } /////////////////////////排序////////////////////////////////// voidpaixu_Rmnum(structDorms[])//按照宿舍号排序 { inti; structDorms1; for(i=0;i { if(s[i].Rmnum>s[i+1].Rmnum) { s1=s[i]; s[i]=s[i+1]; s[i+1]=s1; } } save(s); load(s); printf("按宿舍号排序结果: \n"); show_all(s); getch(); } voidpaixu_Stnum(structDorms[])//按照学生号排序 { inti,count1; structDorms1; for(count1=count(s);count1>0;count1--) { for(i=0;i { if(atoi(s[i].Stnum)>atoi(s[cou
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 宿舍 管理 系统 源码