資源簡介
文件管理系統login 用戶登陸
dir 列文件目錄
create 創建文件
delete 刪除文件
open 打開文件
close 關閉文件
read 讀文件
write 寫文件
代碼片段和文件信息
#include??
#include??
#include?
#include???
#include
using?namespace?std;?
#if?_MSC_VER>1000??
#pragma?once??
#endif??//_MSC_VER>1000??
??
extern?int?disk_block[10000];??
extern?int?disk_empty;??
typedef?struct?UFD??????//存儲文件信息??
{??
????char?name[10];??????//文件名??
????int?attribute;??????//屬性??
????int?open;
????int?length;
????char?content[10000];?????????//長度??
????int?a[10];??????//為文件本身分配10個空間??
????int?*p1;????????????//一級索引,100個空間??
????int?(*p2)[100];?????//二級索引,100*100個空間??
????struct?UFD?*next;??
}UFD;??
typedef?struct?DIR??????//存儲目錄信息??
{??
????DIR*?above;?????????//上一結點??
????char?name[10];??
????int?length;??
????DIR?*next;??????????//下一結點??
????UFD?*File_head;?????//此目錄下的文件指針??
????DIR?*Dir_head;??????//此目錄下目錄鏈表指針??
}DIR;??
??
class?Cuse??????????????//定義管理用戶目錄的類??
{??
????DIR?*now;???????????//當前目錄??
????UFD?*Fhead;?????????//文件的頭結點??
????DIR?*Dhead;?????????//根目錄的目錄鏈頭結點??
????char?code[10];??????//密碼??
????char?name[10];??????//用戶名??
????int?length;?????????//用戶空間大小??
????int?status;?????????//是否獲得空間??
public:??
????void?set_status(int);???
????int?dis_file();?????//顯示文件所占外存塊號??
????int?dis_dir(DIR?*d);//當前路徑??
????int?get_length();??
????char?const?*get_name();??
????char?const?*get_code();??
????int?get_status();??
????int?set_user(char?*char?*);//設置用戶名與密碼??
????DIR?*get_now();??
????int?dele_file(UFD?*f);??????//刪除文件???
????Cuse();?????????????????????//構造??
????~Cuse();????????????????????//析構??
????int?dis_now();??????????????//顯示當前目錄??
????int?new_file();?
????int?open_file();?
????int?first_dele_file();??????//刪除文件的前部分工作??
????int?set_code();??
};??
??
class?Cdisk{????????????????????//用戶類??
public:??
????Cuse?user[5];???????//用戶個數最多為5??
????char?code[10];??
????int?dis_disk();?????
????int?new_user();?????????????//查看當前用戶與外存空間使用情況,后創建新用戶??
????int?set_code();?????????????//設置新密碼??
????int?login(int);????????????????//登陸??
????Cdisk();??
????virtual~Cdisk();????????????//虛函數,析構??
};??
??
int?disk_block[10000];??
int?disk_empty;??
Cdisk::Cdisk()??????//管理磁盤的類,構造函數??
{??
????int?i=0;??
????char?code[10]=“123456“;??
????for(i=0;i<10000;i++)?????//初始化所有磁盤塊為空閑??
????????disk_block[i]=0;??
????//this->user[0].set_user(“student““123“);//默認一個用戶??
????disk_empty=10000;??
????cout.setf(ios::left);???//設置輸出方式??
}??
Cdisk::~Cdisk()?????//析構??
{??
}??
??
??
int?Cdisk::dis_disk()???????//檢查磁盤信息??
{??
????int?i=0;??
????printf(“用戶名?????占用空間大小\n“);??
????for(i=0;i<5;i++)??
????????if(user[i].get_status()==1)?????//存在的用戶的信息??
?????????????printf(“%s????%d\n“user[i].get_name()user[i].get_length());??
????????printf(“已用空間:%d\n“10000-disk_empty);
printf(“剩余空間:%d\n“disk_empty);??
????????return?1;??
}??
int?Cdisk::login(int?b)????????//登陸??
{??
????char?n[10]c[10];??
????int?i;??
????if(b==1)??
????{??
????????printf(“用戶:管理員\n“);??
????????printf(“密碼:默認\n“);???
????????return?
- 上一篇:編譯原理 語法分析 語法樹生成
- 下一篇:LL1文法判斷C++自己的課程設計
評論
共有 條評論