• 大小: 1.04MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-23
  • 语言: C/C++
  • 标签:

资源简介

操作系统课程大作业-文件管理系统(C++版)

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include
#define NULL 0
#define get(type) (type *)malloc(sizeof(type)) //分配空间

struct fcb
{
char fcbname[10];   //文件名
int type;           //文件类型,0为文件,1为文件夹 
int length;         //文件长度
int protect;        //保护码,0为只读,1为可读写
int flag;           //文件状态0为关闭状态,1为打开状态
char *content;      //文件内容
int share;          //文件共享状态0为不共享状态,1为共享状态
struct fcb *parent; 
struct fcb *child;
struct fcb *next;
struct jiedian *jdparent;  //指向该文件的索引结点
struct jiedian *jdnext;  //用来链接共享索引结点
};
typedef struct fcb FCB;
FCB *fcb=NULL*currentfcb=NULL*copyfcb[10]; //currentfcb指出当前的目录,copyfcb用于复制文件(夹)

struct user
{
    char username[10]; //用户名
    FCB *fcb;          //该用户下的目录文件
struct user *parent;
    struct user *next;
};
typedef struct user USER;
USER *user=NULL*currentuser=NULL; //currentfcb指出当前的用户

struct jiedian  //索引结点,可为文件共享所使用
{
    char filename[10];  //索引结点所指的文件名称
char rename[10];
    FCB *fcb;           //索引结点指向的文件
int share;     //0表示该结点没有共享,1表示共享
struct jiedian *sharenext;  //链接共享索引结点
struct jiedian *front;
    struct jiedian *next;
};
typedef struct jiedian JD;
JD *head=NULL;

//函数声明
void user_menu(); //用户管理界面菜单
void file_menu(); //文件管理界面菜单
void createuser(); //创建用户
void deleteuser(); //删除用户
void displayuser(); //显示用户
void loginuser(); //用户登录
void displayfile(); //显示文件(夹)
void createfile(FCB *fint flag); //创建文件(夹)
void deletefile(FCB *fint flag); //删除文件(夹)
void openfile(FCB *fint flag); //打开文件(夹)
void readfile();   //读取文件
void writefile();  //写入文件
void search(int flag); //查找文件(夹)
void closefile();  //关闭文件
void back();       //返回上一层
void copyfile(FCB *fint flag);   //复制文件(夹)
void pastefile();  //粘贴文件(夹)
void share(); //共享文件
void cancleshare(); //撤消共享文件
void rename(FCB *fint flag); //重命名文件(夹)
void quit();       //退出系统


void main()   //主函数
{  
user_menu();//用户管理界面
}

void user_menu()      //显示用户菜单
{
system(“cls“); //清屏
int select;
printf(“\t****************************************************\n“);
printf(“\t* 班级:软件xx级xx班  姓名:xxxxxx 学号:xxxxxxxxxxxx *\n“);
printf(“\t****************************************************\n“);
printf(“\t*          欢迎使用多用户多级目录文件系统          *\n“);
printf(“\t****************************************************\n“);
printf(“\n\t功能选择:\n“);
printf(“\t1、用户登录\n\t2、创建用户\n\t3、删除用户\n\t4、查看用户\n\t5、退出系统\n\t\n“);      
printf(“ 请选择:“);
scanf(“%d“&select); 
switch(select)
{
   case 1:
   loginuser(); //用户登录
   file_menu();
   break;  
   case 2:
   createuser(); //创建用户
   break;  
   case 3:
   deleteuser(); //删除用户
   break;        
   case 4:
   displayuser(); //显示用户
   getchar();
   getchar();
   user_menu();
   break;
   case 5:
   system(“cls“); //退出
   printf(“\n\n\n\t\t\t\t感谢你的使用!\n\n“);
   getch();
   exit(0);
   break;
   default :
   printf(“\n\n\t\t\t输入错误,请重新输入。\n“

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      55296  2015-06-30 16:48  文件管理系统\filemanager\Debug\filemanager.exe

     文件     361492  2015-06-30 16:48  文件管理系统\filemanager\Debug\filemanager.ilk

     文件     502784  2015-06-30 16:48  文件管理系统\filemanager\Debug\filemanager.pdb

     文件       1306  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\cl.command.1.tlog

     文件       2866  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\CL.read.1.tlog

     文件        764  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\CL.write.1.tlog

     文件     100046  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\filemanage.obj

     文件         60  2015-06-30 14:33  文件管理系统\filemanager\filemanager\Debug\filemanager.Build.CppClean.log

     文件        406  2015-06-30 14:33  文件管理系统\filemanager\filemanager\Debug\filemanager.exe.embed.manifest

     文件        472  2015-06-30 14:33  文件管理系统\filemanager\filemanager\Debug\filemanager.exe.embed.manifest.res

     文件        381  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\filemanager.exe.intermediate.manifest

     文件         70  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\filemanager.lastbuildstate

     文件      20352  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\filemanager.log

     文件     100042  2015-06-30 15:34  文件管理系统\filemanager\filemanager\Debug\filemanager.obj

     文件        707  2015-06-30 15:11  文件管理系统\filemanager\filemanager\Debug\filemanager.vcxprojResolveAssemblyReference.cache

     文件          0  2015-06-30 14:33  文件管理系统\filemanager\filemanager\Debug\filemanager.write.1.tlog

     文件        212  2015-06-30 14:33  文件管理系统\filemanager\filemanager\Debug\filemanager_manifest.rc

     文件          2  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\link-cvtres.read.1.tlog

     文件          2  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\link-cvtres.write.1.tlog

     文件          2  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\link.2944-cvtres.read.1.tlog

     文件          2  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\link.2944-cvtres.write.1.tlog

     文件          2  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\link.2944.read.1.tlog

     文件          2  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\link.2944.write.1.tlog

     文件          2  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\link.5876-cvtres.read.1.tlog

     文件          2  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\link.5876-cvtres.write.1.tlog

     文件          2  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\link.5876.read.1.tlog

     文件          2  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\link.5876.write.1.tlog

     文件       1602  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\link.command.1.tlog

     文件       3048  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\link.read.1.tlog

     文件        874  2015-06-30 16:48  文件管理系统\filemanager\filemanager\Debug\link.write.1.tlog

............此处省略27个文件信息

评论

共有 条评论