- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]数据结构 电梯模拟 文件目录管理与显示 校园导航
数据结构课程设计
院系:
班级:
姓名:
学号:
题号:第二题
题目:电梯模拟
1、问题描述:
模拟某校九层教学楼的电梯系统。该楼有一个自动电梯,能在每层停留,其中第一层是大楼的进出层,即是电梯的“本垒层”,电梯“空闲”时,将来到该层候命。
电梯一共有七个状态,即正在开门(Opening)、已开门(Opened)、正在关门(Closing)、已关门(Closed)、等待(Waiting)、移动(Moving)、减速(Decelerate)。有人进出时,电梯每隔40t测试一次,若无人进出,则关门关门和开门各需要20t每个人进出电梯均需要25t电梯加速需要15t上升时,每一层需要51t,减速需要14t下降时,每一层需要61t,减速需要23t如果电梯在某层静止时间超过300t,则驶回1层候命。
…
创建时要检查同一路径下不能有同名的目录或文件名。
(3)设计文件和目录信息树的输出格式(以凹入表的形式显示)。
(4)查找指定目录和文件。
(5)添加新目录或新文件。
(6)删除指定目录或文件,子目录能够被删除的前提是其为空,既不包含任何子目录和文件;根目录不能删除。
(7)扩充目录或文件信息,如创建时间、读写权限、文件长度或子目录包含的子目录和文件数等。
(8)对同一层次下的子目录或文件按创建时间有序输出。
(9)通配符的使用。如用“?”代表任意一个字符,用“*”表示任意多个任意字符。
扩展内容:
实现相对路径表示法需求分析
本程序中要给出目录和文件信息,要求编程实现将其排列成一棵有一定缩进的树。设计文件和目录信息树的存储结构,从文件或键盘输入目录和文件信息,输入格式采用绝对路径法,创建时要检查同一路径下不能有同名的目录或文件名,设计文件和目录信息树的输出格式,查找、添加、删除指定目录和文件,子目录能够被删除的前提是其为空,既不包含任何子目录和文件;根目录不能删除,可以扩充目录或文件信息,可以对同一层次下的子目录或文件按创建时间有序输出,使用通配符等。
2、设计
2.1设计思想
(1)数据结构设计
在存储结构方法上,采用二叉链表法,为简化对目录或文件的称呼,以下统称为
结点。每个目录和文件都有基本信息,根据要求建立结构体,如下:
struct info
{
bool flag; //0表示不可访问 1表示可访问
bool cf; //0代表目录 1代表文件
char name[20]; //文件名
char filetype[10]; //文件类型
creat_time time; //创建时间
info*parent; //指向上一层目录指针
info*firstchild; //指向下一层目录或文件指针
info*brother; //指向同一层相邻目录或文件指针
int n; //包含文件数
int cenci; //目录或文件所在的层次
int size; //文件的大小
};
info*root,*U;//root 不变 U 可变
创建时间用结构体建立
struct creat_time
{
int year; //年
int month; //月
int date; //日
};
对目录进行函数封装
class content
{
public:
content(){root=NULL;} //
void rootcreat(); //创建根目录
void creat(info*); //创建子目录或文件
void DELETE(info*); //删除目录或文件本身
int Delete(info*); //删除目录或文件下面的所有项目
void unfold(info*); //显示该目录下一层目录和文件
info*locate(info*); //定位到指定目录或文件
void traverser(info*); //遍历显示树形目录
};
(2)算法设计
1. 创建根目录
S1.申请结点,输入基本信息;
S2.所有指针置空;
2.结点创建
P 代表母结点
S1.判断所给结点是否为目录。不是,则给出失败信息;
if(p-cf){cout不能在文件下添加!\n;return;}
S2.查看是否在同一层有重名,若有,给出失败信息;
S3.申请结点,完善基本信息;
S4.结点父指针指向母目录;
q-parent=p;
S5 根据母目录确定是否为孩子或孩子兄弟成员,建立链接关系;
if(!p-firstchild){p-firstchild=q;}
else {p=p-firstchild;
while (p-brother){p=p-brother;}
p-brother=q;}
cout添加成功!\n
S
您可能关注的文档
- [工作]潮汕方言俗称潮汕话.doc
- [工作]电大项目评估复习资料.doc
- [工作]肥东县老年协会成立大会上的主持词.doc
- [工作]苏教版小学语文五年级下册课文复习梳理.doc
- [工作]规范小学生汉字书写策略研究课题申评书.doc
- [工作]道路绿化养护施工方案.doc
- [工作]金融学专业外文翻译原文.doc
- [工作]钢结构彩钢厂房施工方案.doc
- [工作]项目部HSE业绩考核细则及评分表.doc
- [工作总结]大学生村官座谈会交流材料--村官总结材料--领导发言.doc
- 抢分秘籍10 带电粒子电场中的直线运动、偏转和交变电电场中的应用(三大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍11 带电粒子在组合场、叠加场中的运动(五大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍11 带电粒子在组合场、叠加场中的运动(五大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍12 电磁感应中的电路与图像问题(二大题型)(解析版) -2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍12 电磁感应中的电路与图像问题(二大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍14 热力学定律与气体实验定律综合应用(五大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍13 电磁感应中的动力学、能量和动量问题(三大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍14 热力学定律与气体实验定律综合应用(五大题型)(原卷版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍16 振动图像与波动图像的综合应用(三大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
- 抢分秘籍15 光的折射、全反射的综合应用(二大题型)(解析版)-2025年高考物理冲刺抢押秘籍.pdf
文档评论(0)