117.info
人生若只如初见

C语言怎么实现简单的图书管理系统

实现一个简单的图书管理系统可以使用C语言来实现,以下是一个简单的示例代码:

#include 
#include 

// 定义图书结构体
struct Book {
    int id;
    char title[50];
    char author[50];
    int year;
};

// 初始化图书数组
struct Book library[100];
int num_books = 0;

// 添加图书函数
void addBook() {
    struct Book newBook;
    
    printf("Enter book title: ");
    scanf("%s", newBook.title);
    printf("Enter book author: ");
    scanf("%s", newBook.author);
    printf("Enter publication year: ");
    scanf("%d", &newBook.year);
    
    newBook.id = num_books + 1;
    
    library[num_books] = newBook;
    num_books++;
    printf("Book added successfully!\n");
}

// 显示所有图书函数
void showBooks() {
    for (int i = 0; i < num_books; i++) {
        printf("ID: %d\n", library[i].id);
        printf("Title: %s\n", library[i].title);
        printf("Author: %s\n", library[i].author);
        printf("Year: %d\n", library[i].year);
        printf("\n");
    }
}

int main() {
    int choice;
    
    do {
        printf("1. Add book\n");
        printf("2. Show all books\n");
        printf("3. Exit\n");
        printf("Enter your choice: ");
        scanf("%d", &choice);
        
        switch (choice) {
            case 1:
                addBook();
                break;
            case 2:
                showBooks();
                break;
            case 3:
                printf("Exiting program...\n");
                break;
            default:
                printf("Invalid choice. Try again.\n");
                break;
        }
    } while (choice != 3);
    
    return 0;
}

这段代码实现了一个简单的图书管理系统,用户可以选择添加图书或显示所有图书的功能。图书被存储在一个结构体数组中,用户可以根据自己的需求扩展更多功能,比如删除图书、搜索图书等。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fec38AzsICAFWBlA.html

推荐文章

  • c语言goto用法是什么

    在C语言中,goto语句用于从一个位置跳转到另一个位置。它可以用于跳出循环、条件语句或者函数。goto语句的语法如下:
    goto label;
    ...
    label: //...

  • goto在c语言中的运用方法是什么

    goto 语句在 C 语言中允许程序从一个位置跳转到另一个位置。然而,在实际编程中,过度使用 goto 语句通常被认为是一种不好的编程实践,因为它可能导致代码结构混...

  • c语言堆和栈的区别是什么

    C语言中的堆和栈是两种不同的内存分配方式。 栈(Stack):栈是由编译器自动分配和释放的内存区域,用于存储局部变量和函数调用的上下文信息。栈的特点是先进后出...

  • C语言结构体数组怎么定义和使用

    在C语言中,可以通过定义结构体数组来存储多个具有相同数据类型的结构体对象。下面是定义和使用结构体数组的示例代码:
    #include // 定义一个结构体类型

  • Java正则表达式基础语法是什么

    Java正则表达式基础语法如下: 普通字符:普通字符包括大小写字母、数字和一些特殊字符,例如"abc123"。
    元字符:元字符是一些具有特殊含义的字符,需要进行...

  • MySQL中replace into与replace有什么区别

    在MySQL中,REPLACE INTO 和 REPLACE 是两种不同形式的替换数据操作。
    REPLACE INTO 是一种将新数据插入到表中,如果表中已经存在相同的主键或唯一索引,则...

  • c语言10个经典小程序

    Hello World #include int main() { printf("Hello, World!\n"); return 0;
    } 计算两数之和 #include int main() { int num1 = 5, num2 = 10; int sum = nu...

  • DOS批处理命令For怎么使用

    FOR命令可以用于在批处理脚本中执行一个指定的命令多次,或者对一组文件进行操作。下面是一些FOR命令的用法: 遍历目录中的文件: FOR %i IN (C:\path\to\files\...