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

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

?? 4061014.c

?? c語言課程設(shè)計
?? C
字號:
/*頭文件*/
#include <stdio.h>
#include<dos.h>
#include<stdlib.h>   /*其它說明*/
#include<string.h>   /*字符串函數(shù)*/
#include<mem.h>      /*內(nèi)存操作函數(shù)*/
#include<ctype.h>    /*字符操作函數(shù)*/
#include<alloc.h>    /*動態(tài)地址分配函數(shù)*/
#define LEN sizeof(BOOK)
typedef struct book   /*定義結(jié)構(gòu)體數(shù)組用于緩存數(shù)據(jù)*/
{char bno[8];
 char bname[21];
 char pdate[10];
 char state[4];
 char author[9];
 char press[11];
 char digest[30];
 int order; 
 struct book *next;
}BOOK;

/*函數(shù)原型*/
BOOK  *init();    /*初始化函數(shù)*/
int menu_select();   /*菜單函數(shù)*/
BOOK *create();   /*創(chuàng)建鏈表*/
void print(BOOK *head);   /* 顯示全部記錄*/
void search(BOOK *head);    /*查找記錄*/
BOOK *delete(BOOK *head);   /*刪除記錄*/
BOOK *sort(BOOK *head);    /*排序*/
BOOK *insert(BOOK *head,BOOK *new);   /*插入記錄*/
void save(BOOK *head);     /*保存文件*/
BOOK *load();        /*讀文件*/

/*主函數(shù)界面*/
main()
{

BOOK *head,new;
 head=init();       /*鏈表初始化,使head的值為NULL*/
 for(;;)            /*循環(huán)無限次*/
   {switch(menu_select())    
      {                     
     case 1:head=create();break;
     case 2:print(head);break;
     case 3:search(head);break;
     case 4:head=delete(head);break;
     case 5:head=insert(head,&new);break;  /*&new表示返回地址*/
     case 6:save(head);break;
     case 7:head=load(); break;
     case 0:exit(0);       /*如菜單返回值為0則程序結(jié)束*/
      }
   }
}

/*初始化函數(shù)*/
BOOK *init()
{
 return NULL;  /*返回空指針*/
}

/*菜單選擇函數(shù)*/
menu_select()
{int n;
 struct date d;     /*定義時間結(jié)構(gòu)體*/
 getdate(&d);      /*讀取系統(tǒng)日期并把它放到結(jié)構(gòu)體d中*/
 printf("press any key to enter the menu......");   /*按任一鍵進入主菜單*/
 getch();    /*從鍵盤讀取一個字符,但不顯示于屏幕*/
 clrscr();   /*清屏*/
 printf("********************************************************************************\n");
 printf("\t\t                Welcome to\n");
 printf("\n\t\t    The book  information manage system\n");
 printf("*************************************MENU***************************************\n");
 printf("\t\t\t1. Enter the record\n");            /*輸入圖書信息記錄*/
 printf("\t\t\t2. Print the record\n");            /*顯示*/
 printf("\t\t\t3. Search a record on name\n");       /*尋找*/
 printf("\t\t\t4. Delete a record\n");             /*刪除*/
 printf("\t\t\t5. Insert a record to list\n");       /*插入*/
 printf("\t\t\t6. Save the file\n");               /*保存*/
 printf("\t\t\t7. Load the file\n");               /*讀取*/
 printf("\t\t\t0. Quit\n");                       /*退出*/
 printf("\n\t\t         4061014 \n");
 printf("********************************************************************************\n");
 printf("\t\t\t\t%d\\%d\\%d\n",d.da_year,d.da_mon,d.da_day);   /*顯示當前系統(tǒng)日期*/
 do{
    printf("\n\t\t\tEnter your choice(0~7):");  
    scanf("%d",&n);
   }while(n<0||n>7);    /*如果選擇項不在0~7之間則重輸*/
 
 return(n);           /*返回選擇項,主函數(shù)根據(jù)該數(shù)調(diào)用相應(yīng)的函數(shù)*/
}

/*輸入函數(shù)*/
BOOK *create()
{int i,s;
 BOOK *head=NULL,*p;  /* 定義函數(shù).此函數(shù)帶回一個指向鏈表頭的指針*/
 clrscr();
 for(;;)
   {p=(BOOK*)malloc(LEN);  /*開辟一個新的單元*/
    if(!p)   /*如果指針p為空*/
      {printf("\nOut of memory.");   /*輸出內(nèi)存溢出*/
       return (head);  /*返回頭指針,下同*/
      }
    printf("Enter the book No(press \".\" to end):"); 
    scanf("%s",p->bno);
    printf("\n");
    if(p->bno[0]=='.') break;    /*如果書號首字符為“.”則結(jié)束輸入*/
     printf("\n");   
    printf("Enter the book name:");
    scanf("%s",p->bname);
    printf("Please enter the publishdate:");  /*提示開始輸入出版日期*/
    scanf("%s",p->pdate);
    printf("Please enter the state:");  /*提示開始輸入狀態(tài)*/
    scanf("%s",p->state);
    printf("Please enter the author :");  /*提示開始輸入作者*/
    scanf("%s",p->author);
    printf("Please enter the press:");  /*提示開始輸入出版社*/
    scanf("%s",p->press);
    printf("Please enter the digest:");  /*提示開始輸入文摘*/
    scanf("%s",p->digest);
          p->order=0;             /*未排序前此值為0*/
      p->next=head;           /*將頭結(jié)點做為新輸入結(jié)點的后繼結(jié)點*/
      head=p;                 /*新輸入結(jié)點為新的頭結(jié)點*/
   }
   return(head);  
}


/* 顯示全部記錄函數(shù)*/
void print(BOOK *head)
{int i=0;     /* 統(tǒng)計記錄條數(shù)*/
 BOOK *p;  /*移動指針*/
 clrscr();
 p=head;      /*初值為頭指針*/
 printf("\n************************************BOOK************************************\n");
 printf("-------------------------------------------------------------------------------\n");
 printf("-------------------------------------------------------------------------------\n");
 while(p!=NULL)
   {
    i++;
printf("Rec: %d\n",i);
printf(" Book No: %s\n", p->bno);
printf(" Book name :%s\n", p->bname);
printf(" Publish date: %s\n",p->pdate);
printf(" State: %s\n", p->state);
printf(" Author: %s\n", p->author);
printf(" Press: %s\n", p->press);
printf(" Digest: %s\n\n", p->digest);
   p=p->next;
   }
 printf("-------------------------------------------------------------------------------\n");
 printf("**************************************END**************************************\n");
}

/*查找記錄函數(shù)*/
void search(BOOK *head)
{BOOK *p;    /*  移動指針*/
 char s[21];     /*存放書名用的字符數(shù)組*/
 clrscr();
 printf("Please enter book name for searching.\n");
 scanf("%s",s);
 p=head;    /*將頭指針賦給p*/
 while(strcmp(p->bname,s) && p != NULL)  /*當記錄的姓名不是要找的,或指針不為空時*/
   p=p->next;     /*移動指針,指向下一結(jié)點*/
   if(p!=NULL)         /*如果指針不為空*/
   {printf("\n*************************************FOUND************************************\n");
printf("-------------------------------------------------------------------------------\n");
printf("-------------------------------------------------------------------------------\n");
printf(" Book No: %s\n", p->bno);
printf(" Book name :%s\n", p->bname);
printf(" Publish date: %s\n",p->pdate);
printf(" State: %s\n", p->state);
printf(" Author: %s\n", p->author);
printf(" Press: %s\n", p->press);
printf(" Digest: %s\n\n", p->digest);
printf("-------------------------------------------------------------------------------\n");
printf("***************************************END**************************************\n");
   }
   else
     printf("\nThere is no book No %s book on the list.\n",s);   /*顯示沒有該書*/
}

/*刪除記錄函數(shù)*/
BOOK *delete(BOOK *head)
{int n;
 BOOK *p1,*p2;  /*p1為查找到要刪除的結(jié)點指針,p2為其前驅(qū)指針*/
 char c,s[8];     /*s[8]用來存放書號,c用來輸入字母*/
 clrscr();
 printf("Please enter the deleted book No: ");
 scanf("%s",s);
 p1=p2=head;    /*給p1和p2賦初值頭指針*/
 while(strcmp(p1->bno,s) && p1 != NULL)   /*當記錄的書號不是要找的,或指針不為空時*/
   {p2=p1;            /*將p1指針值賦給p2作為p1的前驅(qū)指針*/
    p1=p1->next;      /*將p1指針指向下一條記錄*/
   }
 if(strcmp(p1->bno,s)==0)  /*書號找到了*/
 {printf("**************************************FOUND************************************\n");
printf("-------------------------------------------------------------------------------\n");
printf("-------------------------------------------------------------------------------\n");
printf(" book No: %s\n", p1->bno);
printf(" book name :%s\n", p1->bname);
printf(" publishdate: %s\n",p1->pdate);
printf(" state: %s\n", p1->state);
printf(" author: %s\n", p1->author);
printf(" press: %s\n", p1->press);
printf(" digest: %s\n\n", p1->digest);
printf("-------------------------------------------------------------------------------\n");
printf("***************************************END**************************************\n");
    printf("Are you sure to delete the book  Y/N ?"); /*提示是否要刪除,輸入Y刪除,N則退出*/
    for(;;)
      {scanf("%c",&c);
       if(c=='n'||c=='N') break;  /*如果不刪除,則跳出本循環(huán)*/
       if(c=='y'||c=='Y')
         {
          if(p1==head)       /*若p1==head,說明被刪結(jié)點是首結(jié)點*/
          head=p1->next;     /*把第二個結(jié)點地址賦予head*/
        else
          p2->next=p1->next;  /*否則將一下結(jié)點地址賦給前一結(jié)點地址*/
          n=n-1;
          printf("\nBno %s book has been deleted.\n",s);
          printf("Don't forget to save.\n");break;  /*刪除后就跳出循環(huán)*/
         }
      }
    }
  else
    printf("\nThere is no book No %s book on the list.\n",s);  /*找不到該結(jié)點*/
 return(head);
}

/*插入記錄函數(shù)*/
BOOK *insert(BOOK *head,BOOK *new)
{BOOK *p0,*p1,*p2;
 int n,sum1,i;
 p1=head;  /*使p1指向第一個結(jié)點*/
 p0=new;   /*p0指向要插入的結(jié)點*/
 printf("\nPlease enter a new record.\n");      /*提示輸入記錄信息*/
 printf("Enter the book No:");
 scanf("%s",new->bno);
 printf("Enter the book name:");
 scanf("%s",new->bname);
 printf("Please enter the publishdate:");  /*提示開始輸入出版日期*/
 scanf("%s",new->pdate);
 printf("Please enter the state:");  /*提示開始輸入狀態(tài)*/
 scanf("%s",new->state);
 printf("Please enter the author:");  /*提示開始輸入作者*/
 scanf("%s",new->author);
 printf("Please enter the press:");  /*提示開始輸入出版社*/
 scanf("%s",new->press);
 printf("Please enter the digest:");  /*提示開始輸入文摘*/
 scanf("%s",new->digest);
 new->order=0;
  if(head==NULL)  /*原來的鏈表是空表*/
   {head=p0;p0->next=NULL;}  /*使p0指向的結(jié)點作為頭結(jié)點*/
 else
   {p1->next=p0;p0->next=NULL;} /*插到最后的結(jié)點之后*/
 n=n+1; /*結(jié)點數(shù)加1*/
 printf("\nBook  %s has been inserted.\n",new->bname);    
 printf("Don't forget to save the new file.\n");
 return(head);
}


/*保存數(shù)據(jù)到文件函數(shù)*/
void save(BOOK *head)
{FILE *fp;        /*定義指向文件的指針*/
 BOOK *p;      /* 定義移動指針*/
 char outfile[10];
 printf("Enter outfile name,for example c:\\books\n");
 scanf("%s",outfile);
 if((fp=fopen(outfile,"wb"))==NULL)   /*為輸出打開一個二進制文件,為只寫方式*/
   {
    printf("Cannot open the file\n");
    return;    /*若打不開則返回菜單*/
   }
 printf("\nSaving the file......\n");
 p=head;                    /*移動指針從頭指針開始*/
 while(p!=NULL)        /*如p不為空*/
   {
    fwrite(p,LEN,1,fp);     /*寫入一條記錄*/
    p=p->next;        /*指針后移*/
   }
 fclose(fp);      /*關(guān)閉文件*/
 printf("Save the file successfully!\n");
}

/* 從文件讀數(shù)據(jù)函數(shù)*/
BOOK *load()
{BOOK *p1,*p2,*head=NULL;    /*定義記錄指針變量*/
 FILE *fp;            /* 定義指向文件的指針*/
 char infile[10];
 printf("Enter infile name,for example c:\\books.txt\n");
 scanf("%s",infile);
 if((fp=fopen(infile,"rb"))==NULL)   /*打開一個二進制文件,為只讀方式*/
   {
    printf("Can not open the file.\n");
    return(head);
   }
 printf("\nLoading the file!\n");
 p1=(BOOK *)malloc(LEN);   /*開辟一個新單元*/
 if(!p1)
   {
    printf("Out of memory!\n");
    return(head);
   }
 head=p1;         /*申請到空間,將其作為頭指針*/
 while(!feof(fp))  /*循環(huán)讀數(shù)據(jù)直到文件尾結(jié)束*/
   {
    if(fread(p1,LEN,1,fp)!=1) break;  /*如果沒讀到數(shù)據(jù),跳出循環(huán)*/
    p1->next=(BOOK *)malloc(LEN);  /*為下一個結(jié)點開辟空間*/
    if(!p1->next)
      {
       printf("Out of memory!\n");
       return (head);
      }
 p2=p1;         /*使p2指向剛才p1指向的結(jié)點*/
 p1=p1->next;   /*指針后移,新讀入數(shù)據(jù)鏈到當前表尾*/
   }
 p2->next=NULL;   /*最后一個結(jié)點的后繼指針為空*/
 fclose(fp);
 printf("You have success to read the data from the file!\n");
 return (head);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品嫩草影院久久| 亚洲综合一区二区三区| 日韩精品一区二区三区蜜臀| 欧美另类久久久品| 欧美午夜精品电影| 欧美日韩视频在线观看一区二区三区| 色美美综合视频| 欧美色综合网站| 在线电影欧美成精品| 欧美一区二区在线播放| 欧美成人国产一区二区| 久久新电视剧免费观看| 国产欧美日韩三级| 日韩伦理电影网| 亚洲一区在线观看免费观看电影高清 | 欧美日韩一级大片网址| 在线视频国内自拍亚洲视频| 在线国产电影不卡| 欧美日韩视频在线一区二区| 日韩三级免费观看| 久久久久久电影| 亚洲人成在线播放网站岛国| 亚洲综合在线视频| 日韩高清国产一区在线| 精品一区二区三区香蕉蜜桃 | 欧美日韩一区小说| 欧美一级xxx| 久久亚洲二区三区| 中文字幕亚洲欧美在线不卡| 悠悠色在线精品| 日本成人在线一区| 国产福利91精品| 一本一道综合狠狠老| 欧美精品九九99久久| 久久麻豆一区二区| 亚洲精品久久久蜜桃| 日本亚洲三级在线| 高清日韩电视剧大全免费| 色视频一区二区| 日韩欧美一区二区不卡| 国产精品色噜噜| 午夜精品久久久久久久99水蜜桃| 国产麻豆视频精品| 欧美性色综合网| 精品国产成人系列| 亚洲免费在线观看| 精品系列免费在线观看| 91天堂素人约啪| 欧美xxxx在线观看| 一区二区三区在线免费| 国产一区啦啦啦在线观看| 色偷偷88欧美精品久久久| 欧美不卡视频一区| 亚洲欧美电影一区二区| 紧缚奴在线一区二区三区| 91女人视频在线观看| 欧美变态tickling挠脚心| 亚洲精品久久7777| 岛国av在线一区| 日韩小视频在线观看专区| 国产精品国产三级国产三级人妇 | 亚洲国产视频a| 天天综合天天做天天综合| 色综合婷婷久久| 欧美一区二区二区| 中文字幕视频一区二区三区久| 日韩电影在线免费看| 91女人视频在线观看| 国产婷婷一区二区| 日本女优在线视频一区二区| 91美女视频网站| 久久久久99精品国产片| 日本欧美一区二区| 欧美日韩日本视频| 亚洲欧美日韩系列| 成人性生交大片免费看视频在线| 日韩欧美一区在线观看| 亚洲一区二区三区四区不卡| 粉嫩av亚洲一区二区图片| 日韩免费视频一区| 日韩中文字幕区一区有砖一区| 99免费精品视频| 欧美激情一区二区三区蜜桃视频| 麻豆成人av在线| 欧美日高清视频| 一区二区三区加勒比av| av在线不卡免费看| 中文字幕不卡一区| 国产成人免费在线观看不卡| 日韩欧美国产电影| 美女高潮久久久| 欧美一区二区三区免费观看视频| 亚洲一区二区三区激情| 色拍拍在线精品视频8848| 国产精品久久久久久久久免费相片 | 午夜久久久久久久久久一区二区| 91美女蜜桃在线| 亚洲同性gay激情无套| 高清不卡在线观看| 欧美经典一区二区| 高清shemale亚洲人妖| 久久精品一区四区| 国产1区2区3区精品美女| 久久久久久电影| 成人在线综合网站| 国产精品家庭影院| 99re在线精品| 亚洲精品国产无天堂网2021| 国产精品久久久久久久第一福利 | 5566中文字幕一区二区电影| 亚洲成人7777| 欧美精品免费视频| 日韩黄色一级片| 日韩免费视频一区| 国产激情视频一区二区三区欧美| 久久综合九色综合97_久久久| 国产酒店精品激情| 国产精品激情偷乱一区二区∴| eeuss国产一区二区三区| 亚洲色大成网站www久久九九| 色网站国产精品| 三级不卡在线观看| 精品日韩在线观看| 成人国产精品视频| 亚洲激情欧美激情| 91精品欧美综合在线观看最新 | 成人网男人的天堂| 亚洲欧洲制服丝袜| 欧美高清性hdvideosex| 久久精品国产色蜜蜜麻豆| 久久九九99视频| 91麻豆免费视频| 日韩精品乱码av一区二区| 欧美精品一区二区三区四区 | 国产欧美在线观看一区| 99v久久综合狠狠综合久久| 精品国产91九色蝌蚪| 7777精品伊人久久久大香线蕉| 日韩高清欧美激情| 久久久久久久av麻豆果冻| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 免费一级片91| 久久久久久久久伊人| 91浏览器打开| 日本不卡视频在线| 中文字幕的久久| 欧美另类高清zo欧美| 高清久久久久久| 亚洲gay无套男同| 久久精品视频网| 欧美综合天天夜夜久久| 国模套图日韩精品一区二区| 综合中文字幕亚洲| 日韩免费观看高清完整版在线观看| 丰满白嫩尤物一区二区| 视频一区二区欧美| 中日韩免费视频中文字幕| 欧美高清视频在线高清观看mv色露露十八 | 久久久久久久精| 色综合久久久久久久久| 日韩av网站在线观看| 国产精品素人一区二区| 777亚洲妇女| 99这里都是精品| 精久久久久久久久久久| 亚洲一区二区精品视频| 日本一区二区免费在线观看视频 | 美女在线一区二区| 一区二区三区成人在线视频| 久久久精品国产免大香伊| 制服丝袜中文字幕一区| 91婷婷韩国欧美一区二区| 精品一区二区三区在线播放| 香蕉影视欧美成人| 亚洲免费高清视频在线| 久久久久成人黄色影片| 日韩视频国产视频| 欧美日韩精品系列| 91日韩在线专区| 成人美女视频在线看| 激情国产一区二区 | 一本大道久久a久久精二百| 国产精品亚洲一区二区三区在线 | 亚洲国产成人午夜在线一区| 欧美在线制服丝袜| eeuss影院一区二区三区| 精品一区二区三区久久| 偷拍日韩校园综合在线| 一级中文字幕一区二区| 国产精品少妇自拍| 久久久久久久一区| 欧美精品一区二区蜜臀亚洲| 欧美一级片在线| 欧美久久一区二区| 精品视频在线免费看| 色综合久久久网| 91一区在线观看| 成人av资源在线观看| 丁香桃色午夜亚洲一区二区三区| 国产精品资源在线|