ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:16.91KB ,
资源ID:29644542      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29644542.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(学生宿舍管理系统.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

学生宿舍管理系统.docx

1、学生宿舍管理系统学生宿舍管理系统1课程设计的目的进一步掌握和利用C语言进行程设计的能力,理解和运用结构化程设计的思想和方法,熟练掌握条件语句、循环、数组、函数操作,初步掌握开发一个小型实用系统的基本方法,学会高度一个较长程序的基本方法和利用流程图或N-S图表示算法,将本课程所学的知识合理地运用于实践当中。适当了解一些书上没有的函数及使用方法。2设计分工与合作:在本设计中,其中 1. 输入记录、 2. 显示记录 、 6. 按姓名查找,删除一条记录、 7 查找并显示一个记录程序等程序代码由(学号:222009322072035)完成,其中 3. 按房间号排序并显示、 4. 按学号排序并显示、 5.

2、 插入一条记录按学号排序并显示等程序代码由。3设计方案论证21设计思路利用数组对宿舍的记录进行循环输入输出,利用冒泡法记录进行排序,利用循环查找数组中某个数据,对其进行显示,删除,读入和写入文档等操作。2. 2 N-S图4.具体程序代码:#include /*引用库函数*/#include#include#includetypedef struct /*定义结构体数组*/ char roomnum4; /*房间号*/ char bednum2; /*床位号*/ char num10; /*学号*/ char name20; /*姓名*/ Student;Student room11000; /

3、*结构体数组变量*/int menu_select() /*菜单函数*/ char c; do system(cls); /*运行前清屏*/ printf(tt学生宿舍管理系统n); /*菜单选择*/ 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. 从

4、文件中读入数据 n); printf(tt 9. 循环写入数据 n); printf(tt 0. 结束程序 n); printf(ttn); printf(tt请选择您要运行的选项按(0-9):); c=getchar(); /*读入选择*/ while(c9); return(c-0); /*返回选择*/int Input(Student room,int n) /*输入若干条记录*/int i=0;char sign,x10; /*x10为清除多余的数据所用*/while(sign!=n&sign!=N) /*判断*/ printf(tt房间号:); /*交互输入*/ scanf(tt%s

5、&,roomn+i.roomnum); printf(tt床位号:); scanf(tt%s,&roomn+i.bednum); printf(tt学号:); scanf(tt%s,&roomn+i.num); printf(tt姓名:); scanf(tt%s,&roomn+i.name); gets(x); /*清除多余的输入*/ printf(tt是否继续输入?(Y/N); scanf(tt%c,&sign); /*输入判断*/ i+;return(n+i);void Display(Student room,int n) /*显示所有记录*/int i;printf(tt-n); /*

6、格式头*/printf(tt房间号 床位号 学号 姓名 n);printf(tt-n);for(i=1;i1&i%10=0) /*每十个暂停*/ printf(tt-n); /*格式*/ printf(tt);system(pause); printf(tt-n); printf(tt);system(pause);void Sort_by_num(Student room,int n) /*按学号排序*/ int i,j,*p,*q,s; char t10; for(i=0;in-1;i+) /*冒泡法排序*/ for(j=0;j0) strcpy(t,roomj+1.bednum); st

7、rcpy(roomj+1.bednum,roomj.bednum); strcpy(roomj.bednum,t); strcpy(t,roomj+1.num); strcpy(roomj+1.num,roomj.num); strcpy(roomj.num,t); strcpy(t,roomj+1.name); strcpy(roomj+1.name,roomj.name); strcpy(roomj.name,t); void Sort_by_roomnum(Student room,int n) /*按房间号排序*/ int i,j,*p,*q,s; char t10; for(i=0;

8、in-1;i+) /*冒泡法排序*/ for(j=0;j0) strcpy(t,roomj+1.roomnum); strcpy(roomj+1.roomnum,roomj.roomnum); strcpy(roomj.roomnum,t); strcpy(t,roomj+1.bednum); strcpy(roomj+1.bednum,roomj.bednum); strcpy(roomj.bednum,t); strcpy(t,roomj+1.num); strcpy(roomj+1.num,roomj.num); strcpy(roomj.num,t); strcpy(t,roomj+1

9、.name); strcpy(roomj+1.name,roomj.name); strcpy(roomj.name,t); int Insert_a_record(Student room,int n) /*插入一条记录*/char x100; /*清除多余输入所用*/ printf(tt学生房间号:); /*交互式输入*/ scanf(tt%s,&roomn.roomnum); printf(tt学生床位号:); scanf(tt%s,&roomn.bednum); printf(tt学生学号:); scanf(tt%s,&roomn.num); printf(tt学生姓名:); scan

10、f(tt%s,&roomn.name); gets(x); n+; Sort_by_num(room,n); /*调用排序函数*/ printf(tt插入记录成功!n); /*返回成功信息*/ return(n);int Delete_a_record(Student room,int n) /*按姓名查找,删除一条记录*/ char s20; int i=0,j; printf(tt输入他(她)的姓名:); /*交互式问寻*/ scanf(%s,s); while(strcmp(roomi.name,s)!=0&in) i+; /*查找判断*/ if(i=n) printf(tt对不起没找到

11、该学生!n); /*返回失败信息*/ return(n); for(j=i;jn-1;j+) /*删除操作*/ strcpy(roomj.roomnum,roomj+1.roomnum); strcpy(roomj.bednum,roomj+1.bednum); strcpy(roomj.num,roomj+1.num); strcpy(roomj.name,roomj+1.name); printf(tt删除记录成功!n); /*返回成功信息*/ return(n-1);void Query_a_record(Student room,int n) /*查找并显示一个记录*/ char s2

12、0; int i=0; printf(tt输入他(她)的姓名:); /*交互式输入*/ scanf(tt%s,&s); while(strcmp(roomi.name,s)!=0&in) i+; /*查找判断*/ if(i=n) printf(tt对不起没找到该学生!n); /*输入失败信息*/ return; printf(tt他(她)的房间号:%sn,roomi.roomnum); /*输出该学生信息*/ printf(tt他(她)的床位号:%sn,roomi.bednum); printf(tt他(她)的学号:%sn,roomi.num);int AddfromText(Student

13、room,int n) /*从文件中读入数据*/ int i=0,num; FILE *fp; /*定义文件指针*/ char filename20; /*定义文件名*/ printf(tt输入文件名:);scanf(tt%s,&filename); /*输入文件名*/ if(fp=fopen(filename,rb)=NULL) /*打开文件*/ printf(tt无法打开该文件n); /*打开失败信息*/ printf(tt); system(pause); return(n); fscanf(fp,%d,&num); /*读入总记录量*/ while(inum) /*循环读入数据*/ f

14、scanf(fp,%s%s%s%s,roomn+i.roomnum,roomn+i.bednum,roomn+i.num,roomn+i.name); i+; n+=num; fclose(fp); /*关闭文件*/ printf(tt读入成功!n); printf(tt); system(pause); return(n);void WritetoText(Student room,int n) /*将所有记录写入文件*/int i=0;FILE *fp; /*定义文件指针*/char filename100; /*定义文件名*/ printf(tt循环写入数据n); /*输入文件名*/ p

15、rintf(tt输入文件名:); scanf(tt%s,&filename); if(fp=fopen(filename,w)=NULL) /*打开文件*/ printf(tt无法打开该文件n); system(pause); return; fprintf(fp,%dn,n); /*循环写入数据*/ while(in) fprintf(fp,%-10s%-10s%-10s%-10sn,roomi.roomnum,roomi.bednum,roomi.num,roomi.name); i+; fclose(fp); /*关闭文件*/ printf(写入成功!n); /*返回成功信息*/void

16、 main() /*主函数*/int n=0; for(;) switch(menu_select() /*选择判断*/ case 1: printf(tt输入记录n); /*输入若干条记录*/ n=Input(room1,n); break; case 2: printf(tt显示记录n); /*显示所有记录*/ Display(room1,n); break; case 3: printf(tt按房间号排序并显示n); Sort_by_roomnum(room1,n); /*按房间号排序*/ printf(tt排序成功!n); Display(room1,n); printf(tt); b

17、reak; case 4: printf(tt按学号排序并显示n); Sort_by_num(room1,n); /*按学号排序*/ printf(ttt排序成功!n); Display(room1,n); printf(tt); break; case 5: printf(tt插入一条记录按学号排序并显示n); n=Insert_a_record(room1,n); /*插入一条记录*/ Display(room1,n); printf(tt); break; case 6: printf(tt按姓名查找,删除一条记录n); n=Delete_a_record(room1,n); /*按姓名

18、查找,删除一条记录*/ printf(tt); system(pause); break; case 7: printf(tt查找并显示一个记录n); Query_a_record(room1,n); /*查找并显示一个记录*/ printf(tt); system(pause); break; case 8: printf(tt从文件中读入数据n); AddfromText(room1,n); /*从文件中读入数据*/ printf(tt); system(pause); break; case 9: printf(tt循环写入数据n); WritetoText(room1,n); /*循环写入数据*/ printf(tt); system(pause); break; case 0: printf(tt谢谢使用,祝您好运,再见!n); /*结束程序*/ printf(tt); system(pause); exit(0);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1