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

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

?? 文件管理.txt

?? 簡單的文件管理系統
?? TXT
字號:

實習檢查:

1、運行程序,由檢查教師給出文件名,該文件中存有相應的若干命令。(程序應做提示,界面友好)。

2、要求實現兩個命令:

mkdir 目錄名(目錄已存在,應給出錯誤信息。)

cd 目錄名(目錄不存在,應給出錯誤信息。)

3、你所編制的程序應讀入文件,并執行其中的每一條命令。

4、在屏幕上顯示文件目錄的結構。(界面自己設計,但要清晰明了。)

2002年北京大學的試題:

操作系統上機考試題

題目:模擬文件系統

要求:模擬一個文件系統,包括目錄文件,普通文件,并實現對它們的一些

基本操作。

假定每個目錄文件最多只能占用一個塊;一個目錄項包括文件名(下一級目錄

名),文件類型,文件長度,指向文件內容(下一級目錄)的指針內容。普通文件可以

只用目錄項(FCB)代表。(詳細的數據結構見后面的說明)

程序功能方面的要求:

需要實現一個命令行操作界面,包含如下命令:

1 改變目錄

格式:CD〈目錄名〉

功能:工作目錄轉移到指定的目錄下,只要求完成改變到當前目錄的某一個子目錄

下的功能,不要求實現相對目錄以及絕對目錄。

2 創建文件

格式:CREATE〈文件名〉〈文件長度〉

功能:創立一個指定名字的新文件,即在目錄中增加一項,不考慮文件內容,但必

須能輸入文件長度。

3 刪除文件

格式:DEL〈希望刪除的文件名〉

功能:刪除指定的文件

4 顯示目錄

格式:LSALL

功能:顯示全部目錄以及文件,輸出時要求先輸出接近根的目錄,再輸出子目錄。

圖示如圖。

5 創建目錄

格式:MD〈目錄名〉

功能:在當前路徑下創建指定的目錄

6 刪除目錄

格式:RD〈目錄名〉

功能:刪除當前目錄下的指定目錄,如果該目錄為空,則可刪除,否則應提示是否

作刪除,刪除操作將該目錄下的全部文件和子目錄都刪除。

對于上述功能要求,完成1-4為及格,完成1-5為良,完成1-6為優。

程序實現方面的要求:

1 對于重名(創建時),文件不存在(刪除時),目錄不存在(改變目錄時)等錯誤*

作情況,程序應該作出相應處理并給出錯誤信息,但是程序不得因此而退出。

2 界面友好,程序強壯。

3 界面的提示符為#,提示的命令以及調試的方法應和前面的要求一致。不要自己設計命

令或者附加不要求的功能。

4 在考卷的說明部分(背面)有一段程序的源代碼以及對源代碼的說明,考試的編碼應

在這個程序的基礎上修改而成。這段源代碼中規定了文件系統使用的數據結構和需要實

現的函數框架,請將你的實現代碼填寫到合適的位置中去,可以自己添加輔助數據結構、

變量、常量以及函數,但是不得改變已有的代碼(如數據結構的定義以及函數的名稱以

及參數說明)。

5 考試提交的源程序請命名為filesys.c。

6 程序設計環境使用TC2.0,在DOS操作系統下完成全部程序代碼。

本程序包括實現:

1 改變目錄

格式:CD〈目錄名〉

功能:工作目錄轉移到指定的目錄下,只要求完成改變到當前目錄的某一個子目錄

下的功能,不要求實現相對目錄以及絕對目錄。

2 創建文件

格式:CREATE〈文件名〉〈文件長度〉

功能:創立一個指定名字的新文件,即在目錄中增加一項,不考慮文件內容,但必

須能輸入文件長度。

3 刪除文件

格式:DEL〈希望刪除的文件名〉

功能:刪除指定的文件

4 顯示目錄

格式:LSALL

功能:顯示全部目錄以及文件,輸出時要求先輸出接近根的目錄,再輸出子目錄。

圖示如圖。

5 創建目錄

格式:MD〈目錄名〉

功能:在當前路徑下創建指定的目錄

6 刪除目錄

格式:RD〈目錄名〉

VC++調試通過

(C)copyright by Neo

歡迎大家測試 請問題請Email:sony006@163.com

*/

#include

#include

#include

#include

#include

#include

// ******************目錄和文件的結構定義******

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<<"錯誤,\""<
}

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<<"工作目錄已進入\""<
}

else{

cout<<"錯誤,\""<
}

}

}

//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<<"\""<
}

else{

flag=0;

while(p){

if(p->type==1){

if(!strcmp(p->name,fileName)){

flag=1;

cout<<"錯誤,\""<
}

}

p=p->next;

}

if(flag==0){

p=workDir->sub;

while(p->next){

p=p->next;

}

p->next=q;

cout<<"\""<
}

}

}

//3 刪除文件

void DEL(char fileName[])

{

dirNode *p,*q;

int flag=0;

p=workDir->sub;

if(p==NULL){

cout<<"錯誤,\""<
}

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<<"\""<
}

else{

cout<<"錯誤,\""<
}

}

}

//4 顯示所有目錄

//顯示本目錄下所有兄弟目錄和文件

void dir(dirNode *p)

{

while(p){

if(p->type==0){

cout.setf(2);

cout<name<"<
}

else{

cout.setf(2);

cout<name<"<size<
}

p=p->next;

}

}

//

void dirs(dirNode *p,char str[])

{

char newstr[100];

dirNode *q;

cout<
eager
	
發表時間:2004-11-24 15:11:06   第1樓
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<<"顯示所有目錄結構"<
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<<"\""<
}

else{

flag=0;

while(p){

if(p->type==0){

if(!strcmp(p->name,dirName)){

flag=1;

cout<<"錯誤,\""<
}

}

p=p->next;

}

if(flag==0){

p=workDir->sub;

while(p->next){

p=p->next;

}

p->next=q;

cout<<"\""<
}

}

}

//6 刪除目錄

void RD(char dirName[])

{

/*

刪除當前目錄下的指定目錄,如果該目錄為空,則可刪除,否則應提示是否

作刪除,刪除操作將該目錄下的全部文件和子目錄都刪除

這題目有點問題,因為CD只要求完成改變到當前目錄的某一個子目錄

下的功能,不要求實現相對目錄以及絕對目錄。所以不進入子目錄是不可能在子目錄下再建子目錄或文件的。

因此只要實現刪除工作目錄的子目錄就可以了,不要去管“如果該目錄為空,則可刪除,否則應提示是否

作刪除,刪除操作將該目錄下的全部文件和子目錄都刪除”。

*/

dirNode *p,*q;

int flag=0;

p=workDir->sub;

if(p==NULL){

cout<<"錯誤,\""<
}

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<<"\""<
}

else{

cout<<"錯誤,\""<
}

}



}

//顯示版權信息函數

void version()

{

cout<
cout<<" ┏━━━━━━━━━━━━━━━━━━━━━━━┓"<
cout<<" ┃     模擬文件管理模擬系統        ┃"<
cout<<" ┠───────────────────────┨"<
cout<<" ┃   (c)All Right Reserved Neo       ┃"<
cout<<" ┃      sony006@163.com          ┃"<
cout<<" ┃     version 2004 build 1122      ┃"<
cout<<" ┗━━━━━━━━━━━━━━━━━━━━━━━┛"<
cout<
}

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<
cout<
cout<
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<<"命令錯誤"<
}

}

}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲韩国一区二区三区| 国产日产欧产精品推荐色| 亚洲综合色视频| 欧美色图12p| 免费看欧美女人艹b| 久久亚洲精品国产精品紫薇| 国产成人精品aa毛片| 中文字幕亚洲一区二区va在线| 91精品1区2区| 日本欧美一区二区在线观看| 国产夜色精品一区二区av| 岛国一区二区在线观看| 亚洲一区二区视频| 欧美日韩国产小视频| 精品综合免费视频观看| 日本一区二区在线不卡| 色婷婷综合久久久| 日本v片在线高清不卡在线观看| 久久婷婷成人综合色| 92精品国产成人观看免费| 日韩中文欧美在线| 中文字幕免费一区| 欧美久久久一区| 国产91丝袜在线播放| 亚洲电影激情视频网站| 久久久噜噜噜久噜久久综合| 91国内精品野花午夜精品| 久久精品国产亚洲a| 亚洲精品成人精品456| 欧美一区二区成人6969| www.在线欧美| 精品亚洲成a人| 亚洲chinese男男1069| 国产精品国产自产拍高清av王其 | 91亚洲午夜精品久久久久久| 日韩成人午夜精品| 国产精品久久久久久久久图文区| 欧美一卡二卡三卡| 色哟哟在线观看一区二区三区| 免费成人在线观看| 亚洲国产精品麻豆| 国产精品污www在线观看| 日韩欧美的一区| 欧美熟乱第一页| 91蝌蚪porny| 成人午夜av在线| 韩国精品主播一区二区在线观看| 亚洲影院理伦片| ㊣最新国产の精品bt伙计久久| 欧美成人欧美edvon| 欧美日韩国产电影| 欧美影片第一页| 91成人在线免费观看| aaa国产一区| 成人毛片视频在线观看| 国产精品一区二区免费不卡| 蜜臀国产一区二区三区在线播放| 亚洲一区二区在线观看视频| 亚洲免费av高清| 亚洲视频一区二区在线| 亚洲欧美怡红院| 中文字幕中文字幕在线一区| 中文字幕av免费专区久久| 2021久久国产精品不只是精品| 日韩一区二区三区观看| 欧美精品亚洲一区二区在线播放| 欧美性受xxxx| 欧美性色欧美a在线播放| 色94色欧美sute亚洲13| 91丨九色丨蝌蚪富婆spa| 91在线观看下载| 99久久777色| 91久久人澡人人添人人爽欧美| 99国产精品一区| 99久久久久久| 在线观看日韩高清av| 欧美日韩一二三区| 欧美日韩不卡视频| 91精品一区二区三区在线观看| 在线不卡a资源高清| 欧美一级在线观看| 精品国产一区二区三区不卡| 久久综合九色欧美综合狠狠| 久久精品欧美日韩| 中文字幕在线视频一区| 亚洲精品日韩一| 亚洲午夜精品17c| 午夜免费久久看| 精品在线观看免费| 粉嫩嫩av羞羞动漫久久久 | 在线不卡中文字幕播放| 欧美福利视频一区| 精品捆绑美女sm三区| 国产欧美一区二区三区鸳鸯浴| 亚洲欧洲国产日本综合| 亚洲精品美腿丝袜| 日韩av中文在线观看| 国精产品一区一区三区mba桃花| 国产suv精品一区二区三区| www.亚洲人| 777亚洲妇女| 久久精品这里都是精品| 夜夜嗨av一区二区三区中文字幕| 日日夜夜一区二区| 国产一区二区伦理片| av日韩在线网站| 欧美日韩国产小视频| 国产亚洲精品bt天堂精选| 伊人夜夜躁av伊人久久| 麻豆精品在线播放| 99国产一区二区三精品乱码| 9191精品国产综合久久久久久| 久久精品一区二区三区四区| 一区二区三区国产| 国产精品99久久久| 在线观看av不卡| 久久精品夜色噜噜亚洲aⅴ| 一卡二卡欧美日韩| 国产在线播放一区三区四| 色94色欧美sute亚洲线路二| 欧美精品一区二区三区视频| 一区二区在线观看视频在线观看| 日韩电影一区二区三区四区| 9i看片成人免费高清| 欧美一区二区大片| 亚洲欧美日韩国产综合在线| 国产尤物一区二区在线| 欧美久久久影院| 亚洲精品免费看| 风流少妇一区二区| 91精品国产综合久久香蕉麻豆 | 麻豆免费看一区二区三区| 色一情一伦一子一伦一区| 久久麻豆一区二区| 日韩黄色片在线观看| 色一区在线观看| 国产精品污污网站在线观看| 久久狠狠亚洲综合| 欧美日韩精品一区二区在线播放| 亚洲欧洲精品成人久久奇米网| 狠狠色狠狠色综合日日91app| 欧美伦理影视网| 亚洲精品大片www| 99久久精品国产一区二区三区| 久久精品视频在线免费观看| 九九**精品视频免费播放| 91精品国产综合久久精品图片 | 成人免费va视频| 久久久国产精品麻豆| 麻豆传媒一区二区三区| 在线观看91精品国产麻豆| 一级做a爱片久久| 色欧美88888久久久久久影院| 国产精品亲子乱子伦xxxx裸| 国产伦精一区二区三区| 久久这里都是精品| 国产麻豆欧美日韩一区| 久久综合999| 国产福利精品一区| 久久蜜桃香蕉精品一区二区三区| 国产在线不卡一卡二卡三卡四卡| 精品久久人人做人人爽| 久久99精品久久久久婷婷| 日韩午夜电影av| 久久99精品久久久久久动态图 | 91精品国产福利| 天天操天天色综合| 欧美视频日韩视频| 日韩专区欧美专区| 日韩欧美国产综合| 精品一区二区三区欧美| 精品免费一区二区三区| 国产美女久久久久| 中文字幕的久久| 91免费看`日韩一区二区| 亚洲视频免费看| 欧美日韩另类一区| 另类中文字幕网| 国产午夜精品一区二区三区嫩草 | 91蝌蚪porny| 亚洲国产乱码最新视频| 69p69国产精品| 国产乱码精品一品二品| 国产精品乱码久久久久久| av网站免费线看精品| 一级特黄大欧美久久久| 欧美一区二区三区视频在线观看| 久久97超碰国产精品超碰| 国产欧美1区2区3区| 91国偷自产一区二区三区成为亚洲经典| 亚洲国产另类精品专区| 欧美精品一区二区高清在线观看| 国产成人在线网站| 亚洲一区在线观看网站| 欧美大片免费久久精品三p| 国产精品一区免费视频| 亚洲欧美日韩中文播放| 日韩一级大片在线观看| 成人动漫av在线| 亚洲一区二区欧美|