简单的图书馆管理系统

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct library
{
int num;
char name[20] ;
char author[20] ;
struct librarynext;
};//定义结构体
int main()
{
int n,c=0,l,flag;
char s[20];
struct library head,p,q;/定义指针/
head=(struct library
)malloc(sizeof(struct library));
head->num=0;
strcpy(head->name,“null”);
strcpy(head->author,“null”);
head->next=NULL;/初始化/
while(c!=5){
printf(“简易图书管理系统\n”);
printf(“1.添加图书信息\n”);
printf(“2.显示所有图书信息\n”);
printf(“3.根据序号查找图书和作者\n”);
printf(“4.根据序号删除指定图书\n”);
printf(“5.退出系统\n”);
printf("
*******************************\n");
printf(“输入序号:”);
scanf("%d",&c);

switch(c)
{
case 1:
    flag=1;
    p=(struct library*)malloc(sizeof(struct library));
    q=(struct library*)malloc(sizeof(struct library));
    p=head;
    printf("请输入序号(数字):");
    scanf("%d",&n);
    while((p->next)!=NULL)
    {
        p=p->next;
        if(p->num==n)
        {
            printf("已存在。\n");
            flag=0;
            break;
        }
    }
   if(flag==1)
      {
          q->num=n;
          printf("请输入书名:");
          scanf("%s",s);
          strcpy(q->name,s);
          printf("请输入作者:");
          scanf("%s",s);
          strcpy(q->author,s);
          p->next=q;
          q->next=NULL;
          printf("添加成功。\n");
      }
          system("PAUSE");
          system("CLS");
          break;
case 2:
    if(head->next==NULL)
        printf("没有书籍信息。\n");
    else
    {
        printf("序号        书名          作者\n");
        for(p=head->next;p!=NULL;p=p->next)
            printf("%-12d%-12s%-12s\n",p->num,p->name,p->author);
    }
    system("PAUSE");
    system("CLS");
    break;
case 3:
    flag=0;
    if(head->next==NULL)
        printf("没有书籍信息。\n");
    else
    {
        flag=1;
        printf("请输入序号");
        scanf("%d",&n);
        for(p=head;p!=NULL;p=p->next)
            if(p->num==n)
            {printf("书名:%s\n作者:%s。\n",p->name,p->author);flag=0;}
    }
        if(flag==1)
            printf("没有该序号对应的书籍。\n");
    system("PAUSE");
    system("CLS");
    break;
case 4:
    if(head->next==NULL)
        printf("没有图书信息!\n");
    else
    {
        q=(struct library*)malloc(sizeof(struct library));
        flag=1;
        printf("请输入删除书本的书号:");
        scanf("%d",&n);
        for(p=head;p!=NULL;p=p->next)
            {
              if((p->next)->num==n)
              {

                  q=(p->next)->next;
                  free(p->next);
                  p->next=q;
                  printf("删除成功\n");
                  flag=0;
                  break;
              }
            }
    }
        if(flag==1)
             printf("没有对应的书号!\n");
            system("PAUSE");
            system("CLS");
            break;
case 5:
    break;
default :
    printf("输入错误!\n");
    system("PAUSE");
    system("CLS");
}

}
system(“PAUSE”);
return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值