OS实验2文件管理系统源码1.docx
- 文档编号:29096852
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:23
- 大小:17.80KB
OS实验2文件管理系统源码1.docx
《OS实验2文件管理系统源码1.docx》由会员分享,可在线阅读,更多相关《OS实验2文件管理系统源码1.docx(23页珍藏版)》请在冰豆网上搜索。
OS实验2文件管理系统源码1
#include
#include
#include
#include
#include
structFlie
{
inted;//判断是否正存放文件
charf_name[8];//文件名
charf_c[8];//存放文件内容
intatt;//文件属性0为只读1为只写//用于指向文件内容模块
}fa[8],fg[8];
intx,k=0;//全局钥匙
voidcheck()//密码认证
{
intcheck,a=1;
charpin1[]="a";//此处设定用户口令
charpin[20];
while(a)
{
printf("****************************\n");
printf("*文件管理系统用户登录*\n");
printf("****************************\n");
printf("请选择用户:
\n");
printf("1.Administrator2.Guest3.退出系统\n");
scanf("%d",&x);
getchar();
if(x==3)
{
system("cls");
break;
}
printf("请输入密码:
");
scanf("%s",pin);
check=strcmp(pin,pin1);
if(check!
=0)
{
system("cls");
printf("\n密码错误!
请重新输入:
\n");
}
else
{
system("cls");
a=0;
}
}
}
voidcreatefile()/*创建文件操作*/
{
inthandle=1,a,check,i,j,h;
charname[8],pin[8],f_c[8];
while
(1)
{printf("不能超过8个文件!
\n");
printf("****************************\n");
printf("*创建文件*\n");
printf("****************************\n");
printf("请输入所要创建的文件名称:
\n");
scanf("%s",name);
if(x==1)
{
for(i=0;i<8;i++)
{
for(h=0;h<8;h++)
pin[h]=fa[i].f_name[h];
check=strcmp(pin,name);
if(check!
=0){}
else
{
printf("\n创建错误!
..........................文件已经存在!
\n");
Sleep(1000);
handle=0;
getchar();
}
break;
}
if(k>=8)
{
printf("已经超过8个文件!
");
break;
}
if(handle==1)
{
for(h=0;h<8;h++)
if(fa[h].ed==0)
{
strcpy(fa[h].f_name,name);
while
(1)
{
printf("\n请选择文件属性(0.只读-1.只写):
");
scanf("%d",&a);
getchar();
if(a==0||a==1)
{
fa[h].att=a;
printf("\n创建文件成功.\n");
fa[h].ed=1;
k=k+1;
printf("请注意,该文件保护码为:
K=%d\n",k);
break;
}
else
printf("错误!
请重新输入:
\n");
}
printf("请输入文件内容:
");
scanf("%s",fa[h].f_c);
printf("输入内容成功!
\n");
break;
}
}
break;
}
if(x==2)
{
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
pin[j]=fg[i].f_name[j];
check=strcmp(pin,name);
if(check!
=0){}
else
{
printf("\n创建错误!
文件已经存在!
");
handle=0;
break;
}
}
if(handle==1)
{
for(h=0;h<8;h++)
if(fa[h].ed==0)
{
strcpy(fg[h].f_name,name);
while
(1)
{
printf("\n请选择文件属性(0.只读-1.只写):
");
scanf("%d",&a);
getchar();
if(a==0||a==1)
{
fg[h].att=a;
printf("\n创建文件成功.\n");
fg[h].ed=1;
k=k+1;
printf("请注意,该文件保护码为:
:
K=%d\n",k);
break;
}
else
printf("错误!
请重新输入:
\n");
}
printf("请输入文件内容:
");
scanf("%s",fg[h].f_c);
printf("输入内容成功!
\n");
break;
}
}
break;
}
}
}
voiddeletefile()//删除文件;
{
charname[8],same[8];
inti,check,h;
while
(1)
{
if(x==1)
{
printf("请输入所要删除的文件名称:
");
scanf("%s",name);
for(i=0;i<8;i++)
{
for(h=0;h<8;h++)
same[h]=fa[i].f_name[h];
check=strcmp(same,name);
if(check!
=0)
{
printf("文件不存在!
");
break;
}
else
{
strcpy(fa[i].f_name,"");
strcpy(fa[i].f_c,"");
fa[i].ed=0;
printf("删除成功!
");
getchar();
break;
}
}
break;
}
if(x==2)
{
printf("请输入所要删除的文件名称:
");
scanf("%s",name);
for(i=0;i<8;i++)
{
for(h=0;h<8;h++)
same[h]=fg[i].f_name[h];
check=strcmp(same,name);
if(check!
=0)
{
printf("文件不存在!
");
break;
}
else
{
strcpy(fg[i].f_name,"");
strcpy(fg[i].f_c,"");
fg[i].ed=0;
printf("删除成功!
");
getchar();
break;
}
}
}
break;
}
}
voidopenfile()//打开文件;
{
while
(1)
{
inti;
if(x==1)
{
printf("请输入文件保护码:
");
scanf("%d",&i);
if(i<=k)
printf("文件%s:
%s\n",fa[i].f_name,fa[i].f_c);
else
printf("请重新输入I");
break;
}
if(x==2)
{
printf("请输入i的值:
");
scanf("%d",&i);
if(i<=k)
printf("文件%s:
%s\n",fg[i].f_name,fg[i].f_c);
else
printf("请重新输入");
break;
}
}
getchar();
}
voidmodifyfile()//修改文件;
{
inti,h,j;
charname[8],name1[8];
printf("1.修改文件名称\n2.修改文件属性\n");
scanf("%d",&i);
if(x==1)
{
for(h=0;h printf("文件名为: %s\n",fa[h].f_name); printf("文件属性: %d\n",fa[h].att); if(i==1) { printf("请输入要修改的文件名称: "); scanf("%s",name); for(h=0;h { if(strcmp(name,fa[h].f_name)==0) { printf("请输入新的文件名: "); scanf("%s",name1); strcpy(fa[h].f_name,name1); printf("修改成功! "); Sleep(1000); break; } else printf("没找到相应的文件! "); } } if(i==2) { printf("请输入要修改的文件名称: "); scanf("%s",name); for(h=0;h { if(strcmp(name,fa[h].f_name)==0) { Sleep(1000); printf("请选择: 1.只读/2.只写\n"); scanf("%d",&j); if(j==1) fa[h].att=0; else fa[h].att=1; printf("修改成功! "); Sleep(1000); break; } } } } if(x==2) { for(h=0;h printf("文件名为: %s\n",fg[h].f_name); printf("文件属性: %d\n",fg[h].att); if(i==1) { printf("请输入要修改的文件名称: "); scanf("%s",name); for(h=0;h { if(strcmp(name,fg[h].f_name)==0) { printf("请输入新的文件名: "); scanf("%s",name1); strcpy(fg[h].f_name,name1); printf("修改成功! "); Sleep(1000); break; } else printf("没找到相应的文件! "); } } if(i==2) { printf("请输入要修改的文件名称: "); scanf("%s",name); for(h=0;h { if(strcmp(name,fg[h].f_name)==0) { printf("请选择: 1.只读/2.只写\n"); scanf("%d",&j); if(j==1) fg[h].att=0; else fg[h].att=1; printf("修改成功! "); Sleep(1000); break; } else printf("没找到相应的文件! "); } } } } voidcopyfile()//复制文件; { inth; charname[8]; intj; if(x==1) { for(h=0;h { printf("文件名为: %s\n",fa[h].f_name); printf("文件属性: %d\n",fa[h].att); printf("文件内容: %s\n",fa[h].f_c); printf("******************\n"); } printf("请输入需要复制的文件名: "); scanf("%s",name); for(h=0;h { if(strcmp(name,fa[h].f_name)==0) printf("复制文件成功! \n"); if(k<8) { printf("进行粘贴吗? 请选择: 1.YES2.N0T\n"); scanf("%d",&j); if(j==1) { fa[k].att=fa[h].att; fa[k].ed=fa[h].ed; strcpy(fa[k].f_c,fa[h].f_c); strcpy(fa[k].f_name,fa[h].f_name); printf("粘贴成功: \n"); k=k+1; Sleep(1000); for(h=0;h { printf("文件名为: %s\n",fa[h].f_name); printf("文件属性: %d\n",fa[h].att); printf("文件内容: %s\n",fa[h].f_c); printf("文件状态: %d\n",fa[h].ed); printf("********************\n"); Sleep(2000); } break; } } } } if(x==2) { for(h=0;h { printf("文件名为: %s\n",fg[h].f_name); printf("文件属性: %d\n",fg[h].att); printf("文件内容: %s\n",fg[h].f_c); printf("******************\n"); } printf("请输入需要复制的文件名: "); scanf("%s",name); for(h=0;h { if(strcmp(name,fg[h].f_name)==0) printf("复制文件成功! \n"); if(k<8) { printf("进行粘贴吗? 请选择: 1.YES2.N0T\n"); scanf("%d",&j); if(j==1) { fg[k].att=fg[h].att; fg[k].ed=fg[h].ed; strcpy(fg[k].f_c,fg[h].f_c); strcpy(fg[k].f_name,fg[h].f_name); printf("粘贴成功: \n"); Sleep(1000); k=k+1; for(h=0;h { printf("文件名为: %s\n",fg[h].f_name); printf("文件属性: %d\n",fg[h].att); printf("文件内容: %s\n",fg[h].f_c); printf("文件状态: %d\n",fg[h].ed); printf("********************\n"); Sleep(3000); } break; } } } } } voidcatalogue()/*目录管理子程序*/ { intx,a=1,h; while(a)/*目录管理操作*/ { printf("****************************\n"); printf("*目录管理*\n"); printf("****************************\n"); printf("1.显示目录2.退出目录\n"); printf("****************************\n"); printf("请选择: "); scanf("%d",&x); while(x<1||x>2) { printf("\n错误! 请重新输入: "); scanf("%d",&x); } switch(x) { case1: /*显示目录操作*/ { system("cls"); printf("\n文件目录为: \n"); for(h=0;h { if(x==1) printf("\nAdministrator/%s文件\n",fa[h].f_name); printf("..........."); if(x==2) printf("\nGuest/%s文件\n",fg[h].f_name); printf("..........."); } a=0; getchar(); break; } case2: /*退出目录管理操作*/ { system("cls"); getchar(); a=0; break; } } getchar(); break; } } intinit()/*初始化操作界面函数*/ { inti; printf("****************************\n"); printf("*文件管理系统*\n"); printf("-------------------------------------------------------\n"); printf("1.创建文件2.删除文件3.打开文件4.修改文件\n"); printf("5.复制粘贴6.目录管理7.消注\n"); printf("________________________________________________________\n"); printf("________________________________________________________\n"); printf("请您选择: "); scanf("%d",&i); return(i);/*选择相应的序号,执行相应的操作*/ } voidmain() { intflag=1,i; check(); while(flag)/*初始化系统界面*/ { if(x==3) { exit(0); } i=init(); getchar(); switch(i) { case1: /*创建文件*/ { system("cls"); printf("不能超过8个文件! "); createfile(); break; } case2: /*删除文件*/ { system("cls"); deletefile(); break; } case3: //打开文件 { system("cls"); openfile(); break; } case4: //修改文件 { system("cls"); modifyfile(); system("cls"); break; } case5: //复制、粘贴文件 { system("cls"); copyfile(); system("cls"); break;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OS实验2 文件管理系统源码1 OS 实验 文件 管理 系统 源码