⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tushuguandemoni.cpp

📁 实现图书馆的管理模拟
💻 CPP
字号:
/*图书馆的模拟《查询图书》《登记图书》
              《删除图书》《插入图书》*/
#include"stdio.h"
#include"stdlib.h"
#include"malloc.h"
#define  MAXLEN  20
#define  NULL 0
typedef  struct  node
  {

  int   num;           // 图书的编号
  char  name[MAXLEN]; //图书的作者;
  char  book[20];    //图书名称;
  struct node *next;
  }list;

/*创建图书目录的函数*/
 list *create()
    {
    list *head ,*p,*r;
    int i,n=3;
     head=(list*)malloc(sizeof(list));
     head->next=NULL;
     r=head;
   /*为了方便,图书的数目小于10为好*/
   
   for(i=1;i<=n;i++)
     {
         p=(list*)malloc(sizeof(list));
         printf("请输入图书的编号:\n");
           scanf("%d",&p->num);
         printf("请输入图书的作者 :\n");
          scanf("%s",&p->name);
         printf("请输入图书的名称:\n");
          scanf("%s",&p->book);
          p->next=NULL;
          r->next=p;
          r=r->next;
       }//end for;
   return(head);
 }//finnish  create;建立了一个小型图书馆

//图书的插入(本程序直接将图书插入尾部)
 /* list *insert(list *h)
  {
        list *p,*q,*r,*head;
        head =h;
        r=h;
        p=h->next;
     //建一册图书的信息
     q=(list*)malloc(sizeof(list));
    printf("请输入待插入图书的编号:\n");
           scanf("%d",&q->num);
         printf("请输入待插入图书的作者 :\n");
          scanf("%s",&q->name);
         printf("请输入待插入图书的名称:\n");
          scanf("%s",&q->book);
        q->next=NULL;
     //在插入之前,我们要找到表尾;
        
   while(p!=NULL)
     {
        r=p;
      p=p->next;
     }//  end  while 找到了;
    
//现在将图示插入
      r->next=q;
      r=r->next;
     return(head);
}// end insert;插入完毕
    

  //查找函数find 
  void  find(list *h)
  { int k;
    list *p;
    p=h->next;
   printf("请输入你要查询的图书编号:\n");
  scanf("%d",&k);
  while(p&&p->num!=k)p=p->next;
  if(p)
   {
       printf("编号\t作者\t书名\n");
       printf("%d\t %s\t%s\n",p->num,p->name,p->book);
   }//找到并输出图书的相关信息;
  else printf("没有找到你要查询的图书");
}//end find 查找完毕;
   
//删除图书的函数
  list *del(list *h)
  { int k;
    list *p,*q;
    q=h;
    p=h->next;
    printf("请输入你要删除的图书编号:\n");
   scanf("%d",&k);
   while(p&&p->num!=k){q=p;p=p->next;}
   if(p){
	   q->next=p->next;
	   free(p);
   }
   else printf("本馆没有该图书的相关信息\n");return(h); 
 //输出本馆的所有图书函数output;
 void output(list*)
  { list *p; p=h->next;
    while(p!=NULL)
     {
		printf("编号\t作者\t书名\n");
       printf("%d\t%s\t%s\n",p->num,p->name,p->book);
  p=p->next;}//end  while
 }//end output ;
   
//***************************************************

*/
  void main()
  { 
     list*p;
      int k;
   //while(1){
    printf(" __________________________________\n");
    printf("|           图书馆主菜单           |\n");
    printf("|__________________________________|\n");
    printf("|         1.图书登记               |\n");
    printf("|         2.图书查询               |\n");
    printf("|         3.图书插入               |\n"); 
    printf("|         4.图书删除               |\n");
    printf("|         5.图书输出(在馆图书)   |\n"); 
    printf("|         0.退出本馆               |\n");
    printf("|__________________________________|\n");
    printf("请输入你要选择的操作(如1,对应图书登记)\n");
    scanf("5d",&k);
  // switch(k)
          //  {
              //case 1: /''
	p=create();// breake;
             // case 2:find(p);    breake:
             // case 3:p=insert(p);breake:
             // case 4:p=del(p);   breake;
             // case 5:output(p);  breake;
             // case 0:exit(0);
             //// default:printf("输入错误,请重新进入主菜单!\n");
          //  }//end  switch
   // }// end while 

}//end main()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -