编一个通过屏幕选择命令的文件管理系统,每屏要为用户提供足够的选择信息,不需要打入冗长的命令。
题目要求:
编一个通过屏幕选择命令的文件管理系统,每屏要为用户提供足够的选择信息,不需要打入冗长的命令。
代码:
#include <iostream> #include <string> #include <conio.h> using namespace std; struct UFD //用户目录文件 { string File_Name; //文件名 bool R,W,X; // 读写执行 int Len_File; //文件大小 }; struct MFD //主文件夹目录 { string User_Name; //用户名 UFD * Pointer; //用户文件目录指针 }; struct AFD //运行文件目录 { int File_ID;// 文件号 bool R, W, X; int Pointer;//读写指针 }; class FILE_SYSTEM { public: void Inital(); void Start(); private: int Num_User; //用户数量 int Num_File; //每个用户可保存的文件数 int MAX_Open_File; //打开的最大文件数 MFD * Mfd; // 主文件目录 UFD * Ufd; // 用户文件目录 AFD * Afd; //运行文件目录 }; int main() { FILE_SYSTEM FS; FS.Inital(); FS.Start(); return 0; } void FILE_SYSTEM::Inital() { Num_File = 10; Num_User = 10; MAX_Open_File = 5; //UFD Ufd = new UFD[Num_User*Num_File]; //MFD Mfd = new MFD[Num_User]; for(int i = 0 ; i < Num_User; i++) { Mfd[i].Pointer = &(Ufd[i*Num_File]); } //AFD Afd = new AFD[MAX_Open_File]; Mfd[0].User_Name="wzn"; Ufd[0].File_Name="1.txt"; Ufd[0].Len_File=10; Ufd[0].R=true; Ufd[0].W=false; Ufd[0].X =false; Ufd[1].File_Name="2.txt"; Ufd[1].Len_File=15; Ufd[1].R=false; Ufd[1].W=false; Ufd[1].X =true; for(int i = 2; i < Num_File; i++) //其他人没有文件存在 { Ufd[i].File_Name=""; Ufd[i].Len_File=-1; Ufd[i].R=false; Ufd[i].W=false; Ufd[i].X =false; } } void showOrder() { cout << "Order list" << endl; cout << "\t1. dir\t"; cout << "\t2. diropen" << endl; cout << "\t3. create"; cout << "\t4. delete" << endl; cout << "\t5. open\t"; cout << "\t6. logout" << endl; cout << "\t7. close"; cout