资源简介
1)用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解。
(2)要求设计一个 n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。
代码片段和文件信息
#include
#include
#include
#include
#include
//下述频繁判断,提高代码复用,减少代码量,定义为宏
#define ifso if(command == “yes“)
#define ifContainUser if(mfd.ufd_count == 0)\
{ \
cout<<“请至少创建一个用户“< return;\
}
#define ifContainMFD if(mfd.ufd_count == 0)\
{ return;}
using namespace std;
string command; //频繁命令输入,不妨声明为全局变量
int system_MFD_count = 0;//全局变量,是否含有主目录
vector v_user_name; //将用户的名字装入容器
class File{
public:
string file_name;
string user_name;
string content;
bool state; //文件为打开状态还是关闭状态
public:
File(){
file_name = ““;
user_name = ““;
content = ““;
state = false;
}
void setFile(string fstring u){
file_name = f;
user_name = u;
}
void setContent(string c){
content = c;
}
void showInfo(){
cout<<“文件名\t文件所有者\t文件状态“;
cout< if(state = false)
cout<<“关闭“< else
cout<<“打开“< }
void showContent(){
cout< }
};
class AFD{ //运行文件目录
public:
int runing_file_number;
vector v_file; //为了增删方便,用容器储存
public:
AFD(){
runing_file_number = 0;
}
bool addFile(File f){ //文件打开时加进运行文件容器
if(runing_file_number == 5)
{
cout<<“已达到最大运行数量“< return false;
}
v_file.push_back(f);
runing_file_number++;
return true;
}
void deleteFile(File& f){ //关闭文件时从运行文件容器删除
vector::iterator it = v_file.begin();
while(it != v_file.end())
{
if(it->file_name == f.file_name)
{
v_file.erase(it);
cout<<“文件关闭成功!“< f.state = false; //引用传递,将文件置为关闭状态
runing_file_number--;
return;
}
it++;
}
}
void showRunFile(){
cout<<“运行文件:“< vector::iterator it = v_file.begin();
while(it != v_file.end())
{
cout<file_name< it++;
}
}
};
AFD afd;
class UFD{
public:
string user_name;
File file[10];
int file_count;
string password;
public:
void setUFD(string ustring p){
user_name = u;
password = p;
}
void setFile(File f[]){
for(int i = 0;i < file_count;i++)
{
file[i] = f[i];
}
}
void showInfo()
{
cout<<“用户名\t文件列表“< cout< for(int i = 0;i < file_count;i++)
cout< cout<
相关资源
- c和c++库函数快速查询资料
- C++加解密算法源代码大全
- C++封装mp3文件转wav文件的DLL
- 删除文件恢复C++实现
- 矩阵运算C++实现.doc
- 运动目标检测 c++ 图像编程
- C++ 坐标点数据转shp矢量数据
- C++钩子模仿按键精灵屏幕录制
- C++读取和保存 txt 格式数据文件的方法
- c++ 使用while读取不定量的输入数据方
- SLICSuperpixels 超像素分割图 C++代码
- NMEA0183解析 c++
- WindowsVC++获取CPU整体使用率
- viterbi译码算法c++实现以及程序所对应
- Visual C++ 开发OPC 客户端
- 贪吃蛇 小游戏 代码C++编写,面向对象
- c++分数评价
- vc++ 运用MFC实现基于AfxMessageBox的 自定
- VC++中文繁体、简体BIG-GBK编码转换程序
- 学生考勤管理系统源代码
- C++实现Apriori算法
- c++实现的读写csv文件
- C++ Prime Plus中文版第六版
- 钱能c++程序设计教程修订版答案
- 用C\\C++实现操作系统经典同步问题,
- Visual C++ 2013 从入门到精通源代码
- C++商店购物系统课程设计论文
- C++版本的百度搜索爬虫获取搜索结果
- 利用opengl 组件的基础上使用VC++编写的
- CC++ To Delphi转换器(源码)
评论
共有 条评论