C语言图书管理系统代码

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

struct book{

       int num;

       char bname[50];

       char wname[20];

       char press[50];

       char sort[50];

       int time;

       float price;

    struct book *next;

};

struct book *creatbook();                          //创建链表

struct book *addbook(struct book *head);           //添加图书

int yanzheng(struct book *head,int m);             //验证新添加的图书编码是否已存在

void deletebook(struct book *head);                //删除图书

void fprint(struct book *head);                    //将链表写入文件

struct book *load();                               //从文件中读取信息并建成链表

void print_book(struct book *head);                //将链表信息输出

void chaxun(struct book *head);                    //查询图书信息

void num_chaxun(struct book *head);                //按图书编号查询图书

void wname_chaxun(struct book *head);              //按作者名查询图书

void sort_chaxun(struct book *head);               //按类别查询图书

void time_chaxun(struct book *head);               //按出版时间查询图书

void bname_chaxun(struct book *head);              //按图书名查询图书

void xiugai(struct book *head);                    //修改图书信息

void paixu(struct book *head);                     //对图书进行排序

void num_paixu(struct book *head);                 //按图书编号排序

void time_paixu(struct book *head);                //按图书出版时间排序

void price_paixu(struct book *head);               //按图书价格排序

void bname_paixu(struct book *head);               //按图书名排序

void wname_paixu(struct book *head);               //按作者名排序

int main()

{

       int choice,n,x,y=1,c,c1=1234;

       char a,d,b[10],b1[10]="yjk";

       struct book *head=NULL;

       while(y){

             

              system("cls");

        printf("\n\n\n\n\n\n\n");

           printf("                         ********** 欢迎光临 **********\n\n");

           printf("         ********************** 图书信息管理系统 ************************\n\n\n");

              printf("\n\n");

              printf("                      ============1-用户登录===========\n");

              printf("                      ============0-退出系统===========\n");

              printf("       请输入您的选择:");

              scanf("%d",&n);

              printf("\n");

              getchar();

              switch(n){

              case 0:

                     y=0;

                     break;

              case 1:

           printf("       请输入您的用户名:");

        gets(b);

                                                                                                                           printf("\n");                                                                                                     

           printf("       请输入您的密码:");

           scanf("%d",&c);

           printf("\n");

           if(strcmp(b,b1)!=0||c!=c1){

              printf("           验证失败,请重新输入!\n");

                 scanf("%c",&d);

              getchar();

              system("cls");

              }

         else{

                  printf("             验证通过!请按Enter键进入!\n");

                  scanf("%c",&d);

                  getchar();

                  x=1;

 

               while(x){

                   system("cls");

                   printf("                             ------------------\n");

                   printf("                             *图书信息管理系统*\n");

                 printf("                             ------------------\n\n");

                printf("               **********************************************\n\n");

                printf("               **********************************************\n\n");

                printf("               || 1-添加图书                    2-删除图书 ||\n\n");

                printf("               || 3-图书列表                    4-图书排序 ||\n\n");

                printf("               || 5-查询图书                    6-修改图书 ||\n\n");

                printf("               || 7-录入数据                    0-退出系统 ||\n\n");         

                printf("               **********************************************\n\n");

                printf("               **********************************************\n\n");

                   printf("请输入所选择的序号:");

                   scanf("%d",&choice);

                   getchar();

                   system("cls");

                   switch(choice)

                            {

                   case 0:

                            x=0;break;

                      case 1:

                            head=load();

                            if(head==NULL){

                                  printf("文件为空,请先录入数据!\n");

                                  getchar();

                                  break;

                               }

                           else{

                                 head=addbook(head);

                                 printf("添加成功!\n");

                     printf("是否将新信息保存到文件?(y/n)\n");

                     scanf("%c",&a);

                                 getchar();

                                 switch(a){

                                 case 'n':

                                        break;

                                 case 'y':

                                     fprint(head);

                                        printf("保存成功!\n");

                                        getchar();

                                     break;

                                    }

                                 break;

                              }

                    

                     case 2:

                          head=load();

                 if(head==NULL){

                                 printf("文件为空,请先录入数据!\n");

                                 getchar();

                                 break;

                             }

                      

                          else{

                                 deletebook(head);

                     getchar();

                                 break;

                          }

                             break;

                     case 3:

                 head=load();

                          if(head==NULL){

                                 printf("文件为空,请先录入数据!\n");

                                 getchar();

                                 break;

                             }

                          else{

                                 print_book(head);

                                 getchar();

                                 break;

                             }

                     case 4:

                 head=load();

                          if(head==NULL){

                                 printf("文件为空,请先录入数据!\n");

                                 getchar();

                                 break;

                             }

                          else{

                                 paixu(head);

                                 getchar();

                             }

                          break;

               case 5:

                     head=load();

                              if(head==NULL){

                                     printf("文件为空,请先录入数据!\n");

                                     getchar();

                                     break;

                                    }

                                 else{

                                        chaxun(head);

                                        getchar();

                                    }

                                 break;

                     case 6:

                   head=load();

                            if(head==NULL){

                                   printf("文件为空,请先录入数据!\n");

                                   getchar();

                                   break;

                               }

                               else{

                                      xiugai(head);

                                      getchar();

                       break;

                               }

                               break;

               case 7:

                              printf("注意:输入图书编码为0时结束!\n");

                     head=creatbook();

                     printf("是否将输入的信息保存到文件以覆盖文件中已存在的信息?(y/n)\n");

                     getchar();

                                 scanf("%c",&a);

                                 getchar();

                                    switch(a){

                                    case 'n':

                                        break;

                                 case 'y':

                                     fprint(head);

                                        printf("保存成功!\n");

                                        getchar();

                                        break;

                                    }

                                 break;

                     default:

                            printf("您的输入有误,请重新输入!\n");

                            getchar();

                            break;

                            }

                    

                     }

              }

              break;

              default:

                     printf("        您的输入有误!  请重新输入!\n");

                     getchar();

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码奇才.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值