• 大小: 20KB
    文件类型: .cpp
    金币: 2
    下载: 1 次
    发布日期: 2021-07-27
  • 语言: C/C++
  • 标签: 操作系统  

资源简介

文件管理系统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 

评论

共有 条评论