资源简介
操作系统课程大作业-文件管理系统(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.em
文件 472 2015-06-30 14:33 文件管理系统\filemanager\filemanager\Debug\filemanager.exe.em
文件 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\li
文件 2 2015-06-30 16:48 文件管理系统\filemanager\filemanager\Debug\li
文件 2 2015-06-30 16:48 文件管理系统\filemanager\filemanager\Debug\li
文件 2 2015-06-30 16:48 文件管理系统\filemanager\filemanager\Debug\li
文件 2 2015-06-30 16:48 文件管理系统\filemanager\filemanager\Debug\li
文件 2 2015-06-30 16:48 文件管理系统\filemanager\filemanager\Debug\li
文件 2 2015-06-30 16:48 文件管理系统\filemanager\filemanager\Debug\li
文件 2 2015-06-30 16:48 文件管理系统\filemanager\filemanager\Debug\li
文件 2 2015-06-30 16:48 文件管理系统\filemanager\filemanager\Debug\li
文件 2 2015-06-30 16:48 文件管理系统\filemanager\filemanager\Debug\li
文件 1602 2015-06-30 16:48 文件管理系统\filemanager\filemanager\Debug\li
文件 3048 2015-06-30 16:48 文件管理系统\filemanager\filemanager\Debug\li
文件 874 2015-06-30 16:48 文件管理系统\filemanager\filemanager\Debug\li
............此处省略27个文件信息
评论
共有 条评论