电脑的存储结构设计与实现

电脑的存储结构设计与实现

ID:1483629

大小:793.97 KB

页数:21页

时间:2017-11-11

电脑的存储结构设计与实现_第1页
电脑的存储结构设计与实现_第2页
电脑的存储结构设计与实现_第3页
电脑的存储结构设计与实现_第4页
电脑的存储结构设计与实现_第5页
资源描述:

《电脑的存储结构设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一、课题名称电脑存储结构设计与实现(树,查找)二、主要内容电脑存储结构设计与实现主要是模拟“我的电脑”中硬盘信息的建立、查找、插入、修改、删除等功能。可。基本功能如下:(1)硬盘初始化信息:我的电脑(根结点)。(2)硬盘格式化:为我的电脑分区,分区的个数由后台终端输入决定,每个硬盘分区信息包括卷名、文件系统类型、容量等。(3)文件或文件夹的添加:即创建某个分区的孩子结点信息(文件(夹)),孩子结点的数目由控制台端给出,信息包括文件(夹)名,文件(夹)大小,所有文件(夹)的文件名此处不能重复。创建好的文件夹中还能创建其孩子结点信息(文件(夹))。(4)文

2、件或文件夹信息的修改:可以修改某一文件或文件夹的信息,包括名字和大小。(5)文件或文件夹的查询:查询某一文件或文件夹的具体路径。(从我的电脑开始)(6)文件或文件夹的删除:删除此文件,如果是文件夹,若其有后代,将删除其所有后代成员(文件或文件夹)。三、课题设计的基本思想,原理和算法描述此课题主要用树来建立电脑的存储结构设计,并用树的相关知识,递归的思想贯穿始终,实现硬盘的初始化和格式化,并在分区里实现文件(夹)的添加、修改、查询、删除的功能。主函数和总界面:voidmenu(){system("cls");printf("***************

3、***************************************");printf("*欢迎进入电脑存储设计与实现系统!*");printf("*-----------------*");printf("*1.硬盘初始化信息:*");printf("*2.硬盘格式化信息:*");printf("*3.添加文件(夹)的信息:*");printf("*4.修改文件(夹)的信息:*");printf("*5.查询文件(夹)的信息:*");printf("*6.删除文件(夹)的信息*");printf("*7.

4、退出*");printf("******************************************************");printf("请选择功能操作号:");//选择相应数字实现对应功能项}voidmain(){TSBNode*b;while(1){menu();intc;scanf("%d",&c);switch(c){case1:CreateBTNode(b);break;case2:areaTSBNode(b);break;case3:Add(b);break;case4:Change(b);break;case5

5、:Search(b);break;case6:Delete(b);break;case7:return;default:printf("选择有误,请重新选择!");}}}硬盘初始化中:直接输入主盘的名字,并将此名字赋给根节点。voidCreateBTNode(TSBNode*&b)//硬盘初始化信息####1初始化####{system("cls");printf("********欢迎来到硬盘初始化信息界面!********");printf("");b=NULL;b=(TSBNode*)malloc(sizeof(TSBNode));p

6、rintf("请输入主盘的名字:");scanf("%s",&b->data.name);b->child=b->brother=NULL;printf("初始化成功!");chushi=1;system("pause");//按回车键继续}硬盘格式化中:首先输入主盘的名字,判断是否存在此主盘,同时也判断是否进行硬盘初始化,是的话继续,否则返回初始化的界面。判断结束后,输入需要添加分区的数目,一个一个地输入信息。此期间会判断是否重复,重复的话重新输入。最后在for循环里,对每个分区和根节点建立关系。voidareaTSBNode(TSBNode*&

7、b)//硬盘格式化####2格式化####{system("cls");printf("********欢迎来到硬盘格式化信息界面!********");printf("");TSBNode*p[MAXCHILD];charname[MAX];//定义数组指针printf("请输入需要添加分区的主盘的名字:");scanf("%s",&name);if(chushi==0)//判断是否进行初始化,否则返回初始化界面{printf("请先进行硬盘初始化!");system("pause");//按回车键继续;CreateBTNode(b);r

8、eturn;}if(strcmp(b->data.name,name)!=0)//判断是否存在

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。