• 大小: 188KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: C/C++
  • 标签:

资源简介

该系统是使用C++来实现一个图书管理功能。该图书管理系统的功能是比较完全的,希望能够对朋友你有用。

资源截图

代码片段和文件信息

#include 
#include
#include
#include
#include
#include 
/*定义书的结构体*/
typedef struct BookList/*书的结构体*/
{
   char num[20];/*图书编号*/
   char name[20];/*书名*/
   int price[20];/*书的价格*/
   char person[20];/*借阅人*/
   int yes;/*判断书是否存在或者已经借出1存在0借出*/
   struct BookList *next;
}Book;
/*定义会员的结构体*/
typedef struct MemberList/*会员的结构体*/
{
   char name[20];/*会员的姓名*/
   char sex[20];/*会员的性别*/
   int age;/*会员的年龄*/
   struct MemberList *next;
}Member;
/*进入菜单的函数*/
void choice()
{
}
/*添加图书的函数*/
void Add_book()
{
   FILE *fp;
   Book consultbook;      /*定义一个书的结构体变量,所以&consultbook就分配一个结构体
的内存*/    
   fp=fopen(“book.txt““rb“);/*只读方式打开文件,文件存在时,正常打开,不存在则,出错*/
   if(fp==NULL)
      fp=fopen(“book.txt““wb“); /*只写方式打开文件,文件存在时,在原内容后面追加,不存在时,建立新文件*/
   else/*如果有书就添加*/
   {
      fclose(fp);
      fp=fopen(“book.txt““ab“);/*追加方式打开文迹,文件存在时,在原内容后追加,不存在,建立新文件*/
   }
   printf(“输入新书的编号\n:“);
 /*  gets(consultbook.num);  */
  scanf(“%s“consultbook.num);
   printf(“输入新书的书名\n:“);
  /* gets(consultbook.name); */
   scanf(“%s“consultbook.name);
   printf(“输入新书的价格:“);             /*gets(consultbook.price);*//*是否应该用
scanf()的%d输入?*/
   scanf(“%s“consultbook.price);
   strcpy(consultbook.person““);
   consultbook.yes=1;/*表示书存在未借出*/
   consultbook.next=NULL;
   fwrite(&consultbooksizeof(Book)1fp);/*块写*/
   fclose(fp); /*关闭文件*/
}
/*查询图书的函数*/
void Find_book()
{
   FILE *fp;
   Book consultbook;                          /*定义结构体变量,所以下面&consultbook
就可以*/
   char bookname[20]; /*书名*/                  /*在fread()中,把文件的内容写到内存
中*/
   int flag=0i=0;
   printf(“Input the book name: “);
   scanf(“%s“bookname);
   fp=fopen(“book.txt““rb“); /*以”只读“的方式打开文件,文件存在,则文件原内容丢失,文件不存在,新建*/
   if(fp==NULL)/*没找到文件*/
   {
     printf(“Error!“);
      fclose(fp);
      return;
   }
    else
   while(!feof(fp))/*查询图书资料*/
   {
     fread(&consultbooksizeof(Book)1fp);  
     if(strcmp(consultbook.namebookname)==0)/*如果查找到*/
     {
       printf(“This book %s information as follow:\n“consultbook.name);
       printf(“This book num is %s\n“consultbook.num);
       printf(“This book‘s price is %s\n“consultbook.price);
       printf(“This book‘s  is browwed by %s\n“consultbook.person);
       printf(“This book‘s state is %d\n“consultbook.yes);  /*因为1表示存在,0表示借了,那么是否可以    */
       i++;                                                      /*宏定义1为stay0为borrow*/
       flag=1; /*查找数据标志*/ 
       goto T;

     }

   }

 T:  if(flag==0)
  {
    printf(“No found this book“);
  }
   fclose(fp);
}
/*删除图书资料的函数*/
void Del_book()
{
   FILE *fp;
   Book *head*p*q;
   char bookname[20];
   fp=fopen(“book.txt““rb“);/*读方式打开文件*/
   if(fp==NULL)/*没找到文件*/
   {
      
      printf(“Error!“);
      fclose(fp);
      return;
   }
   head=p=q=(Book*)malloc(sizeof(Book));/*将文件内容放入链表*/
   fread(psizeof(Book)1fp);  /*读第一条记录*/
   while(!feof(fp))         /*把文

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4224  2008-06-16 18:08  图书管理系统\d.dsp

     文件        510  2008-06-16 18:06  图书管理系统\d.dsw

     文件      33792  2008-06-16 18:08  图书管理系统\d.ncb

     文件      48640  2008-06-16 18:08  图书管理系统\d.opt

     文件        861  2008-06-16 18:07  图书管理系统\d.plg

     文件      15080  2008-06-16 18:07  图书管理系统\f.cpp

     文件     208936  2008-06-16 18:07  图书管理系统\Debug\d.exe

     文件     223788  2008-06-16 18:07  图书管理系统\Debug\d.ilk

     文件     427008  2008-06-16 18:07  图书管理系统\Debug\d.pdb

     文件      35446  2008-06-16 18:07  图书管理系统\Debug\f.obj

    ..A.SH.      7680  2009-02-27 19:23  图书管理系统\Debug\usp10.dll

     文件      41984  2008-06-16 18:07  图书管理系统\Debug\vc60.idb

     文件      45056  2008-06-16 18:07  图书管理系统\Debug\vc60.pdb

     目录          0  2009-04-08 15:52  图书管理系统\Debug

     目录          0  2009-04-08 15:52  图书管理系统

----------- ---------  ---------- -----  ----

              1093005                    15


评论

共有 条评论