欢迎来到天天文库
浏览记录
ID:1483629
大小:793.97 KB
页数:21页
时间:2017-11-11
《电脑的存储结构设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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)//判断是否存在
此文档下载收益归作者所有