• 大小: 10KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: C/C++
  • 标签:

资源简介

简单目录管理系统的设计与实现 基本要求:利用树型结构设计并实现一个简单的目录管理系统。功能主要包括: (1)系统可以对所有目录进行管理,类似C盘、D盘、E盘; (2)实现子目录和文件的新建、删除、查询、子目录和文件名称修改等功能; (3)按某种顺序输出所有子目录及文件信息(树的遍历操作)。 提高部分:以树型结构输出所有子目录和文件的信息。

资源截图

代码片段和文件信息

#include
#include
#include
using namespace std;
#define MAX_LINE 1024

struct node
{
char cname[55];//孩子节点 
char fname[55];//父亲节点 
}wjj[33][10010];

void Init()//初始化 
{
memset(wjj‘\0‘sizeof(wjj));
char a[55]=“Cpan“  a1[55]=“Windows“ a2[55]=“users“ a3[55]=“intel“;
char b[55]=“Dpan“  b1[55]=“Tencent“ b2[55]=“CloudMusic“ b3[55]=“ludashi“;
char c[55]=“Epan“  c1[55]=“WeGame“  c2[55]=“Steam“ c3[55]=“LeagueClient“;
char c4[55]=“学习资料“c5[55]=“ECJTU“c6[55]=“数据结构“c7[55]=“文件夹“;
char a4[55]=“文件夹“b4[55]=“文件夹“c8[55]=“文件夹“;
strcpy(wjj[1][0].cnamea)strcpy(wjj[1][1].cnameb)strcpy(wjj[1][2].cnamec);
strcpy(wjj[2][0].cnamea1)strcpy(wjj[2][0].fnamea) strcpy(wjj[2][1].cnamea2)strcpy(wjj[2][1].fnamea) strcpy(wjj[2][2].cnamea3)strcpy(wjj[2][2].fnamea);
strcpy(wjj[2][3].cnameb1)strcpy(wjj[2][3].fnameb) strcpy(wjj[2][4].cnameb2)strcpy(wjj[2][4].fnameb) strcpy(wjj[2][5].cnameb3)strcpy(wjj[2][5].fnameb);
strcpy(wjj[2][6].cnamec1)strcpy(wjj[2][6].fnamec) strcpy(wjj[2][7].cnamec2)strcpy(wjj[2][7].fnamec) strcpy(wjj[2][8].cnamec3)strcpy(wjj[2][8].fnamec);

strcpy(wjj[2][10].cnamea4)strcpy(wjj[2][10].fnamea)strcpy(wjj[2][11].cnameb4)strcpy(wjj[2][11].fnameb)strcpy(wjj[2][12].cnamec8)strcpy(wjj[2][12].fnamec);
strcpy(wjj[2][9].cnamec4)strcpy(wjj[2][9].fnamec);
strcpy(wjj[3][0].cnamec5)strcpy(wjj[3][0].fnamec4);
strcpy(wjj[4][0].cnamec6)strcpy(wjj[4][0].fnamec5);
strcpy(wjj[5][0].cnamec7)strcpy(wjj[5][0].fnamec6);
}
void dangqian(int ceng1int ceng2)//打印当前路径 
{
if(ceng1>2)
{
for(int i=0;i<300;i++)
{
if(strcmp(wjj[ceng1-2][i].cname  wjj[ceng1-1][ceng2].fname)==0)
{
dangqian(ceng1-1i);
break;
}
}
}
else if(ceng1==2)
{
for(int i=0;i<300;i++)
{
if(strcmp(wjj[1][i].cname  wjj[ceng1][ceng2].fname)==0)
{
dangqian(1i);
break;
}
}
}
cout<< wjj[ceng1-1][ceng2].cname ;
cout<<“ -> “;
return ;
}
void dayin_now(int ceng1int ceng2)//打印当前预览文件夹目录 
{
int flag=0;
if(ceng1==1)
{
for(int i=0;i<300;i++)
{
if(strlen(wjj[ceng1][i].cname)!=0)
cout< }
}
else
{
for(int i=0;i<300;i++)
{
if(strcmp(wjj[ceng1][i].fname  wjj[ceng1-1][ceng2].cname)==0&&strlen(wjj[ceng1][i].fname)!=0)
cout< }
}
if(flag==0) cout<<“当前文件夹为空! (提示:请输入0后并输入1进行新建文件夹操作)“< return ;
}
void xinjian(int ceng1int ceng2char name[])//新建文件夹将文件夹名加入当前层级中并将其根目录更新 
{
for(int i=0;i<300;i++)
{
if(strlen(wjj[ceng1][i].cname)==0)
{
strcpy(wjj[ceng1][i].cnamename);
strcpy(wjj[ceng1][i].fnamewjj[ceng1-1][ceng2].cname);
break;
}
}
return ;
}
void shanchu(int ceng1char name[])//删除文件夹在当前层级中搜索同名文件夹并重置其cnamefname 
{
for(int i=0;i<300;i++)
{
if(strcmp(wjj[ceng1][i].cname  name)==0)
{
memset(wjj[ceng1][i].cname‘\0‘sizeof(wjj[ce

评论

共有 条评论

相关资源