一份土豆片 发表于 2021-3-4 19:22:46

一个简单的图书管理

首先是头文件

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


void input(struct Book *book);        //录入书籍
void inquire(struct Book *book, int book_num);        //查询书籍名称
void print(struct Book *book);                //打印书籍
void menu(struct Book *book);                //目录

struct Time
{
        int year;
        int month;
        int day;
};

struct Book
{
        char name;
        struct Time time;
        char chubanshe;
};


其次是代码部分

#include <test1.h>


void input(struct Book *book)        //录入书籍
{
       

        printf("请输入书名:");
        scanf("%s",book->name);
        printf("请输入年月日:");
        scanf("%d%d%d",&(book->time.year),&(book->time.month),&(book->time.day));
        printf("请输入出版社:");
        scanf("%s",book->chubanshe);
        printf("\n======书籍录入成功======\n\n");       
               
}

void inquire(struct Book *book, int book_num)        //查询书籍名称
{
        char name;
        int i,flag = 0;
        printf("\n请输入书籍名称:\n\n");
        scanf("%s",name);

        for(i = 0;i < book_num; i++)
        {

                if(strcmp(book.name, name) == 0)
                {
                        printf("这是第%d本书\n",i + 1);
                        print(&book);
                        flag = 1;
                        break;
                }
               
        }
        if(flag == 0)       
        {
                printf("\n===请重新输入书籍名称===\n\n");
                inquire(book,book_num);
        }

}

void print(struct Book *book)        //输出查询到的书籍
{
        printf("\n======书籍查询成功======\n\n");
        printf("书名:%s\n",book -> name);
        printf("日期:%d-%d-%d\n", book -> time.year, book -> time.month, book -> time.day);
        printf("出版社:%s\n\n",book -> chubanshe);
}

void menu(int *flag)        //目录
{
        int mode;
        printf("请选择模式:\n");
        printf("1.输入1录入书籍;\n");
        printf("2.输入2查询书籍;\n");
        printf("3.输入3删除书籍;\n");                 //未做
        printf("4.输入4退出系统;\n");
        scanf("%d",flag);
       
}

int main(void)
{
        struct Book *book = NULL;
        int book_num = 0;
        int flag;
        while(1)
        {
                menu(&flag);
                switch(flag)
                {
                        case 1:
                                {
                                        book_num++;
                                        printf("这是第%d本书\n",book_num);
                                        book = (struct Book *)realloc(book,(book_num + 1) * sizeof(struct Book *));
                                        input(&book); break;
                                }
                        case 2: inquire(book,book_num); break;
                //        case 3: delet(book); break;
                        case 4: free(book);exit(1);
                        default:printf("\n请重新输入\n\n");break;
                }
        }


        return 0;
}
页: [1]
查看完整版本: 一个简单的图书管理