xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

資源簡(jiǎn)介

操作系統(tǒng) 課程設(shè)計(jì) C++ 模擬文件系統(tǒng) 源代碼,寫(xiě)實(shí)驗(yàn)報(bào)告必備良品,代碼無(wú)錯(cuò),直接運(yùn)行VC

資源截圖

代碼片段和文件信息

#include?“stdafx.h“


#include?“stdafx.h“
#include?“stdio.h“?
#include?“string.h“?
#include?“iostream.h“?
#include?“math.h“?
#include?“stdlib.h“?
#include?“iomanip.h“?
//?******************目錄和文件的結(jié)構(gòu)定義******?
typedef?struct?node{?
char?name[50];?/*目錄或文件的名字*/?
int?type;?/*0代表目錄,1代表普通文件*/?
struct?node?*next;?/*指向下一個(gè)兄弟結(jié)點(diǎn)的指針*/?
struct?node?*sub;?/*指向第一個(gè)子結(jié)點(diǎn)的指針*/?
struct?node?*father;?/*指向父結(jié)點(diǎn)的指針*/?
int?size;?/*如果是文件則表示文件的大小*/?
}dirNode;?

dirNode?*workDir;?//定義當(dāng)前工作目錄?
dirNode?root;?//定義根目錄?

char?path[100];?//定義路徑信息?

//初始化函數(shù)?
void?initial()?
{?
strcpy(root.name“root“);?
root.type=0;?
root.next=NULL;?
root.sub=NULL;?
root.father=NULL;?
root.size=0;?

workDir=&root;?

strcpy(path“root“);?
}?

//初始化新結(jié)點(diǎn)函數(shù)?
dirNode?*init()?
{?
dirNode?*p;?

p=new?dirNode;?

strcpy(root.name““);?
root.type=0;?
root.next=NULL;?
root.sub=NULL;?
root.father=NULL;?
root.size=0;?

return?p;?
}?

//改變目錄?
void?CD(char?dirName[])?
{?
dirNode?*p;?
int?flag=0;?

p=workDir->sub;?
if(p==NULL)
{?
cout<<“錯(cuò)誤\““<}?
else
{?
while(p)
{?
if(p->type==0)
{?
if(!strcmp(p->namedirName))
{?
flag=1;?
break;?
}?
}?
p=p->next;?
}?
if(flag==1)
{?
workDir=p;?
strcat(path“\\?“);?
strcat(pathp->name);?
cout<<“工作目錄已進(jìn)入\““< }?
else
{?
cout<<“錯(cuò)誤\““< }?
}?
}?

//創(chuàng)建文件?
void?CREATE(char?fileName[]int?fileSize)?
{?
int?flag;?
dirNode?*p*q;?

q=new?dirNode;?
strcpy(q->namefileName);?
q->sub=NULL;?
q->type=1;?
q->next=NULL;?
q->father=workDir;?
q->size=fileSize;?

p=workDir->sub;?

if(p==NULL)
{?
workDir->sub=q;?
cout<<“\““<}?
else
{?
flag=0;?
while(p)
{?
if(p->type==1)
{?
if(!strcmp(p->namefileName))
{?
flag=1;?
cout<<“錯(cuò)誤\““< }?
}?
p=p->next;?
}?
if(flag==0)
{?
p=workDir->sub;?
while(p->next)
{?
p=p->next;?
}?
p->next=q;?
cout<<“\““< }?
}?
}?

//刪除文件?
void?DEL(char?fileName[])?
{?
dirNode?*p*q;?
int?flag=0;?

p=workDir->sub;?
if(p==NULL)
{?
cout<<“錯(cuò)誤\““<}?
else
{?
while(p)
{?
if(p->type==1)
{?
if(!strcmp(p->namefileName))
{?
flag=1;?
break;?
}?
}?
p=p->next;?
}?
if(flag==1)
{?
if(p==workDir->sub)
{?
workDir->sub=p->next;?
}?
else
{?
q=workDir->sub;?
while(q->next!=p)
{?
q=q->next;?
}?
q->next=p->next;?
delete?p;?
}?
cout<<“\““< }?
else
{?
cout<<“錯(cuò)誤\““< }?
}?
}?

//顯示所有目錄?

//顯示本目錄下所有兄弟目錄和文件?
void?dir(dirNode?*p)?
{?
while(p)
{?
if(p->type==0)
{?
cout.setf(2);?
cout<name<“< }?
else
{?
cout.setf(2);?
cout<name<

評(píng)論

共有 條評(píng)論