版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、宿舍信息管理系统代码如下:include"stdio.h"#include"stdlib。h”include”string。h"#include "conio.h”struct recordchar numb20; /学号char name20; /姓名char room10; /宿舍号student500;int num=0;FILE fp;int menu(); /菜单主界面/int adduser(); /*输入记录/int list(); /*显示记录*/int searchbyname(); /按姓名查找*/int searchbyr
2、oom(); /按宿舍号查找/int searchbynumb(); /*按学号查找/int add(); /*添加记录/int change(); /*删除学生信息*/int dele(); /删除记录*/int save(); /*保存记录*/int exit(); /*结束*/menu() /主界面/ int i; printf("_ press any key enter menu! _* n"); getch(); system(”cls”); /*清屏*/ printf("tt*MENU*nn"); printf(”tt 0. 输入记录n”)
3、; printf(”tt 1. 显示记录 n”); printf(”tt 2. 按姓名查找n”); printf("tt 3。 按姓名查找n"); printf("tt 4. 按学号查找n”); printf("tt 5. 添加记录 n”); printf("tt 6. 修改学生信息n”); printf(”tt 7。 删除记录n”); printf(”tt 8. 记录保存文件n"); printf("tt 9. Quitn"); printf(”tt* n”); printf(”n Enter you choic
4、e(09):”); scanf(”d",i); return i; void main() for(;;) switch(menu()) case 0:adduser();break; /*调用输入函数*/ case 1:list();break; /*调用显示记录函数/ case 2:searchbyname();break; /调用按姓名查找函数*/ case 3:searchbyname();break; /*调用按宿舍号查找函数*/ case 4:searchbynumb();break; /*调用按学号查找函数/ case 5:add();break; /*调用添加函数/
5、case 6:change();break; /调用修改学生信息函数/ case 7:dele();break; /*调用删除函数*/ case 8:save();break; /*调用保存函数/ case 9:exit(0); adduser() /*输入记录*/ printf("ntt* 请输入用户信息 *n”); printf(”ntt输入学号:"); scanf("s",studentnum。numb); printf("ntt输入姓名:"); scanf("%s”,); printf(
6、”ntt输入宿舍号:”); scanf(”%s”,studentnum.room); num+; printf(”ntt是否继续添加?(Y/N):”);if (getch()=y) adduser();return(0);list() /*显示记录/ int i; if(num!=0) printf("ntt* 以下为宿舍信息管理系统所有信息*"); for (i=0;inum;i+) printf(”ntt学号: %s”,studenti.numb); printf("ntt姓名: s",); printf(”ntt宿舍号:
7、%s",studenti.room); printf(”tt”); if (i+1<num) printf(”ntt_"); printf("ntt*”); else printf("ntt宿舍信息管理系统中无任何纪录"); printf("ntt按任意键返回主菜单:”); getch(); return(0);searchbyname() /按姓名查找*/ int mark=0; int i; int a=0; printf(”ntt* 按姓名查找 *”); char name20; printf(”ntt请输入姓名:”);
8、scanf(”%s”,name); for(i=a;i<num;i+) if (strcmp(,name)=0) printf("ntt* 以下是您查找的用户信息 *"); printf("ntt学号: s”,studenti。numb); printf(”ntt姓名: s",); printf(”ntt宿舍号: %s”,studenti。room ); printf(”ntt*"); mark+; getch(); return(0); if (mark=0) printf("
9、;ntt没有该学生的信息"); printf("ntt按任意键返回主菜单"); getch(); return(0);return(0);searchbyroom() /*按学号查找/int mark=0;int i;int a=0;printf(”ntt* 按宿舍号查找 *”);char numb10;printf("ntt请输入宿舍号:");scanf("s",room);for(i=0;inum;i+) if (strcmp(studenti。room,room)=0) printf(”ntt* 以下是您查找的用户信息
10、 *"); printf("ntt学号: %s",studenti。numb); printf("ntt姓名: s",); printf("ntt宿舍号: %s",studenti.room); printf(”ntt*"); printf("ntt按任意键返回主菜单:”); mark+; if (i+1)num) printf("ntt是否继续查找相同宿舍号的用户信息:(y/n)”); if (getch()=y') a=i; continue; else r
11、eturn(0); else printf("ntt按任意键返回主菜单”); getch(); return(0); if(mark!=0) printf("ntt没有相同宿舍号的用户纪录"); printf(”ntt按任意键返回主菜单”); getch(); return(0); return(0);searchbynumb() /*按学号查找*/int mark=0;int i;int a=0;printf("ntt* 按学号查找 *");char numb10;printf("ntt请输入学号:”);scanf("s&
12、quot;,numb);for(i=0;inum;i+) if (strcmp(studenti.numb,numb)=0) printf("ntt* 以下是您查找的学生信息 *”); printf("ntt学号: s”,studenti.numb); printf("ntt姓名: %s”,); printf("ntt宿舍号: s”,studenti。room); printf(”ntt*"); printf(”ntt按任意键返回主菜单:”); mark+; getch(); return(0); if (mark=0
13、) printf("ntt没有该学生的信息"); printf(”ntt按任意键返回主菜单”); getch(); return(0);return(0);add() /*添加记录*/ int i; if ((fp=fopen("student.bin","wb”)=NULL) /*判断文件是否打开/ printf("ntt文件打开失败”); for (i=0;i<num;i+) if (fwrite(&studenti,sizeof(struct record),1,fp)!=1)/fwrite()(数据块的输出 )将
14、以数组studenti为首地址的一个sizeof(struct record)的大小的数据块写入fp指向的文件中/ printf(”ntt写入文件错误!n"); printf(”ntt* 请输入用户信息 *n”); printf("ntt输入学号:"); scanf(”%s”,studentnum.numb); printf(”ntt输入姓名:”); scanf("%s”,); printf(”ntt输入性别:"); scanf("%s”,studentnum.sex); num+; printf(&qu
15、ot;ntt是否继续添加?(Y/N):"); if (getch()='y) adduser(); return(0); fclose(fp); /*关闭fp所指向的文件*/ printf("ntt宿舍信息管理系统文件已保存”); printf("ntt按任意键退出程序ntt”); exit(0); return(0);change() /按学号修改*/int i,j; char numb;scanf("s",numb);for(i=0;i<num;i+)if(strcmp(studenti。numb,numb)=0)printf
16、(”ntt* 以下是您查找的用户信息 *”); printf("ntt学号: %s”,studenti。numb); printf("ntt姓名: %s",); printf(”ntt宿舍号: s”,studenti.room); printf(”ntt*”); printf("ntt是否要修改?(Y/N)n");if(getchar()=Y|getchar()='y')printf(”ntt*请输入第%d位的学生信息*”,i); printf(”ntt输入学号:"); scanf("
17、;%s",studentnum。numb); printf("ntt输入姓名:"); scanf("s”,); printf("ntt输入宿舍号:"); scanf("%s",studentnum.room); printf(”ntt*”);studenti=studenti;printf("ntt修改成功”);printf(”ntt是否继续修改?(y/n)");if (getch()='y' getch()=Y)plus();return;else
18、printf("ntt对不起,文件中无任何纪录”);printf(”ntt按任意键返回主菜单");getchar();return;void deletebynumb() /*按学号删除*/int i,j; int deletemark=0; /*将删除联系人的数目初始化为0*/char numb20; printf(”ntt请输入要删除学生学号:"); scanf(”s",numb); if(num=0) /num为0说明宿舍信息管理系统中还没有输入联系人*/ printf(”ntt对不起,文件中无任何纪录"); printf("n
19、tt按任意键返回主菜单"); getch(); return; for (i=0;i<num;i+) if (strcmp(studenti.numb,numb)=0) printf("ntt以下是您要删除的学生纪录:”); printf("ntt学号: %s",studenti。numb); printf("ntt姓名: s",); printf(”ntt性别: s”,studenti。room); printf("tt"); printf("ntt是否删除?(y/n)”
20、); if (getch()='y') for (j=i;j<num1;j+) studentj=studentj+1; /*将要删除的学生的后一位赋值给要删除的学生*/ num-; /宿舍信息管理系统中的学生数目减少1/ deletemark+; /*删除的联系人增加1*/ printf("ntt删除成功"); printf(”ntt是否继续删除?(y/n)"); if (getch()='y) /*输入y值,继续调用按学号函数删除/ deletebynumb(); return; else /*否则,返回值/ return; co
21、ntinue; /*跳出for循环,立即转向计算表达式3,对循环控制变量增量或减量*/ if (deletemark=0) /*若删除的学生数目为0,则说明没有删除学生信息管理系统里的学生/ printf(”ntt没有该学生的纪录”); printf(”ntt是否继续删除?(y/n)"); if (getch()='y) /输入y值,继续调用按学号函数删除*/ deletebynumb(); return; void deletebyname() /按姓名删除/int a=0;int findmark=0;int i,j;int deletemark=0;char name2
22、0; printf(”ntt请输入要删除学生姓名:”); scanf("%s",name);for (i=a;i<num;i+) if (strcmp(,name)=0) printf("ntt以下是您要删除的学生纪录:”); findmark+; printf("ntt_”); printf(”ntt学号: s",studenti.numb); printf(”ntt姓名: %s”,); printf("ntt性别: %s”,studenti。sex); printf(”nt
23、t出生日期: %s”,studenti。birth); printf(”ntt学位:%s”,studenti.degr); printf("ntt职务:%s",studenti.duty); printf("ntt电话号码:s”,studenti.tel); printf(”ntt_"); printf(”ntt是否删除?(y/n)"); if (getchar()='y) for (j=i;jnum-1;j+) studentj=studentj+1; num-; deletemark+; printf(”ntt删除成功”); printf("ntt是否继续删除?(y/n)”); i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 瓷砖供货合同协议2025年
- 2025年小产权房买卖合同范本购房者的法律风险防范3篇
- 2025年度农业用地土地流转与种植服务合同范本3篇
- 报废车辆买卖合同范本2025年
- 2025年度无人售货机租赁与技术创新合同范本3篇
- 2025年企业无抵押项目融资合同范本3篇
- 2025年连锁店统一装修合同
- 信用卡服务合同范本2025年
- 金融居间服务合同12025年
- 2025年私募基金管理人居间服务合同
- 国家开放大学《理工英语1》单元自测8试题答案
- 《尖利的物体会伤人》安全教育课件
- 大学生自主创业证明模板
- 少儿美术画画 童画暑假班 7岁-8岁 重彩 《北京烤鸭》
- 每日防火巡查情况记录表【范本模板】
- 所有质粒载体汇总
- 主蒸汽及再热热段管件技术协议-终版
- 《简·爱》-2022年中考一轮复习之必读名著对比阅读训练
- 交通灯课程设计交通灯控制器
- 肿瘤科常见急重症
- 03SG715-1蒸压轻质加气混凝土板(NACL)构造详图
评论
0/150
提交评论