数据结构课程设计报告模板(网络101)_第1页
数据结构课程设计报告模板(网络101)_第2页
数据结构课程设计报告模板(网络101)_第3页
数据结构课程设计报告模板(网络101)_第4页
数据结构课程设计报告模板(网络101)_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

淮 海 工 学 院 国际 学院 课程设计报告 设计名称: 面向对象程序设计 课程设计 选题名称: 姓 名: 王晟 学 号 2011123083 专业班级: 中新软 111 系 ( 院): 国际 学院 设计地点: 软件工程实验室、教室 指导教师评语: 签名: 年 月 日 成绩: 数据结构课程设计报告 第 1 页,共 页 1课程设计目的 1、训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定问题。 统设计、程序编码、测试等基本方法和技能; 行软件开发, 巩固、深化学生的理论知识,提高编程水平,并在此过程中培养他们严谨的科学态度和良好的工作作风。 2课程设计任务与要求: 任务 根据教材数据结构 言描述(耿国华主编)和参考书数据结构题集( C 语言版)(严蔚敏、吴伟民主编)选择课程设计题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设计及其实现等方面加深对课程基本内容的理解和综合运用。 设计题目从任务书所列选题表中选取,每班每题不得超过 2 人。 学生自选课题 学生原则上可以结合个人爱好自选课题,要求课 题有一定的深度与难度,有一定的算法复杂性,能够巩固数据结构课程所学的知识。学生自选课题需在 18 周前报课程设计指导教师批准方可生效。 要求: 1、在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。前期准备工作完备与否直接影响到后序上机调试工作的效率。在程序设计阶段应尽量利用已有的标准函数,加大代码的重用率。 2、 300 行以上代码),并具有一定的深度和难度。 3、 程序设计语言推荐使用 C/C+,程序书写规范,源程序需加必要的注释 ; 4、每位同学需提交可独立运行的程序; 5 、每位同学需独立提交设计报告书(每人一份),要求编排格式统一、规范、内容充实,不少于 10 页(代码不算); 6、课程设计实践作为培养学生动手能力的一种手段,单独考核 。 数据结构课程设计报告 第 2 页,共 页 3课程设计说明书 一 需求分析 程序以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入数据的序列进行模拟管理。栈以顺序结构实现,队列以链表结构实现。同时另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车。输入数据按到达或离去的时刻有序。当输入数据包括数据项为汽车的“到达”( A表示)信息,汽车标识(牌照号)以及到达时刻时,应输出汽车在停车场内或者便道上的停车位置;当输入数据包括数据项为汽车的“离去”( D表示)信息,汽车标识(牌照号)以及离去时刻时,应输出汽车在停车场停留的时间和应缴纳的费用(便道上停留的时间不收费);当输入数据项为( P, 0,0)时,应输出停车场的车数;当输入数据项为( W, 0, 0)时,应输出候车场车数;当输入数据项为( E, 0, 0),退出程序;若输入数据项不是以上所述,就输出 。 程序运行后进入循环,显示提示信息:“ of ,提示用户输入车辆信息(“到达”或者“离开”,车牌编号,到达或者离开的时间)。若车辆信息为“到达”,车辆信息开始进栈(模拟停车场),当栈满,会显示栈满信息:“ is ,同时车辆进队列(模拟停车场旁便道),并显示该进入便道车 辆的车牌编号,让用户知道该车的具体位置;若车辆信息为“离开”,会显示该车进入停车场的时间以及相应的停车费用,若该车较部分车早进停车场,这部分车需先退出停车场,暂时进入一个新栈为其让道,会显示进入新栈的车辆的车牌编号及其入停车场的时间,当待离开车离开停车场后,这部分车会重新进入停车场,同时便道上的第一辆车进入停车场;若输入( P, 0, 0),会显示停车场的车数;若输入( W, 0, 0),会显示便道上的车数;若输入( E, 0, 0),程序会跳出循环,同时程序结束;若输入为其他字母,程序会显示“ 报错 。若便道上没有车辆停靠,会显示便道为空的信息:用户每输入一组数据,程序就会根据相应输入给出输出。输入值第一个必须为字母,后两个为数字。 二 概要设计 数据结构课程设计报告 第 3 页,共 页 为了实现上述功能,该程序以栈模拟停车场以及临时停放为给要离去的汽车让路而从停车场退出来的汽车的场地,以队列模拟车场外的便道,因此需要栈和队列这两个抽象数据类型。 数据对象: D= ch a i n t ,i n t ,i n t ,|, ,, i=1,2,3.,n,n 0 数据关系: R=(,)| ,D, , 基 本操作: s,q,r); /根据 r 中车辆信息控制车辆是入栈 s 还是 入队 q 以及相关操作 s,q, a); /将到达车辆 a 的信息入栈 s 或者入队 q s,q, d); /将待离开车辆 d 出栈 s,并将 q 中相应车辆 入栈并进 行相关的操作 数据对象: D= , *, ic,i=1,2,3.,n,n 0 ; 数据关系: R= ; 基本操作: s,q,r); /根据 r 中车辆信息控制车辆是入栈 s 还是入队 q 以及相关操作 s,q, a); /将到达车辆 a 的信息入栈 s 或者入队 q s,q, d); /将待离开车辆 d 出栈 s,并将 q 中相应车 辆入栈并进行相关的操作 I 法流程图: 数据结构课程设计报告 第 4 页,共 页 开 始输 入 为 E ( e )输 入 为 P ( p )输 入 为 W ( w )输 入 为 A ( a )输 入 为 D ( d )输 出“ S T O P ! ”输 出 停 车 场车 辆 的 数 目输 出 便 道 上车 辆 数 目调 用 A _ c a r 调 用 D _ c a r 结 束法流程图: 数据结构课程设计报告 第 5 页,共 页 开 始停 车 场 未 满车 进 停 车 场车 进 便 道结 束法流程图: 开 始该 车 是 最 后 进停 车 场 的 车在 该 车 后 进 的 车 退出 停 车 场 后 让 其 结账 离 开结 账 离 开便 道 上 有 车便 道 上 第 一辆 车 进 停 车场结 束 第 6 页,共 页 主函数模块 栈单元模块:实现栈的抽象数据类型 队列单元模块:实现队列的抽象数据类型 调用关系: 主 函 数 模 块栈 单 元 模 块队 列 单 元 模 块三 详细设计 # #4 #n 2 #0 点类型和结点指针类型: ; ; 数据结构课程设计报告 第 7 页,共 页 # ; n; (s,q,r) *r)E|(*r)e) n); *r)P|(*r)p) of dn,(s-1); *r)W|(*r)w) of dn,q- *r)A|(*r)a) s,q,*r); *r)D|(*r)d) s,q,*r); n); 数据结构课程设计报告 第 8 页,共 页 s,q,a) t; if(s-(s-+; (s-(s-(s- is n); t=(); t-t-q-t; q-t; of in dn,q- q-; _s,q,d) i,j,l; x,y; p; k; if(s-x=s-y=x; n,x,y); if(q-0) is n); 数据结构课程设计报告 第 9 页,共 页 ; p=q-q-p-(s-p-(s-p); q-if(q-q-q-; i=0;i+) i) if(i=(s- n); 1; x=i)y=x; n,x,y); k=(); k-1; j=(s-ji;k-; (k-j)(k-j)数据结构课程设计报告 第 10 页,共 页 s- l=0;l+) in n); %d,%dn,(l)l) s-k-0) s-; (s-A; (s-k-(s-k-k- if(q-0) is n); ; s-; p=q-q-p-(s-p-(s-p); q-if(q-q-q-; 数据结构课程设计报告 第 11 页,共 页 s; q; p; i; s=(); s-1; q=(); p=(); p-q-q-p; q-; *n); * *n); * 停 车 场 管 理 系 统 *n); * *n); *n); i=0;i /*调用的头文件库声明 */ #4 #n 2 #0 /*用该结构体来存放车的状态,编号和时 间信息 */ ; /*用该栈来模拟停车场 */ n; /*用该结构体来存放临时让出的车辆的编号以及时间信息 */ ; /*用该栈来模拟临时让出的车辆的停靠场地 */ 数据结构课程设计报告 第 15 页,共 页 # /*链队结点的类型 */ ; /*用该链队来模拟便道 */ s,q,r) /*该算法通过传递来的车辆信息调 用相关函数实现操作 */ *r)E|(*r)e) /*若车辆状态为 E,终止程序 */ n); *r)P|(*r)p) /*若车辆状态为 P,输出停车场车辆数 */ of dn,(s-1); *r)W|(*r)w) /*若车辆状态为 W,输出便道车辆数 */ of dn,q- *r)A|(*r)a) /*若车辆状态为 A,调用 数 */ s,q,*r); *r)D|(*r)d) /*若车辆状态为 D,调用 数 */ s,q,*r); n); /*若车辆状态为其他字母,报错 */ s,q,a) /*该算法实现对车辆状态为到达的车辆的操 t; 作 */ if(s- /*若停车场还没有满,则车进停车场,并存入车辆的状态,车牌编 (s-+; 号和到达时间信息 */ (s-(s-(s- is n); /*若停车场已满,车进便道,并显示该车的车牌编 t=(); 号,同时记录便道车辆数目 */ t-t-q-t; q-t; of in dn,q- q-; _s,q,d) /*该算法实现车辆状态为离开的车 i,j,l; 辆的操作 */ x,y; p; 数据结构课程设计报告 第 16 页,共 页 k; if(s- /*若待离开车为最后进停车场的车的情况 */ x=s- y=x; /*直接计算停车时间,费用并离去 */ n,x,y); if(q-0) /*若便道上无车,函数返回 */ is n); ; /*若便道上有车,第一辆车进停车场 */ p=q-q-p-(s-p- /*并存入其车牌编号及进停车场的时间 */ (s-p); q-if(q- q-q- /*若此时便道上无车,返回 1*/ ; /*待离开的车不是最后进停车场的那辆车的情况 */ i=0;i+) /*先找到待离开车在停车场中的位置 */ i) if(i=(s- n); 1; x=i) /*计算待离开车的停车时间并计算费用 */ y=x; n,x,y); k=(); /*设立一个新栈临时停放为该车离开而让 k-1; 路的车辆 */ j=(s-ji;k-; (k-j)(k-j)s- l=0;l+) in n); %d,%dn,(l)l) /*显示在新栈中的车辆信息 */ s-k-0) /*将新栈中的车重新开入停车场中 */ s-; (s-A; 数据结构课程设计报告 第 17 页,共 页 (s-k-(s-k-k- if(q-0) /*若便道上无车,则返回 2,无车开入停车场中 */ is n); ; /*若便道上有车,则第一辆车开入停车场中 */ s-; p=q-q-p-(s-p-(s-p); q-if(q-q-q-; s; q; p; i; s=(); /*对停车场初始化 */ s-1; q=(); p=(); /*对便道初始化 */ p-q-q-p; q-; *n); * *n); * 停车场 管 理 系 统 *n); * *n); *n); 数据结构课程设计报告 第 18 页,共 页 i=0;ii+) /*输入车辆信息 */ of n); %c,%d,%d,&(aai&(aai&(aai; ; s,q,&aai); if(aaiE) 为期一周的数据库课程设计结束 了 , 在本次的课程设计中收获颇丰 , 从以下几个方面总1. 理论学习方面 : 通过这次的实习 , 我们对数据库原理理论有了更深刻的认识。尤其是数据库设计的各个阶段 , 以前只知道基本程序 , 现在对各个阶段的工作有了深刻的理解。在实习中对

温馨提示

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

评论

0/150

提交评论