- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、课题名称
电脑存储结构设计与实现(树,查找)
二、主要容
电脑存储结构设计与实现主要是模拟“我的电脑”中硬盘信息的建立、查找、插入、修改、删除等功能。可。基本功能如下:
(1)硬盘初始化信息:我的电脑(根结点)。
(2)硬盘格式化:为我的电脑分区,分区的个数由后台终端输入决定,每个硬盘分区信息包括卷名、文件系统类型、容量等。
(3)文件或文件夹的添加:即创建某个分区的孩子结点信息(文件(夹)),孩子结点的数目由控制台端给出,信息包括文件(夹)名,文件(夹)大小,所有文件(夹)的文件名此处不能重复。 创建好的文件夹中还能创建其孩子结点信息(文件(夹))。
(4)文件或文件夹信息的修改:可以修改某一文件或文件夹的信息,包括名字和大小。
(5)文件或文件夹的查询:查询某一文件或文件夹的具体路径。(从我的电脑开始)
(6)文件或文件夹的删除:删除此文件,如果是文件夹,若其有后代,将删除其所有后代成员(文件或文件夹)。
三、课题设计的基本思想,原理和算法描述
此课题主要用树来建立电脑的存储结构设计,并用树的相关知识,递归的思想贯穿始终,实现硬盘的初始化和格式化,并在分区里实现文件(夹)的添加、修改、查询、删除的功能。
主函数和总界面:
void menu()
{
system(cls);
printf( ******************************************************\n);
printf( * 欢迎进入电脑存储设计与实现系统! *\n);
printf( * ----------------- * \n);
printf( * 1.硬盘初始化信息: *\n);
printf( * 2.硬盘格式化信息: * \n);
printf( * 3.添加文件(夹)的信息: *\n);
printf( * 4.修改文件(夹)的信息: * \n);
printf( * 5.查询文件(夹)的信息: *\n);
printf( * 6.删除文件(夹)的信息 * \n);
printf( * 7.退出 *\n);
printf( ******************************************************\n);
printf(请选择功能操作号:); //选择相应数字实现对应功能项
}
void main()
{
TSBNode *b;
while(1)
{
menu();
int c;
scanf(%d,c);
switch(c)
{
case 1:CreateBTNode(b);break;
case 2:areaTSBNode(b);break;
case 3:Add(b);break;
case 4:Change(b);break;
case 5:Search(b);break;
case 6:Delete(b);break;
case 7:return;
default:printf(选择有误,请重新选择!\n);
}
}
}
硬盘初始化中:直接输入主盘的名字,并将此名字赋给根节点。
void CreateBTNode(TSBNode *b) //硬盘初始化信息 #### 1 初始化 ####
{
system(cls);
printf( ********欢迎来到硬盘初始化信息界面 !********\n);
printf(\n);
b=NULL;
b=(TSBNode *)malloc(sizeof(TSBNode));
printf(请输入主盘的名字:);
scanf(%s,b-data.name);
b-child=b-brother=NULL;
printf(初始化成功!\n);
chushi=1;
system(pause);//按回车键继续
}
硬盘格式化中:首
文档评论(0)