学生宿舍管理系统实验内容和步骤.doc_第1页
学生宿舍管理系统实验内容和步骤.doc_第2页
学生宿舍管理系统实验内容和步骤.doc_第3页
学生宿舍管理系统实验内容和步骤.doc_第4页
学生宿舍管理系统实验内容和步骤.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实习内容前言为了巩固我们C语言知识,并了解其在生活中的应用,由老师为我们带来了这个题目。通过实习,学会为实际应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,从而对C语言程序设计这门课能有一个更深刻的理解和认识;再者,实习相对于平时试验课来说,要完成的是一个难度较大的可执行综合性程序,培养需求分析和系统架构等处理复杂问题的能力,从而极大的提高学生的编程能力以及撰写文档的能力;希望能通过实习,实际做到理论和实践紧密结合,同时也为后续课程打下坚实的基础知识。任务一1 系统需求分析本系统是对管理人员进行设计的,所以在需以管理员的身份去设计。该系统撮要实现的功能有:能够添加学生信息、查询学生信息、删除学生信息、系统运行开始要自动的导入学生信息、系统关闭要把学生的信息保存。2 系统环境要求操作系统:Windows xp编译环境:VC+6.03 系统功能及模块图图1.1学生宿舍管理系统模块图4 系统详细设计4.1 系统结构设计#define N 30typedef struct Room_Infor_infochar flour_num;int room_num;float area;int contain_people;int reside_people;struct Room_Infor_info *next;Room_Infor;Room_Infor roomN;Room_Infor *head;4.2 主要函数设计1.主函数:void main(),启动程序,触发其他函数。2.添加函数:void Add_room(),添加宿舍基本信息。3.删除函数:void Delete_room(),删除宿舍信息。4.查询函数:void Search_Room_Infor.(),查询功能。5.显示函数:void Print_room.(),显示所有宿舍信息。6.退出保存函数:void Save_Infor.(),退出之前保存数据。7.修改宿舍信息:void Modify_room.(),修改宿舍信息。4.3 系统主要流程图图1.2宿舍管理系统管理系统流程图5 系统测试方案模块测试正常功能测试正常性能测试正常压力测试正常6 系统实现下面分别对该模块中的具体功能进行详细描述,主要功能实现的代码和相应功能实现的界面截图。1. 添加功能的代码实现代码如下: void Add_room()Room_Infor*p,*q;Room_Infor*stud1;char flag=y;stud1=(Room_Infor*)malloc(sizeof(Room_Infor);while(flag=y|flag=Y)q=p=head;printf(请输入房间的基本信息:n);printf(楼层房间号面积几人间现在几个人n);scanf(%d%d%f%d%d,&stud1-flour_num,&stud1-room_num,&stud1-area,&stud1-contain_people,&stud1-reside_people); stud1-next=NULL;fflush(stdin);if(head=NULL)head=stud1;elsewhile(p-room_numroom_num&p-next!=NULL)q=p;p=p-next;if(p-room_numstud1-room_num)if(p=head) stud1-next=head;head=stud1;elseq-next=stud1;stud1-next=p;else p-next=stud1;stud1=(Room_Infor*)malloc(sizeof(Room_Infor);printf(继续添加新信息,继续请按yorY,否则按任意键退出:n);flag=getchar();free(stud1);2.修改功能的代码实现 代码如下: void Modify_room() int tage=0;int chiose; int room_num;float area;int contain_people;int reside_people;char flag=y;char flour_num;Room_Infor*p; printf(请输入待修改的房间号!n); scanf(%d,&room_num);p=head; while(flag=y|flag=Y)if(head=NULL) printf(房间不存在!n);while(p!=NULL) if(p-room_num=room_num) tage=1; printf(请选择要修改的信息!n); printf(1:n); printf(2:n); printf(3:n); printf(4:n); printf(5:n); printf(请选择1-5!n); scanf(%d,&chiose); switch(chiose) case 1:printf(请输入新的楼层数!n); scanf(%d,&flour_num); p-flour_num=flour_num;break; case 2:printf(请输入房间号!n); scanf(%d,&room_num); p-room_num=room_num;break; case 3:printf(请输入面积!n); scanf(%f,&area); p-area=area;break; case 4:printf(请输入能容纳的人数!n); scanf(%d,&contain_people); p-contain_people=contain_people;break; case 5:printf(请输入现有的人数!n); scanf(%d,&reside_people); p-reside_people=reside_people;break; default:printf(请检查是否输入错误!n);break; break; else p=p-next; if(tage=0) printf(没有此房间信息!n);tage=0; printf(继续修改请按:yorY,否则按任意键退出n); scanf(%c,&flag);4.查询宿舍信息代码的实现 代码如下: void Search_Room()Room_Infor*p;char flag=y;int room_num;int tage=0;while (flag=y|flag=Y)printf(请输入待查询的房间号!n);scanf(%d,&room_num);p=head;if (head=NULL)printf(目前没有房间信息!n);elsewhile(p!=NULL)if (p-room_num=room_num)tage=1; printf(信息如下:n);printf(%dt%dt%dt%dt%dn,p-flour_num,p-area,p-contain_people,p-reside_people);break;else p=p-next; if(tage=0)print(没有查找相关信息n); tage=0; printf(继续查询请按:y or Y,否者按任意键退出n); scanf(%c,&flag);任务二41 贪吃蛇游戏需求分析 贪吃蛇游戏是一款经典的休闲益智游戏,它可以锻炼人们的反应能力,尤其是在开发人的智力方面,很受人们的欢迎。本组该次小游戏程序设计包含二维数组、结构体,文件操作,鼠标操作及图形化函数等方面知识。具体需求概要如下:1.初始化游戏界面为600*600大小,并于坐标为(250,250)处显示游戏名称“贪吃蛇”,等待鼠标响应以开始游戏;2.在程序中用格子初始蛇长及蛇的位置,用W、S、A、D控制方向为上下左右进行游戏。游戏过程中,每吃到一次食物用For循环使蛇移动的speed增加,分数加10,蛇长加一格;3.蛇头咬到蛇尾or蛇头接触活动区域外围则Gameover,显示累计分数,游戏结束。42 贪吃蛇游戏环境要求该课程设计在设计与实验过程中需要在windows XP系统/windows 2000以上系统中进行,程序设计要求在visual C+6.0平台中进行,完成代码的编写、编译、调试、测试等工作。本游戏对计算机硬件和操作系统要求极低,所以在这里只是把自己的电脑硬件参数和系统参数列下: 操作系统:windows xp 软件环境:安装VC+6。43 贪吃蛇游戏功能及模块图2.1贪吃蛇游戏模块图44 贪吃蛇游戏详细设计先在程序中设计好数组元素与蛇,食物的对应关系;产生一个固定大小有边界的游戏区域,蛇从区域中随机一点出发,运动限制在游戏区域内;蛇的运动方向为直线运动,只走横和竖的方向,不走斜线;食物出现按随即分布原则,蛇吃掉一份后随即在游戏区域内出现一份新的食物;蛇的运动速度由得分来控制,得分越高,速度越快;得分按蛇每吃掉一个食物得10分计算;蛇的身体长度从3开始,每吃掉一个事物增加一个长度;游戏结束条件为:在控制过程中蛇头撞到墙壁或者与蛇身相撞。441 贪吃蛇游戏结构设计1.初始化模块:屏幕初始化,屏幕初始化用于显示游戏信息“贪吃蛇”;2.画图模块:设计绿色的边框,边框内用黑色无框格子填充作为游戏活动区域;3.游戏控制模块:运用函数控制蛇长及食物的关系,并使用键盘控制方向;4.帮助模块:。442 贪吃蛇游戏主要函数设计l snake函数:具体实现程序功能。调用的函数函数功能snake开始游戏并开始进入游戏初始化界面Color控制颜色变化Draw控制蛇的移动Free控制空间的释放Init函数的初始化Manual存取数据的函数gotoxy输出坐标的函数l play函数: 调用的函数函数功能initGraph初始化绘图环境DrawFence绘制游戏场景GamePlay设置蛇运动的各种状况并开始游戏PrScore输出成绩l GamePlay函数:给结构体snake 赋初值:snake.life = 0; /置蛇的生命状态为活着snake.direction = MV_RIGHT; /置蛇头方向往右snake.x0 = 100; snake.y0 = 100; /置蛇头初始位置snake.x1 = 110; snake.y1 = 100;snake.joint = 2; /置蛇的初始节数为2 给结构体food赋初值:food.addFood = 1; /1表示需要出现新食物,0表示已经存在食物初始化绘图环境为800*600像素的区域;在(170.150)处显示游戏标题“贪吃蛇”;等待操作者提供键盘信息以开始游戏;开始游戏后,用黑色边框显示活动区域。调用的函数函数功能PrScore显示游戏得分l GameOver函数:调用的函数函数功能cleardevice清除图形屏幕PrScore输出分数443 贪吃蛇游戏主要流程图图1.2贪吃蛇游戏流程图45 贪吃蛇游戏测试方案在window环境下装好visual C+6.0之后,打开visual C+6.0并新建文件夹,把贪食蛇游戏的源程序输入进去,然后运行,并发现错误,修改之后,把文件保存在软件的源文件里面,也就是project文件夹里。之后就可以成功运行贪食蛇游戏了。系统测试预期结果:蛇运行时如果撞到墙壁,则游戏结束。实际运效果:与预期结果一致,如下图图a 贪吃蛇撞到墙壁 图b 游戏结束预期的结果:当蛇的头部与蛇身相撞时,游戏应当结束。实际运效果:与预期结果一致,图c 蛇的头部与蛇身相撞图d 游戏结束46 贪吃蛇游戏的实现下面分别对该模块中的具体功能进行详细描述,主要功能实现的代码和相应功能实现的界面截图。游戏主要的代码实现:#include #include #define random(a,b) (rand()%(b)-(a)+(a)#include#include play.husing namespace std;#define MAX_JOINTS200#define MV_RIGHT 1#define MV_LEFT 2#define MV_UP 3#define MV_DOWN 4int rnd1,rnd2;vectorvox;vectorvoy;void play();void InitGraph(void);/*图形界面初始化函数*/void DrawFence(void);/*绘制游戏场景*/void GameOver(int score);/*结束游戏*/void GamePlay(void);/*玩游戏具体过程*/void PrScore(int score);void fun_pause();void fun

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论