91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 120KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-18
  • 語言: 其他
  • 標簽: code??

資源簡介

包括實驗題目,代碼及運行結果
實驗8 文件管理(2學時)
一、實驗目的
理解文件系統的主要概念及文件系統內部功能和實現過程。
二、實驗內容
采用二級文件目錄結構,編寫程序實現文件系統的文件存儲空間的管理、文件的物理結構、目錄結構管理和文件操作。
三、實驗要求
1、設計一個有m個用戶的文件系統,每個用戶最多可保存一個文件。
2、規定用戶在一次運行中只能打開K個文件。
3、系統能檢查鍵入命令的正確性,出錯時應能顯示出錯原因。
4、對文件應能設置保護措施,如只能執行、允許讀、允許寫等。
5、對文件的操作設計提供一套文件操作:
CREATE建立文件;
DELETE刪除文件;
OPEN打開文件;
CLOSE關閉文件;
READ讀文件;
WRITE寫文件。
6、二級目錄結構如下圖所示。
用戶名 用戶文件目錄地址

主文件目錄MFD

文件名 狀態(打開/建立) 指針

用戶文件目錄UFD

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
using?namespace?std;

struct?MFD{?//?主文件目錄
????string?u_name;?//?用戶名
????int?addr;?//?指向子目錄指針
}mfd[10];
int?mfdcnt;?//?用戶數
int?k;?//?每個用戶最多打開的文件數
struct?File{
????string?name;?//?文件名
????bool?exist;?//?0表示文件已經刪除,1表示文件存在
????bool?state;?//?0表示文件處于關閉狀態,1表示打開狀態
????int?protect;?//?1表示只執行,2表示只讀,3表示只寫,4表示可讀可寫
????string?content;?//?文件內容

????void?create();
????void?del();
????bool?open();
????bool?close();
????void?read();
????void?write();
};
struct?UFD{?//?用戶文件目錄
????File?file[1000];
????string?u_name;?//?用戶名
????int?id;?//?文件的總數
????int?cnt;?//?用戶文件存在的個數
????int?open_cnt;?//?用戶打開文件個數,最大為k
????void?init()?{?cnt=0;?open_cnt=0;?id=0;}
????void?create()?{?file[id].create();?cnt++;?id++;}
????void?del(int?pos)?{?file[pos].del();?cnt--;}
????void?open(int?pos)?{
????????if(open_cnt?==?k)?cout<<“您已經打開了“<????????else?{
????????????if(file[pos].open()?==?1)?open_cnt++;
????????}
????}
????void?close(int?pos)?{?if(file[pos].close()?==?1)?open_cnt--;?}
????void?read(int?pos)?{?file[pos].read();?}
????void?write(int?pos)?{?file[pos].write();?}
????int?Find(string?name)?{
????????int?pos?=?-1;??//?需要操作文件的位置
????????for(int?i=0;?i????????????if(file[i].exist==1?&&?file[i].name==name)?return?pos=i;
????????cout?<????????return?pos;
????}
}ufd[10];


void?see(string?u_name){
????int?addr?=?-1;
????for(int?i=0;?i????????if(mfd[i].u_name?==?u_name)?addr?=?mfd[i].addr;
????}
????if(addr?==?-1)?{?cout?<????else{
????????UFD?user?=?ufd[addr];
????????cout?<????????cout?<????????cout?<????????for(int?i=0;?i????????????File?f?=?user.file[i];
????????????if(f.exist?==?0)?continue;
????????????cout?<????????????if(f.state?==?0)?cout?<????????????else?cout?<????????????if(f.protect?==?1)?cout?<????????????else?if(f.protect?==?2)?cout?<????????????else?if(f.protect?==?3)?cout?<????????????cout?<????????}
????????cout?<????}
}

void?File::create(){
????cout?<>?name?>>?protect;
????cout?<>?content;
????exist?=?1;
????state?=?0;
}
void?File::del(){
????exist?=?0;
}
bool?File::open(){
????if(protect?==?1)?{?cout?<????else?if(state?==?1)?{?cout?<????else?{?state?=?1;?cout?<}
bool?File::close(){
????if(state?==?0)?{?cout?<????else?{?state?=?0;?cout?<}
void?File::read(){
?

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????5170??2018-06-13?20:36??main.cpp
?????文件???????35840??2018-06-13?15:08??實驗題目8.doc
?????文件??????124818??2018-06-13?20:40??新建?Microsoft?Word?文檔.docx

評論

共有 條評論