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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 復(fù)件 110511624 shiyan.c

?? 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì),簡單的行編輯程序
?? C
字號:


  #include   "stdio.h"
  #include   "stdlib.h"
  #include   "string.h"
  struct   line{   
      char   text[81];   
      int   num;                 /*行號*/
      struct line *next;     /*指向下一個輸入項(xiàng)目的指針   */
      struct line *prior;    /*指向前一個項(xiàng)目的指針   */
  };
    
  struct line *start;      /*指向表中第一個項(xiàng)目的指針   */
  struct line *last;       /*指向表中最后一個項(xiàng)目的指針   */
  struct line *find(int),*dls_store(struct   line   *);
     
  void   patchup(int,int),delete_text(),list(),save(char   *),load(char   *);
     
  menu_select();   
  enter(int   linenum);   
    
  void   main(int   argc,char   *argv[])   
  {   
      char   s[80],choice,fname[80];   
      int   linenum=1;   
      start=NULL;   
      last=NULL;   
      if(argc==2)   load(argv[1]);/*讀取命令行上的文件   */
      do{   
         choice=menu_select();
         switch(choice)
         {
          case   1:printf("\tlinenum :");
          gets(s);
          linenum=atoi(s);
          enter(linenum);
          break;
          case   2:delete_text();
          break;
          case   3:list();
          break;
          case   4:printf("\tfilename :");
          gets(fname);
          save(fname);
          break;
          case   5:printf("\tfilename :");
          gets(fname);
          load(fname);
          break;
          case   6:exit(0);
          }
       }while(1);

  }   
    
  /*   顯示菜單,供用戶選擇   */   
  menu_select()   
  {   
      char   s[80];   
      int   c;   
      printf("\t\t1.Enter\n");
      printf("\t\t2.Delete a line\n");
      printf("\t\t3.Display a line\n");
      printf("\t\t4.Save the file\n");
      printf("\t\t5.Open the file\n");
      printf("\t\t6.Quit\n");
      do{   
       printf("\n\n\t\t Please choice a num :");
       gets(s);
       c=atoi(s);
      }while(c<0||c>6);
      return(c);   
  }   
    
  /*將文本插在指定行端部*/
  enter(int   linenum)   
  {   
      struct   line   *info;   
      for(;;)
      {   
        info=(struct   line  *)malloc(sizeof(struct   line));
        if(!info)
       {
        printf("\t!   內(nèi)存不夠!\n");
        return(NULL);
       }
      printf("%d:",linenum);   
      gets(info->text);   
      info->num=linenum;   
      if(*info->text)
       {
        if(find(linenum))   patchup(linenum,1);
        if(*info->text)   start=dls_store(info);
       }
      else   break;   
      linenum++;   
      }   
      return(linenum);   
  }   
    
  /*當(dāng)文本內(nèi)容插在文件中間時其下面的內(nèi)容的行號必須增加1,而     */   
  /*刪除時,被刪除的文本后面的行號必須減1   */   
  void   patchup(int   n,int   incr)   
  {   
      struct   line   *i;   
      i=find(n);   
      while(i){   
      i->num=i->num+incr;
      i=i->next;
      }
  }   
  /*按行號排序后插入   */   
  struct   line   *dls_store(struct   line   *i)   
  {   
      struct   line   *old,*p;   
      if(last==NULL)
      {
       i->next=NULL;
       i->prior=NULL;
       last=i;
       return(i);
      }
      p=start;   
      old=NULL;   
      while(p)
      {
        if(p->num)
        {
         old=p;
         p=p->next;
        }
        else
        {
          if(p->prior)
          {
            p->prior->next=i;
            i->next=p;
            p->prior=i;
            return   start;
          }
          i->next=p;
          i->prior=NULL;
          p->prior=i;
          return(i);
        }
      }
      old->next=i;
      i->next=NULL;
      i->prior=old;
      last=i;
      return   start;
  }   
    
  /*刪除一行   */   
  void   delete_text()   
  {   
      struct   line   *info;   
      char   s[80];   
      int   linenum;   
      printf("\tlinenum :");
      gets(s);   
      linenum=atoi(s);   
      info=find(linenum);   
      if(info)
      {
        if(start==info)
        {
          start=info->next;
          if(start)   start->prior=NULL;
          else       last=NULL;
        }
        else
        {
        info->prior->next=info->next;
        if(info!=last)
        info->next->prior=info->prior;
        else   last=info->prior;
        }
        free(info);
        patchup(linenum+1,-1);
      }
  }   
    
  /*查找一行文本     */   
  struct   line   *find(int   linenum)   
  {   
      struct   line   *info;   
      info=start;   
      while(info)
      {   
        if(linenum==info->num)   return(info);
        info=info->next;
      }   
      return(NULL);   
  }   
    
  /*顯示文本     */   
  void   list()   
  {   
      struct   line   *info;   
      info=start;   
      while(info)
      {   
        printf("%d:%s\n",info->num,info->text);
        info=info->next;
      }   
      printf("\n\n");   
  }   
    
  /*存文件   */   
  void   save(char   *fname)   
  {   
      struct   line   *info;   
      char   *p;   
      FILE   *fp;   
      if((fp=fopen(fname,"w"))==NULL)
      {   
        printf("\t Can't open the file !\n");
        exit(0);
      }   
      printf("\t Saving :\n");
      info=start;   
      while(info)
      {   
       p=info->text;
       while(*p)   putc(*p++,fp);
       putc('\n',fp);
       info=info->next;
      }
      fclose(fp);   
  }   
    
/*讀取文件   */
  void   load(char   *fname)   
  {   
      struct   line   *info,*temp;   
      char   *p;   
      FILE   *fp;   
      int   size,inct;   
      if((fp=fopen(fname,"r+"))==NULL)
        {
          printf("\t Can't open the file !\n");
          exit(0);
        }
      while(start)
        {
          temp=start;
          start=start->next;
          free(temp);
        }   
      printf("\n\t Reading...\n");
      size=sizeof(struct   line);
      start=(struct   line*)malloc(size);
      if(!start)
        {
           printf("\n\t內(nèi)存已經(jīng)用完 !");
           return;
        }   
      info=start;
      p=info->text;
      inct=1;
      while((*p=getc(fp))!=EOF)
        {
           p++;
           while((*p=getc(fp))!='\n')   p++;
           *p='\0';
           info->num=inct++;
           info->next=(struct   line*)malloc(size);
           if(!info->next)
            {
              printf("\n\t內(nèi)存已經(jīng)用完 !");
              return;
            }
            info->prior=temp;
            temp=info;
            info=info->next;
            p=info->text;
        }
        temp->next=NULL;
        last=temp;
        free(info);
        start->prior=NULL;
        fclose(fp);
  }  



?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香婷婷综合激情五月色| 亚洲bt欧美bt精品777| 国产一区二区中文字幕| 精品国产免费一区二区三区香蕉| 久久激情五月婷婷| 久久精品一区八戒影视| 国产美女精品人人做人人爽| 国产精品美女一区二区在线观看| 97久久超碰精品国产| 亚洲国产精品欧美一二99| 制服.丝袜.亚洲.中文.综合| 国内精品免费在线观看| 一区免费观看视频| 欧美男男青年gay1069videost| 美女脱光内衣内裤视频久久影院| 国产三级精品三级| 91国偷自产一区二区使用方法| 午夜av一区二区三区| 久久久久久久网| 91成人免费网站| 国产伦精品一区二区三区视频青涩| 中文字幕中文乱码欧美一区二区 | 国模套图日韩精品一区二区| 国产欧美日韩另类视频免费观看| 色婷婷久久99综合精品jk白丝| 三级久久三级久久| 国产清纯白嫩初高生在线观看91| 欧美性猛片aaaaaaa做受| 麻豆国产一区二区| 一区二区三区资源| 国产午夜一区二区三区| 欧美乱妇一区二区三区不卡视频| 福利一区福利二区| 免费观看30秒视频久久| 亚洲欧美偷拍卡通变态| 精品国产制服丝袜高跟| 精品视频免费看| 丁香六月综合激情| 老司机一区二区| 亚洲高清免费观看高清完整版在线观看| 欧美tickling挠脚心丨vk| 色婷婷综合久色| 成人免费不卡视频| 国产一区二区三区香蕉| 午夜国产精品一区| 亚洲麻豆国产自偷在线| 国产欧美精品一区二区色综合朱莉| 欧美乱妇15p| 欧美无人高清视频在线观看| 成人精品免费视频| 韩国理伦片一区二区三区在线播放| 午夜欧美在线一二页| 亚洲欧美日韩中文播放| 国产精品久久久一区麻豆最新章节| 欧美成人艳星乳罩| 91精品久久久久久蜜臀| 欧美私人免费视频| 91在线观看一区二区| 国产精品88888| 国产美女精品一区二区三区| 九一九一国产精品| 蜜桃视频在线观看一区| 日韩电影在线一区二区三区| 一区二区三区中文在线| 亚洲视频资源在线| 国产精品久久久久久久岛一牛影视| 精品99一区二区三区| 亚洲精品一区二区三区精华液| 欧美一区二区视频在线观看2020| 欧美三级三级三级| 欧美在线一区二区三区| 91国产免费观看| 色av一区二区| 欧美视频三区在线播放| 欧美私模裸体表演在线观看| 欧美色倩网站大全免费| 91福利国产成人精品照片| 欧美少妇bbb| 6080午夜不卡| 精品国产乱码久久久久久牛牛| 欧美xxxx老人做受| 久久久久亚洲蜜桃| 国产精品女主播av| 伊人开心综合网| 亚洲午夜久久久久中文字幕久| 亚洲国产成人tv| 另类成人小视频在线| 韩国v欧美v日本v亚洲v| 成人国产精品视频| 色琪琪一区二区三区亚洲区| 欧美日韩精品一区二区三区四区 | 精品久久久久久久久久久久包黑料 | 欧美日韩精品二区第二页| 91精品综合久久久久久| 日韩免费在线观看| 国产精品系列在线| 亚洲精品免费看| 日韩电影网1区2区| 国产精品一区在线观看乱码 | 一区二区三区四区精品在线视频| 亚洲小少妇裸体bbw| 热久久免费视频| 成熟亚洲日本毛茸茸凸凹| 91看片淫黄大片一级在线观看| 色欧美乱欧美15图片| 日韩欧美高清一区| 中文字幕亚洲在| 日韩成人免费电影| 大美女一区二区三区| 欧美日本一道本在线视频| 2020日本不卡一区二区视频| 国产精品高潮久久久久无| 亚洲成av人片一区二区| 国产精品自拍av| 欧美日本高清视频在线观看| 久久久精品一品道一区| 亚洲成人动漫一区| 国产.精品.日韩.另类.中文.在线.播放| 一本一道波多野结衣一区二区| 日韩免费一区二区三区在线播放| 亚洲三级在线播放| 久久91精品国产91久久小草| 91福利视频网站| 国产精品无码永久免费888| 天天色 色综合| 成人av网站在线| 欧美电影免费观看高清完整版 | 国产精品视频观看| 日本女优在线视频一区二区| 91丨porny丨国产| 久久亚洲精精品中文字幕早川悠里| 精品剧情在线观看| 久久激情五月婷婷| 欧美亚洲丝袜传媒另类| 久久精品国产999大香线蕉| 国产亚洲成av人在线观看导航| 国产不卡免费视频| 欧美精品 国产精品| 91精品国产综合久久精品| 午夜私人影院久久久久| 欧美一区二区福利视频| 免费一级片91| 精品伦理精品一区| 国产91在线看| 国产精品福利一区二区| 色999日韩国产欧美一区二区| 亚洲一二三区视频在线观看| 欧美日韩久久一区| 免费成人性网站| 2020国产精品| 99天天综合性| 一区二区三区高清| 欧美一级电影网站| 国产黄色成人av| 亚洲精品成人少妇| 91精品国产高清一区二区三区 | 91高清视频在线| 日韩黄色小视频| 久久综合久久综合久久| av在线不卡网| 五月婷婷久久丁香| 久久男人中文字幕资源站| 99久久精品国产导航| 亚洲va欧美va国产va天堂影院| 日韩欧美国产系列| kk眼镜猥琐国模调教系列一区二区| 亚洲综合一区二区三区| 日韩欧美国产一区在线观看| 成人高清伦理免费影院在线观看| 亚洲一区二区三区免费视频| 欧美精品一区二区三区在线| 成人国产亚洲欧美成人综合网| 亚洲一区二区三区四区中文字幕| 欧美精品一区二区三区蜜臀| 99久久婷婷国产综合精品| 日韩电影在线观看网站| 国产精品久久久久久久久久免费看| 欧美男男青年gay1069videost| 国产精品99久| 亚洲va韩国va欧美va| 国产清纯在线一区二区www| 欧美色偷偷大香| 成人免费高清在线| 蜜臀av一级做a爰片久久| 综合久久综合久久| 久久一区二区三区四区| 在线观看一区不卡| 成人三级伦理片| 免费看日韩精品| 亚洲蜜臀av乱码久久精品蜜桃| 日韩欧美国产一区二区在线播放| 91麻豆高清视频| 国产精品一区在线观看乱码| 五月天视频一区| 亚洲精品视频一区二区| 国产区在线观看成人精品| 日韩亚洲欧美在线| 欧美影院一区二区| av在线一区二区| 国产精品主播直播|