資源簡介
操作系統課程大作業-文件管理系統(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個文件信息
評論
共有 條評論