亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 文件管理.txt

?? 操作系統各個方面的編程
?? TXT
字號:
/*本程序包括實現: 

1 改變目錄 
格式:CD〈目錄名〉 
功能:工作目錄轉移到指定的目錄下,只要求完成改變到當前目錄的某一個子目錄 
下的功能,不要求實現相對目錄以及絕對目錄。 
2 創建文件 
格式:CREATE〈文件名〉〈文件長度〉 
功能:創立一個指定名字的新文件,即在目錄中增加一項,不考慮文件內容,但必 
須能輸入文件長度。 
3 刪除文件 
格式:DEL〈希望刪除的文件名〉 
功能:刪除指定的文件 
4 顯示目錄 
格式:LSALL 
功能:顯示全部目錄以及文件,輸出時要求先輸出接近根的目錄,再輸出子目錄。 
圖示如圖。 
5 創建目錄 
格式:MD〈目錄名〉 
功能:在當前路徑下創建指定的目錄 
6 刪除目錄 
*/
#include<stdio.h> 
#include<string.h> 
#include<iostream.h> 
#include<math.h> 
#include<stdlib.h> 
#include<iomanip.h> 

// ******************目錄和文件的結構定義****** 
typedef struct node{ 
char name[50]; /*目錄或文件的名字*/ 
int type; /*0代表目錄,1代表普通文件*/ 
struct node *next; /*指向下一個兄弟結點的指針*/ 
struct node *sub; /*指向第一個子結點的指針*/ 
struct node *father; /*指向父結點的指針*/ 

int size; /*如果是文件則表示文件的大小*/ 

}dirNode; 

dirNode *workDir; //定義當前工作目錄 
dirNode root; //定義根目錄 

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

//初始化函數 
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"); 
} 

//初始化新結點函數 
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; 
} 

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

p=workDir->sub; 
if(p==NULL){ 
cout<<"錯誤,\""<<dirName<<"\"子目錄不存在"<<endl; 
} 
else{ 
while(p){ 
if(p->type==0){ 
if(!strcmp(p->name,dirName)){ 
flag=1; 
break; 
} 
} 
p=p->next; 
} 
if(flag==1){ 
workDir=p; 
strcat(path,"\\ "); 
strcat(path,p->name); 
cout<<"工作目錄已進入\""<<dirName<<"\""<<endl; 
} 
else{ 
cout<<"錯誤,\""<<dirName<<"\"子目錄不存在"<<endl; 
} 
} 
} 

//2 創建文件 
void CREATE(char fileName[],int fileSize) 
{ 
int flag; 
dirNode *p,*q; 

q=new dirNode; 
strcpy(q->name,fileName); 
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<<"\""<<fileName<<"\"文件創建成功"<<endl; 
} 
else{ 
flag=0; 
while(p){ 
if(p->type==1){ 
if(!strcmp(p->name,fileName)){ 
flag=1; 
cout<<"錯誤,\""<<fileName<<"\"文件已存在"<<endl; 
} 
} 
p=p->next; 
} 
if(flag==0){ 
p=workDir->sub; 
while(p->next){ 
p=p->next; 
} 
p->next=q; 
cout<<"\""<<fileName<<"\"文件創建成功"<<endl; 
} 
} 
} 

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

p=workDir->sub; 
if(p==NULL){ 
cout<<"錯誤,\""<<fileName<<"\"文件不存在"<<endl; 
} 
else{ 
while(p){ 
if(p->type==1){ 
if(!strcmp(p->name,fileName)){ 
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<<"\""<<fileName<<"\"文件已刪除"<<endl; 
} 
else{ 
cout<<"錯誤,\""<<fileName<<"\"文件不存在"<<endl; 
} 
} 

} 

//4 顯示所有目錄 

//顯示本目錄下所有兄弟目錄和文件 
void dir(dirNode *p) 
{ 
while(p){ 
if(p->type==0){ 
cout.setf(2); 
cout<<setw(14)<<p->name<<setw(12)<<"<DIR>"<<endl; 
} 
else{ 
cout.setf(2); 
cout<<setw(14)<<p->name<<setw(12)<<"<FILE>"<<setw(10)<<p->size<<endl; 
} 
p=p->next; 
} 
} 
// 
void dirs(dirNode *p,char str[]) 
{ 
char newstr[100]; 
dirNode *q; 
cout<<str<<"下子目錄及文件:"<<endl; 
dir(p); 

q=p; 
if(q->sub){ 
strcpy(newstr,""); 
strcat(newstr,str); 
strcat(newstr,"\\"); 
strcat(newstr,q->name); 

dirs(q->sub,newstr); 
} 
q=p; 
while(q->next){ 
if(q->next->sub){ 
strcpy(newstr,""); 
strcat(newstr,str); 
strcat(newstr," \\"); 
strcat(newstr,q->next->name); 

dirs(q->next->sub,newstr); 
} 
q=q->next; 
} 
} 

// 顯示所有目錄 
void LSALL() 
{ 
dirNode *p; 

cout<<"顯示所有目錄結構"<<endl<<"--------------------------------------------"<<endl; 

p=root.sub; 

dirs(p,"root"); 


} 
//5 創建目錄 
void MD(char dirName[]) 
{ 
int flag; 
dirNode *p,*q; 

q=new dirNode; 
strcpy(q->name,dirName); 
q->sub=NULL; 
q->type=0; 
q->next=NULL; 
q->father=workDir; 
q->size=0; 

p=workDir->sub; 

if(p==NULL){ 
workDir->sub=q; 
cout<<"\""<<dirName<<"\"子目錄創建成功"<<endl; 
} 
else{ 
flag=0; 
while(p){ 
if(p->type==0){ 
if(!strcmp(p->name,dirName)){ 
flag=1; 
cout<<"錯誤,\""<<dirName<<"\"子目錄已存在"<<endl; 
} 
} 
p=p->next; 
} 
if(flag==0){ 
p=workDir->sub; 
while(p->next){ 
p=p->next; 
} 
p->next=q; 
cout<<"\""<<dirName<<"\"子目錄創建成功"<<endl; 
} 
} 
} 

//6 刪除目錄 
void RD(char dirName[]) 
{ 
/* 
刪除當前目錄下的指定目錄,如果該目錄為空,則可刪除,否則應提示是否 
作刪除,刪除操作將該目錄下的全部文件和子目錄都刪除 

這題目有點問題,因為CD只要求完成改變到當前目錄的某一個子目錄 
下的功能,不要求實現相對目錄以及絕對目錄。所以不進入子目錄是不可能在子目錄下再建子目錄或文件的。 
因此只要實現刪除工作目錄的子目錄就可以了,不要去管“如果該目錄為空,則可刪除,否則應提示是否 
作刪除,刪除操作將該目錄下的全部文件和子目錄都刪除”。 
*/ 
dirNode *p,*q; 
int flag=0; 

p=workDir->sub; 
if(p==NULL){ 
cout<<"錯誤,\""<<dirName<<"\"子目錄不存在"<<endl; 
} 
else{ 
while(p){ 
if(p->type==0){ 
if(!strcmp(p->name,dirName)){ 
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<<"\""<<dirName<<"\"子目錄已刪除"<<endl; 
} 
else{ 
cout<<"錯誤,\""<<dirName<<"\"子目錄不存在"<<endl; 
} 
} 


} 

//顯示版權信息函數 
void version() 
{ 
cout<<endl<<endl; 

cout<<" ┏━━━━━━━━━━━━━━━━━━━━━━━┓"<<endl; 
cout<<" ┃     模擬文件管理模擬系統        ┃"<<endl; 
cout<<" ┠───────────────────────┨"<<endl; 


cout<<endl<<endl; 
} 

void main() 
{ 
int len,fileSize,flag,comm; 

char string[50]; 
char command[10]; 
char name[40]; 
char *s,*s1; 

version(); 

initial(); 


flag=1; 
while(flag){ 
cout<<endl<<" 模擬文件管理模擬系統"<<endl; 
cout<<endl<<"CD 改變目錄 CREATE 創建文件 DEL 刪除文件 "<<endl<<"LSALL 顯示目錄 MD 創建目錄 RD 刪除目錄"<<endl<<"exit 退出"<<endl; 
cout<<endl<<"-----------------------------------------------"<<endl; 
printf("%s:>#",path); 

gets(string); 
len=strlen(string); 

if(len==0){ 
strcpy(command,"errer"); 
} 
else{ 
//獲得命令 
s=NULL; 
s=strchr(string,' '); 
if(s!=NULL){ 
*s='\0'; 
} 
strcpy(command,string); 

//測試命令類型 
if((!strcmp(command,"CD"))||!strcmp(command,"cd")){ 
comm=1; 
} 
else{ 
if((!strcmp(command,"CREATE"))||!strcmp(command,"create")){ 
comm=2; 
} 
else{ 
if((!strcmp(command,"DEL"))||!strcmp(command,"del")){ 
comm=3; 
} 
else{ 
if((!strcmp(command,"LSALL"))||!strcmp(command,"lsall")){ 
comm=4; 
} 
else{ 
if((!strcmp(command,"MD"))||!strcmp(command,"md")){ 
comm=5; 
} 
else{ 
if((!strcmp(command,"RD"))||!strcmp(command,"rd")){ 
comm=6; 
} 
else{ 
if((!strcmp(command,"EXIT"))||!strcmp(command,"exit")){ 
comm=0; 
} 
else{ 
comm=100; 
} 
} 
} 
} 
} 
} 
} 
switch(comm){ 
case 1: 
//1 改變目錄 
strcpy(name,s+1); 
CD(name); 
break; 
case 2: 
//2 創建文件 
s1=strchr(s+1,' '); 
*s1='\0'; 
strcpy(name,s+1); 
fileSize=atoi(s1+1); 
CREATE(name,fileSize); 
break; 
case 3: 
//3 刪除文件 
strcpy(name,s+1); 
DEL(name); 
break; 
case 4: 
//4 顯示目錄 
LSALL(); 
break; 
case 5: 
//5 創建目錄 
strcpy(name,s+1); 
MD(name); 
break; 
case 6: 
//6 刪除目錄 
strcpy(name,s+1); 
RD(name); 
break; 
case 0: 
//0 退出系統 
flag=0; 
break; 
default: 
cout<<"命令錯誤"<<endl; 
} 
} 
} 
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文av一区二区| 国产在线不卡一区| 韩国精品主播一区二区在线观看 | xfplay精品久久| 国产欧美日本一区二区三区| 午夜欧美2019年伦理| 成a人片亚洲日本久久| 日韩欧美专区在线| 亚洲精品欧美激情| 高清不卡在线观看av| 日韩女优av电影| 天天操天天综合网| 在线免费观看日本一区| 国产精品人成在线观看免费| 日本va欧美va瓶| 在线观看区一区二| 日韩毛片视频在线看| 国产精品18久久久久久久久| 欧美一区欧美二区| 香蕉影视欧美成人| 欧美性猛交xxxx乱大交退制版 | 欧美一区二区三区在线电影| 亚洲精品免费电影| av毛片久久久久**hd| 国产日本亚洲高清| 国产99精品国产| 久久久午夜电影| 国产福利精品导航| 2023国产精华国产精品| 狠狠色丁香婷综合久久| 欧美mv日韩mv| 激情文学综合网| 国产亚洲一本大道中文在线| 国产成人午夜电影网| 国产欧美日本一区二区三区| 成人免费观看av| 中文字幕制服丝袜一区二区三区 | 日韩欧美www| 久久99国产精品久久99| 精品国产91久久久久久久妲己| 青青草97国产精品免费观看 | 国产馆精品极品| 国产嫩草影院久久久久| www.在线欧美| 亚洲一区二区在线免费看| 欧美天天综合网| 日韩黄色免费电影| 精品福利在线导航| 国产99精品国产| 一区二区三区日韩欧美精品| 欧美日韩综合在线免费观看| 免费一区二区视频| 久久奇米777| 91啪在线观看| 日韩精品免费视频人成| 久久嫩草精品久久久精品| va亚洲va日韩不卡在线观看| 亚洲午夜精品一区二区三区他趣| 欧美日韩大陆在线| 国产一区二区不卡老阿姨| 国产精品久久久久毛片软件| 欧美性受极品xxxx喷水| 极品美女销魂一区二区三区免费| 国产精品欧美久久久久无广告 | 成人午夜免费av| 亚洲高清视频的网址| 亚洲精品一区二区在线观看| av激情成人网| 免费高清视频精品| 18成人在线视频| 日韩欧美激情一区| 一本久久精品一区二区| 久久99精品久久久久久动态图| 国产精品久久三区| 欧美精品在欧美一区二区少妇| 国产精品资源网站| 亚洲高清不卡在线| 国产精品国产a| 精品国产三级a在线观看| 91久久精品一区二区二区| 极品少妇一区二区| 午夜电影网亚洲视频| 国产精品免费网站在线观看| 日韩一级高清毛片| 在线视频国产一区| 成人影视亚洲图片在线| 老司机精品视频线观看86| 亚洲老司机在线| 国产日韩欧美精品在线| 欧美一级专区免费大片| 色琪琪一区二区三区亚洲区| 高清视频一区二区| 久久精品国产精品亚洲综合| 亚洲一级在线观看| 亚洲欧美日韩在线| 国产精品久久久久久亚洲伦 | 亚洲一区二区欧美日韩| 国产蜜臀97一区二区三区| 欧美sm美女调教| 欧美大肚乱孕交hd孕妇| 欧美久久久一区| 在线观看亚洲成人| 一本色道亚洲精品aⅴ| 99国产精品99久久久久久| 国产风韵犹存在线视精品| 精品亚洲porn| 久久福利视频一区二区| 美女在线视频一区| 视频一区欧美精品| 亚洲va国产天堂va久久en| 一区二区三区丝袜| 亚洲一区二三区| 亚洲国产中文字幕在线视频综合 | 欧美日韩色综合| 欧美日韩中文字幕一区二区| 在线观看一区不卡| 欧美日韩国产一级片| 91麻豆精品久久久久蜜臀 | 国产在线不卡一卡二卡三卡四卡| 免费国产亚洲视频| 激情欧美日韩一区二区| 国产美女在线精品| 国产黑丝在线一区二区三区| 成人一区二区三区视频在线观看| 国产精品996| 99久久综合精品| 日本高清免费不卡视频| 欧美日韩国产高清一区二区三区 | 国产精品538一区二区在线| 国产一区二区三区四| 国产精品自拍在线| eeuss鲁片一区二区三区在线看| aaa欧美大片| 欧美午夜一区二区三区| 91精品视频网| 26uuu国产一区二区三区| 国产女人aaa级久久久级| 一区二区三区日韩欧美精品 | 日韩女优av电影| 日本一区二区三区久久久久久久久不| 国产女主播视频一区二区| 亚洲精品五月天| 日本一区中文字幕| 国产成人午夜视频| 欧美午夜电影在线播放| 欧美电影免费观看完整版| 国产欧美日韩视频在线观看| 一区二区三区精品久久久| 琪琪久久久久日韩精品| 不卡的av电影在线观看| 欧美性感一类影片在线播放| 欧美mv和日韩mv的网站| 亚洲国产成人午夜在线一区 | 日韩精品在线一区| 国产精品久久久久久户外露出| 亚洲国产另类精品专区| 国内精品久久久久影院薰衣草| 91在线观看美女| 日韩精品一区二区在线| 亚洲图片另类小说| 激情伊人五月天久久综合| 欧亚洲嫩模精品一区三区| 久久久久99精品一区| 亚洲va欧美va人人爽| 成人午夜激情在线| 欧美一区二区成人| 一区二区三区国产精华| 国产成人在线色| 欧美一级夜夜爽| 亚洲精选在线视频| 夫妻av一区二区| 日韩一区二区三区在线观看 | 国产高清无密码一区二区三区| 欧美羞羞免费网站| 成人免费在线观看入口| 国产麻豆精品视频| 欧美精品粉嫩高潮一区二区| 中文字幕一区三区| 国产精品99久久久久久宅男| 日韩精品中文字幕一区二区三区 | 亚洲高清免费一级二级三级| 成人avav在线| 欧美韩国日本综合| 国产最新精品免费| 91精品国产综合久久久久久久久久 | 99综合影院在线| 国产校园另类小说区| 另类小说色综合网站| 91精品国产91久久久久久最新毛片| 一区二区视频在线看| 成人av影视在线观看| 久久九九全国免费| 国产乱码精品一区二区三区av| 91精品国产综合久久香蕉的特点| 亚洲成a人片综合在线| 欧美日韩国产一级二级| 亚洲国产aⅴ天堂久久| 在线观看91精品国产麻豆| 亚洲成av人片一区二区| 欧洲中文字幕精品|