| 
 | 
 
 
 楼主 |
发表于 2019-3-17 15:33:22
|
显示全部楼层
 
 
 
- #include<stdio.h>
 
 - #include<stdlib.h>
 
 - struct Book
 
 - {
 
 -         char title[128];
 
 -         char author[40];
 
 -         struct Book *next;
 
 - }
 
 - void getInput(struct Book *book)
 
 - {
 
 -         printf("请输入书名:");
 
 -         scanf("%s",book->title);
 
 -         printf("请输入作者:");
 
 -         scanf("%s",book->author);
 
 - }
 
  
- void addBook(struct Book **library)
 
 - {
 
 -         struct Book *book,*temp;
 
 -         book=(struct Book *)malloc(sizeof(struct Book));
 
 -         if(book==NULL)
 
 -         {
 
 -                 printf("内存分配失败了\n");
 
 -                 exit(1);
 
 -         }
 
 -         getInput(book);
 
 -         if(*library!=NULL)
 
 -         {
 
 -                 temp=*library;
 
 -                 *library=book;
 
 -                 book->next=temp;
 
 -         }
 
 -         else
 
 -         {
 
 -                 *library=book;
 
 -                 book->next=NULL;
 
 -         }
 
 - }
 
 - void printlibrary(struct Book *library)
 
 - {
 
 -         struct Book *book;
 
 -         int count=1;
 
  
-         book=library;
 
 -         while(book!=NULL)
 
 -         {
 
 -                 printf("Book%d:",count);
 
 -                 printf("书名:%s",book->title);
 
 -                 printf("作者:%s",book->author);
 
 -                 book=book->next;
 
 -                 count++;
 
 -         }
 
 - }
 
 - void releaselibrary(struct Book *library)
 
 - {
 
 -         while(library!=NULL);
 
 -         {
 
 -                 free(library);
 
 -         }
 
 - }
 
 - int main(void)
 
 - {
 
 -         struct Book *library=NULL;
 
 -         int ch;
 
 -         while(1)
 
 -         {
 
 -                 printf("请问是否需要录入书籍信息(Y/N):");
 
 -                 do
 
 -                 {
 
 -                         ch=getchar();
 
 -                 }while(ch!='Y'&&ch!='N');
 
 -                 if(ch=='Y')
 
 -                 {
 
 -                         addBook(&library);
 
 -                 }
 
 -                 else
 
 -                 {
 
 -                         break;
 
 -                 }
 
 -         }
 
 -         printf("请问是否需要打印图书信息(Y/N):");
 
 -         do
 
 -         {
 
 -                 ch=getchar();
 
 -         }while(ch!='Y'&&ch!='N');
 
 -         if(ch=='Y')
 
 -         {
 
 -                 printlibrary(library);
 
 -         }
 
 -         releaselibrary(library);
 
 -         return 0;
 
 - }
 
  复制代码 
您好,这是完整代码,老是报错,谢谢回答 |   
 
 
 
 |