亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fcb.cpp

?? 數據結構課程設計
?? CPP
字號:
// ddf.cpp : Defines the entry point for the console application.
//

#include "stdio.h"
#include "conio.h"
#include <string.h>

int jp=0,flag=0;    /*flag為當前系統是否有用戶登錄的標記,jp保存當前用戶的號數*/
char name[10];
struct ufd{char filename[10];    /*用戶文件目錄*/
           char pcode[4];
           char type[5];
           char length[5];
           }file[10][10];
     typedef struct ufd UFD;

struct mfd{char username[12];    /*用戶主目錄*/
           UFD *link;
           }user[10];
     typedef struct mfd MFD;

struct afd{char aname[10];   /*正在運行文件目錄*/
           char pcode[4];
           char type[5];
           char state[2];
           }afile[5];
typedef struct afd AFD;


void init()             /*對系統初始化*/
 {int i=0;
  for(i=0;i<10;i++)          /*初始化主目錄*/
    {user[i].link=file[0];
     strcpy(user[0].username,"user1");
     strcpy(user[1].username,"user2");
     strcpy(user[2].username,"user3");
     strcpy(user[3].username,"user4");
     strcpy(user[4].username,"user5");
     strcpy(user[5].username,"user6");
     strcpy(user[6].username,"user7");
     strcpy(user[7].username,"user8");
     strcpy(user[8].username,"user9");
     strcpy(user[9].username,"user0");
    }
  for(i=0;i<10;i++)                   /*初始化用戶文件*/
   {  strcpy(file[i][0].filename,"f1");   /*初始化文件名*/
      strcpy(file[i][1].filename,"f2");
      strcpy(file[i][2].filename,"f3");
      strcpy(file[i][3].filename,"f4");
      strcpy(file[i][4].filename,"f5");
      strcpy(file[i][5].filename,"f6");
      strcpy(file[i][6].filename,"f7");
      strcpy(file[i][7].filename,"f8");
      strcpy(file[i][8].filename,"");
      strcpy(file[i][9].filename,"");

      strcpy(file[i][0].pcode,"434");   /*初始化保護碼*/
      strcpy(file[i][1].pcode,"054");
      strcpy(file[i][2].pcode,"662");
      strcpy(file[i][3].pcode,"667");
      strcpy(file[i][4].pcode,"333");
      strcpy(file[i][5].pcode,"885");
      strcpy(file[i][6].pcode,"998");
      strcpy(file[i][7].pcode,"777");
      strcpy(file[i][8].pcode,"");
      strcpy(file[i][9].pcode,"");

      strcpy(file[i][0].type,"jpg");   /*初始化文件類型*/
      strcpy(file[i][1].type,"cc");
      strcpy(file[i][2].type,"jsp");
      strcpy(file[i][3].type,"obj");
      strcpy(file[i][4].type,"docx");
      strcpy(file[i][5].type,"psf");
      strcpy(file[i][6].type,"png");
      strcpy(file[i][7].type,"exl");
      strcpy(file[i][8].type,"");
      strcpy(file[i][9].type,"");

      strcpy(file[i][0].length,"2");  /*初始化文件長度*/
      strcpy(file[i][1].length,"4");
      strcpy(file[i][2].length,"2");
      strcpy(file[i][3].length,"6");
      strcpy(file[i][4].length,"5");
      strcpy(file[i][5].length,"6");
      strcpy(file[i][6].length,"1");
      strcpy(file[i][7].length,"8");
      strcpy(file[i][8].length,"");
      strcpy(file[i][9].length,"");
  }
 }

  void printMFD()       /*打印輸出系統全部用戶*/
 {
  int i;
  printf("\n--------------------------------系統中的全部用戶--------------------------------");
  for(i=0;i<10;i++)
   {
    printf("%d.%s\t\t",i,user[i].username);
   }
  printf("--------------------------------------------------------------------------------");
 }

 void printUFD(int n)    /*打印輸出當前用戶全部文件及其狀態*/
  { int i;
     printf("\n------------------------------用戶%s目錄下的文件-----------------------------\n",user[jp].username);
     printf("文件名\t 保護碼\t 文件類型\t 文件長度\n");
     for(i=0;i<10;i++)
      {
       printf("%d.%s\t",i,file[n][i].filename);
       printf(" %s\t ",file[n][i].pcode);
       printf("%s\t\t ",   file[n][i].type);
       printf("%s\n",   file[n][i].length);
      }
     printf("--------------------------------------------------------------------------------");
  }

 void printAFD()     /*打印輸出正在運行的文件及其狀態*/
 {int i;
  printf("\n-------------------------------運行文件目錄-------------------------------------");
  printf("文件名\t 保護碼\t 類型\t 狀態\n");
  for(i=0;i<5;i++)
   {
    printf("%d.%s\t",i,afile[i].aname);
    printf(" %s\t",afile[i].pcode);
    printf(" %s\t ",afile[i].type);
    printf("%s\n",afile[i].state);
    }
  printf("--------------------------------------------------------------------------------");
 }

 void printExcel()       /*打印輸出操作功能選項表*/
  {
  printf("\n-----------------------------------命令選項表-----------------------------------");
  printf("1.create\t\t2.delete\t\t3.open\t\t4.bye\t\t5.close\t\t\t6.read\t\t\t7.write\t\t8.print\n");
  printf("--------------------------------------------------------------------------------");
  }

 checkFilename(int i)    /*當創建新文件時,檢查是否重名*/
    {int j=0;
     for(j=0;j<i;j++)
       {if(strcmp(file[jp][i].filename,file[jp][j].filename)==0)
         {strcpy(file[jp][i].filename,"");
          printf("輸入的文件名已有,請重新輸入\n");
          scanf("%s",file[jp][i].filename);
          j=0;
          }
       }
     }

  void Create()           /*創建用戶文件*/
  {
   int n,i,flag1=0;
   for(i=0;i<10;i++)
       {if(strcmp(file[jp][i].filename,"")==0) /*如當前用戶創建的文件還沒有10個,則在末尾建立新文件*/
         {printf("請輸入要創建的文件的文件名:");
          scanf("%s",file[jp][i].filename);
          checkFilename(i);                 /*檢查所輸入的文件名是否與原文件名重名*/
          printf("輸入保護碼:");
          scanf("%s",file[jp][i].pcode); /*輸入保護碼*/
          printf("輸入文件類型:");
          scanf("%s",file[jp][i].type);
          printf("輸入文件的長度:");
          scanf("%s",file[jp][i].length);    /*輸入文件長度*/
          flag1=1;
          }
        if(flag1==1)break;
       }
    if(flag1==1)printUFD(jp);
    if(flag1==0)printf("不能創建文件,當前用戶文件目錄已滿!\n");  /*若文件滿10個,則輸出出錯信息*/
 }

void Delete()                  /*刪除文件*/
 {
  int n,p,i,j,flag2=0;
   printUFD(jp);
   printf("請輸入要刪除的文件名");
   scanf("%s",name);
   for(i=0;i<10;i++)
       {
        if (strcmp(file[jp][i].filename,name)==0)
         {
          p=i;
          break;
         }
       }
       if(i==10)
       {
        printf("無此文件\n");
        return;
       }
    if(strcmp(file[jp][p].filename,"")!=0)       /*若所選用戶文件非空,則刪除所選文件*/
         {flag2=1;
          for(i=0;i<5;i++)                /*若所選文件在AFD中,則刪除AFD中的所選文件*/
           {if(strcmp(afile[i].aname,file[jp][p].filename)==0)
             {strcpy(afile[i].aname,"");
              strcpy(afile[i].pcode,"");
              strcpy(afile[i].state,"");
               for(j=i;j<4;j++)              /*AFD中在刪除文件之后的文件前移*/
                {afile[j]=afile[j+1];
                 strcpy(afile[j+1].aname,"");
                 strcpy(afile[j+1].pcode,"");
                 strcpy(afile[j+1].type,"");
                 strcpy(afile[j+1].state,"");
                 }
              }
            }
            strcpy(file[jp][p].filename,"");
            strcpy(file[jp][p].pcode,"");
            strcpy(file[jp][p].length,"");
           for(i=p;i<9;i++)                /*刪除文件之后,所刪除文件之后的文件前移*/
             {file[jp][i]=file[jp][i+1];
              strcpy(file[jp][i+1].filename,"");
              strcpy(file[jp][i+1].pcode,"");
              strcpy(file[jp][i+1].length,"");
             }
         }
 if(flag2==1)printUFD(jp);
 if(flag2==0) printf("\n沒有該文件\n"); /*當前用戶無該文件,出錯*/
 }

void Open()          /*打開文件*/
     {
      int n=0,i=0,flag3=0;
      printUFD(jp);
      printf("請輸入你要打開的文件名:");
      scanf("%s",name);
      for(i=0;i<10;i++)
       {
        if (strcmp(file[jp][i].filename,name)==0)
         {
          n=i;
          break;
         }
       }
       if(i==10)
       {
        printf("無此文件\n");
        return;
       }
      for(i=0;i<5;i++)
       {if(strcmp(afile[i].aname,"")==0)     /*如AFD沒滿5個文件,把文件放進AFD*/
         {strcpy(afile[i].aname,file[jp][n].filename);
          strcpy(afile[i].pcode,file[jp][n].pcode);
          strcpy(afile[i].type,file[jp][n].type);
          strcpy(afile[i].state,"O");
          flag3=1;
          }
          if(flag3==1)break;
       }
        if(flag3==0)printf("不能打開此文件,當前運行文件目錄已滿!\n"); /*滿5個則出錯*/
        if(flag3==1)printAFD();
      }

void Read()             /*讀文件*/
    {int n=0,i=0,flag4=0;
     printUFD(jp);        /*打印用戶文件列表*/
     printf("請輸入要讀的文件名:");
     scanf("%s",name);
     for(i=0;i<10;i++)
       {
        if (strcmp(file[jp][i].filename,name)==0)
         {
          n=i;
          break;
         }
       }
       if(i==10)
       {
        printf("無此文件\n");
        return;
       }
     if(file[jp][n].pcode[0]=='1') /*若有讀的權限并且AFD沒滿5個文件,則把文件放`進AFD*/
      {for(i=0;i<5;i++)
        {if(strcmp(afile[i].aname,"")==0)
           {strcpy(afile[i].aname,file[jp][n].filename);
            strcpy(afile[i].pcode,file[jp][n].pcode);
            strcpy(afile[i].type,file[jp][n].type);
            strcpy(afile[i].state,"R");
            flag4=1 ;
            }
          if(flag4==1)break;
         }
         if(flag4==0)printf("不能讀此文件,當前運行文件目錄已滿!\n"); /*若滿5個則出錯*/
      }
      else if(file[jp][n].pcode[0]=='0') /*無讀的權限,出錯信息*/
      printf("你沒有權利讀該文件\n");
      if(flag4==1)printAFD();
     }

void Write()        /*寫文件*/
 {
  int n=0,i=0,flag5=0;
  printUFD(jp);        /*打印用戶文件列表*/
  printf("請輸入你要寫的文件名:");
  scanf("%s",name);
  for(i=0;i<10;i++)
       {
        if (strcmp(file[jp][i].filename,name)==0)
         {
          n=i;
          break;
         }
       }
       if(i==10)
       {
        printf("無此文件\n");
        return;
       }
  if(file[jp][n].pcode[1]=='1')  /*若有寫的權限,則把文件寫進AFD*/
   {for(i=0;i<5;i++)
     {if(strcmp(afile[i].aname,"")==0)
       {strcpy(afile[i].aname,file[jp][n].filename);
        strcpy(afile[i].pcode,file[jp][n].pcode);
        strcpy(afile[i].type,file[jp][n].type);
        strcpy(afile[i].state,"W");
        flag5=1;
        }
        if(flag5==1)break; printAFD();
      }
      if(flag5==0)printf("不能寫此文件,當前運行文件目錄已滿!\n"); /*若滿5個則出錯*/
    }
    else if(file[jp][n].pcode[1]=='0') /*無寫的權限,出錯信息*/
    printf("你沒有權利寫該文件\n");
    if(flag5==1)printAFD();
 }

 void Close()          /*關閉文件*/
  {int n=0,i=0;
   printAFD();
   printf("你要關閉的文件是:");
   scanf("%s",name);
   for(i=0;i<10;i++)
       {
        if (strcmp(afile[i].aname,name)==0)
         {
          n=i;
          break;
         }
       }
       if(i==10)
       {
        printf("無此文件");
        return;
       }
   if(strcmp(afile[n].aname,"")!=0)  /*若AFD中有文件,則關掉選擇的文件*/
     {strcpy(afile[n].aname,"");
      strcpy(afile[n].pcode,"");
      strcpy(afile[n].type,"");
      strcpy(afile[n].state,"");
      for(i=n;i<4;i++)                /*AFD中在所關閉文件之后的正在運行的文件前移*/
       {afile[i]=afile[i+1];
       strcpy(afile[i+1].aname,"");
       strcpy(afile[i+1].pcode,"");
       strcpy(afile[n+1].type,"");
       strcpy(afile[i+1].state,"");
       }
       printAFD();
      }
    else printf("當前沒該文件在運行\n");  /*AFD中無該文件,出錯信息*/
}

void Bye()   /*退出系統*/
 { char m;
   int i=0;
   printf("你是否要退出系統:(y/n)");
   getchar();
   scanf("%c",&m);
   if(m=='y'||m=='Y')     /*選擇退出,則退出程序*/
    {
     printf("歡迎下次登錄!\n");
     flag=1;
     }
   else                          /*否則不退出程序*/
      {for(i=0;i<5;i++)
        {strcpy(afile[i].aname,"");
         strcpy(afile[i].pcode,"");
         strcpy(afile[i].state,"");
         }
      }
}

void main(){ int i,l=0;        /*l為輸入命令是否合法的標志*/
        char m[10];
        char n[12];
        char temp[8][8];
        strcpy(temp[0],"create");
        strcpy(temp[1],"delete");
        strcpy(temp[2],"open");
        strcpy(temp[3],"bye");
        strcpy(temp[4],"close");
        strcpy(temp[5],"read");
        strcpy(temp[6],"write");
        strcpy(temp[7],"print");
       init();    /*初始化文件系統*/
       printf(" 歡迎使用文件管理系統\n");
       printMFD();  /*打印輸出全部用戶*/
       printf("請輸入您要進入的用戶名:");
       scanf("%s",n);
       for(i=0;i<10;i++)
       {
        if (strcmp(user[i].username,n)==0)
         {
          jp=i;
          break;
         }
       }
       if(i==10)
       {
        printf("無此用戶\n");
        return;
       }
       printUFD(jp);
      while(flag==0)
       {
         getchar();
         printExcel();
         while(1)
          {if(l==1) break;
          printf("請輸入命令名:");
           scanf("%s",m);
           for(i=0;i<8;i++)
            {
             if (strcmp(temp[i],m)==0) {l=1;break;}
            }
          }
          switch(i+1)        /*選擇功能操作*/
          {case 1:Create();{l=0;break;}
           case 2:Delete();{l=0;break;}
           case 3:Open();{l=0;break;}
           case 4:Bye();{l=0;break;}
           case 5:Close();{l=0;break;}
           case 6:Read();{l=0;break;}
           case 7:Write();{l=0;break;}
           case 8:printUFD(jp);{l=0;break;}
           default:flag=1;break;
           }
        }
      }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品一区二区三区四区视频 | 欧美体内she精高潮| 97精品国产97久久久久久久久久久久| 日本va欧美va欧美va精品| 午夜欧美一区二区三区在线播放| 亚洲午夜在线视频| 麻豆极品一区二区三区| 国产精品996| 欧美无砖专区一中文字| 欧美日韩成人在线| 久久亚洲欧美国产精品乐播| 国产精品丝袜一区| 亚洲国产精品综合小说图片区| 亚洲日本在线观看| 亚洲国产精品一区二区www在线| 国产精品久久久久久一区二区三区| 国产精品免费视频网站| 亚洲欧洲精品一区二区三区不卡| 亚洲伦理在线免费看| 亚洲国产一区二区在线播放| 亚洲免费观看高清完整版在线观看| 国产亚洲一区二区三区| 国产欧美久久久精品影院| 一区二区在线观看免费视频播放| 婷婷综合在线观看| 国产成人亚洲综合a∨婷婷图片| 99v久久综合狠狠综合久久| 在线亚洲人成电影网站色www| 日韩一区二区在线观看视频播放| 精品国产自在久精品国产| 亚洲色图色小说| 国产久卡久卡久卡久卡视频精品| 在线精品视频一区二区三四| 精品国产欧美一区二区| 一区二区三区四区蜜桃| 狠狠色狠狠色综合日日91app| 一本大道久久精品懂色aⅴ| 日韩久久久久久| 亚洲国产欧美日韩另类综合 | 欧美日韩国产高清一区| 中文一区在线播放| 蜜桃视频在线观看一区二区| 日本久久一区二区三区| 亚洲色图一区二区| 成人精品视频网站| 综合欧美亚洲日本| 丁香网亚洲国际| 中文字幕欧美日本乱码一线二线| 日韩一区欧美二区| 制服丝袜在线91| 免费的国产精品| 亚洲精品一线二线三线无人区| 免费成人美女在线观看.| 欧美三级视频在线| 婷婷久久综合九色综合伊人色| 97久久精品人人做人人爽| 国产午夜精品福利| 成人av电影在线| 亚洲香肠在线观看| 精品国产乱码久久久久久老虎| 麻豆精品新av中文字幕| 久久亚洲欧美国产精品乐播| 成人亚洲精品久久久久软件| 亚洲欧美日韩国产成人精品影院 | 日韩欧美色综合网站| 精品在线亚洲视频| 亚洲精品日韩一| 欧美一区二区三区不卡| 国产福利一区在线观看| 亚洲一区二区三区在线看| 日韩一区国产二区欧美三区| 国产成人综合网| 婷婷夜色潮精品综合在线| 日韩欧美中文字幕制服| 国产高清不卡二三区| 日韩制服丝袜av| 亚洲欧洲综合另类| 亚洲国产激情av| 日韩精品一区二区三区中文不卡 | 国产在线观看一区二区| 亚洲成a人在线观看| 国产精品美女久久久久久久久久久 | 国产精品欧美一区二区三区| 欧美日韩国产一级片| av一区二区不卡| 国产精品99精品久久免费| 麻豆国产精品一区二区三区| 一区二区三区国产| 伊人婷婷欧美激情| 中文字幕久久午夜不卡| 欧美精品色一区二区三区| 成人久久视频在线观看| 日韩精彩视频在线观看| 首页国产欧美日韩丝袜| 亚洲少妇中出一区| 亚洲影院理伦片| 一区二区三区电影在线播| 最新久久zyz资源站| 国产免费成人在线视频| 国产精品二区一区二区aⅴ污介绍| 精品国精品国产| 中文一区在线播放| 亚洲女同ⅹxx女同tv| 亚洲永久精品大片| 美女尤物国产一区| 成人午夜又粗又硬又大| 欧美网站大全在线观看| 欧美一级艳片视频免费观看| 精品国产一区二区三区四区四| 日韩精品在线网站| 自拍偷拍亚洲激情| 午夜日韩在线观看| 国产·精品毛片| 欧美丝袜自拍制服另类| 2024国产精品| 五月综合激情婷婷六月色窝| 国精品**一区二区三区在线蜜桃| 不卡一区在线观看| 日韩久久免费av| 一区二区三区四区av| 久久aⅴ国产欧美74aaa| 在线看一区二区| 中文字幕免费不卡在线| 蜜臀av一区二区| 欧美在线影院一区二区| 欧美成人一区二区三区片免费| 国产精品视频九色porn| 午夜在线成人av| 欧美视频在线播放| 一区二区三区国产| av男人天堂一区| 国产精品乱人伦中文| 激情五月婷婷综合网| 日韩欧美在线一区二区三区| 一区二区三区免费在线观看| av在线播放不卡| 国产精品久久久久久久久动漫| 国产精品88888| 国产精品五月天| 波多野结衣中文字幕一区| 久久精品欧美日韩| 成人在线综合网站| 亚洲女同ⅹxx女同tv| 一本色道亚洲精品aⅴ| 一区二区三区四区视频精品免费| 91免费精品国自产拍在线不卡| 国产蜜臀av在线一区二区三区| 韩国v欧美v日本v亚洲v| 亚洲国产电影在线观看| 99久久国产综合精品色伊| 亚洲色图丝袜美腿| 欧美日韩精品一区二区三区蜜桃| 香蕉av福利精品导航| 欧美zozozo| av电影一区二区| 天堂精品中文字幕在线| 3d成人h动漫网站入口| 国产原创一区二区| 亚洲女人****多毛耸耸8| 欧美一区二区三区四区五区 | ...av二区三区久久精品| 日韩免费看网站| 日本乱人伦aⅴ精品| 国精品**一区二区三区在线蜜桃| 亚洲激情中文1区| 久久综合久色欧美综合狠狠| 99久久精品国产精品久久| 人人精品人人爱| 亚洲综合视频在线| 国产精品久久久久久久裸模 | 亚洲日本电影在线| 欧美大片国产精品| 欧美日韩高清一区二区不卡| 成人免费视频一区| 国模娜娜一区二区三区| 男男gaygay亚洲| 免费高清在线视频一区·| 亚洲另类春色校园小说| 久久久五月婷婷| 日韩一区二区在线观看视频| av动漫一区二区| 欧美性xxxxxx少妇| 欧洲国内综合视频| 91久久精品午夜一区二区| av亚洲精华国产精华| 不卡av电影在线播放| 一本到不卡免费一区二区| 91视频精品在这里| 欧美视频在线一区| 欧美一区二区三区播放老司机| 7777精品久久久大香线蕉| 欧美精品日韩综合在线| 欧美一区二区在线看| 日韩网站在线看片你懂的| 精品国产电影一区二区| 国产日韩欧美综合在线| 中文字幕一区二区三区四区 | 中文字幕欧美日韩一区| 午夜精品久久久久久久99樱桃| 日本美女一区二区|