C语言图书管理系统实验

下面是关于“C语言图书管理系统实验”的完整攻略:

一、实验目的

本次实验主要目的是让学生掌握 C 语言的基本语法,进一步了解结构体的使用,以及熟悉文件操作,实现一个简单的图书管理系统。

二、实验过程

  1. 首先,我们需要定义图书结构体,包括书名(name)、作者(author)、价格(price) 和库存(stock) 四个成员变量。

    struct Book {
    char name[64];
    char author[32];
    double price;
    int stock;
    };

  2. 接下来,我们需要编写菜单函数,向用户展示对图书进行的操作,包括添加(add)、删除(delete)、查找(search)、修改(update) 和显示所有图书(display) 五个选项。

    void menu() {
    printf("======== 图书管理系统 ========\n");
    printf("请选择需要进行的操作:\n");
    printf("[a] 添加一本图书\n");
    printf("[d] 删除一本图书\n");
    printf("[s] 查找图书信息\n");
    printf("[u] 修改图书信息\n");
    printf("[l] 显示所有图书\n");
    printf("[q] 退出系统\n");
    printf("==============================\n\n");
    }

  3. 接下来,我们需要定义函数实现各个选项的功能。比如添加图书函数:

    void add_book(struct Book *book, int *count) {
    printf("请输入书名:");
    scanf("%s", book[*count].name);
    printf("请输入作者:");
    scanf("%s", book[*count].author);
    printf("请输入价格:");
    scanf("%lf", &book[*count].price);
    printf("请输入库存:");
    scanf("%d", &book[*count].stock);
    printf("添加图书成功!\n\n");
    *count += 1; // 更新图书数量
    }

  4. 对于删除图书、查找图书、修改图书信息和显示所有图书等选项,我们也需要实现相应的函数。

  5. 在主函数中,我们需要不断地显示菜单、等待用户输入,并根据用户的选择进行相应的操作。

    ```
    int main() {
    struct Book books[100];
    int count = 0; // 记录图书数量

    while (1) {
        menu();
    
        char choice;
        printf("请输入选项:");
        scanf(" %c", &choice);
    
        switch (choice) {
            case 'a':
                add_book(books, &count);
                break;
            case 'd':
                delete_book(books, &count);
                break;
            case 's':
                search_book(books, count);
                break;
            case 'u':
                update_book(books, count);
                break;
            case 'l':
                display_books(books, count);
                break;
            case 'q':
                printf("谢谢使用,再见!\n");
                return 0;  // 退出程序
            default:
                printf("输入有误,请重新输入!\n\n");
                break;
        }
    }
    
    return 0;
    

    }
    ```

三、示例说明

示例 1:查找图书信息

假设需要查找图书《C程序设计语言》的信息,可以选择菜单中的“查找图书信息”选项,然后输入对应的书名。程序将会遍历所有图书,找到书名为《C程序设计语言》的图书,并输出其作者、价格和库存信息。

请选择需要进行的操作:
[a] 添加一本图书
[d] 删除一本图书
[s] 查找图书信息
[u] 修改图书信息
[l] 显示所有图书
[q] 退出系统

请输入选项:s
请输入要查找的书名:C程序设计语言

查找结果如下:
《C程序设计语言》  作者:Brian W. Kernighan 价格:49.98 库存:13

示例 2:修改图书信息

假设需要将书名为《C++ Primer Plus》的图书的库存信息从 5 改成 10,可以选择菜单中的“修改图书信息”选项,然后按照提示输入对应的书名和将要修改的库存信息。程序将会遍历所有图书,找到书名为《C++ Primer Plus》的图书,并修改其库存信息。

请选择需要进行的操作:
[a] 添加一本图书
[d] 删除一本图书
[s] 查找图书信息
[u] 修改图书信息
[l] 显示所有图书
[q] 退出系统

请输入选项:u
请输入要修改的书名:C++ Primer Plus
请输入新的库存数:10
修改图书信息成功!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言图书管理系统实验 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • 深入理解Commonjs规范及Node模块实现

    深入理解 CommonJS 规范及 Node 模块实现 什么是 CommonJS 规范? CommonJS 是 JavaScript 社区为了解决缺少适用于服务器端的 Module 标准而提出的一种模块化规范。其最初的定位是为了规范模块文件、模块导入、模块导出等相关概念。CommonJS 规范将所有的代码都认为是一个模块,每个模块有自己的作用域,可以定义变量…

    C 2023年5月23日
    00
  • C语言自研定时器计划任务语法详解

    下面我将详细讲解“C语言自研定时器计划任务语法详解”的完整攻略。 概述 在C语言中,我们常常需要进行一些定时处理或者周期性任务等操作。为了方便这些操作,我们可以自研一个定时器计划任务,这个任务包含有启动和停止定时器、注册和注销任务、定时器中断处理等功能。下面我们将具体讲解这些功能的实现方法。 启动和停止定时器 启动定时器的方式如下: int timer_st…

    C 2023年5月23日
    00
  • C/S和B/S两种架构区别与优缺点分析

    C/S和B/S两种架构区别与优缺点分析 C/S架构 C/S架构即客户端/服务器架构,是一种常见的软件架构模式。C/S架构中,客户端负责与用户交互,服务器负责执行核心业务逻辑。C/S架构需要在客户端和服务器端分别安装软件,因此需要专业的IT技能来安装和维护。 优点 可以在本地运行一些比较复杂或计算密集的程序,提高了程序的执行效率。 远程协作能力较强,多个用户可…

    C 2023年5月22日
    00
  • javascript对JSON数据排序的3个例子

    JavaScript对JSON数据排序的3个例子 在JavaScript中,我们可以使用sort()方法对JSON数据进行排序。sort()方法是数组的一个原生方法,可以按照一定规则对数组进行排序。本文将通过三个例子详细讲解如何使用sort()方法对JSON数据进行排序。 例子1:按照数字大小排序 var data = [ { name: ‘John’, a…

    C 2023年5月23日
    00
  • VC List Control控件如何删除选中的记录实例详解

    删除VC List Control控件中选中的记录的过程可以通过以下步骤实现: 获取选中的记录索引:可以通过List Control控件的GetNextItem函数来获取选中的记录索引。该函数的参数可以用来指定搜索的起始索引。因此,我们可以在循环中使用该函数来获取所有选中的记录索引。 示例代码: int nItem = -1; while ((nItem =…

    C 2023年5月23日
    00
  • C程序 显示两个区间的阿姆斯特朗数字

    下面我将为你详细讲解“C程序 显示两个区间的阿姆斯特朗数字”的完整使用攻略。 一、程序介绍 这个C程序可以用来显示两个区间之间的阿姆斯特朗数字。阿姆斯特朗数是指一个n位数各位数字的n次幂之和等于该数本身(例如,153是一个阿姆斯特朗数,因为1^3 + 5^3 + 3^3 = 153)。 二、程序使用攻略 下面是使用该程序的步骤: 1. 下载并打开程序 该程序…

    C 2023年5月9日
    00
  • C#实现集合转换成json格式数据的方法

    下面是一份详细的攻略,旨在讲解如何使用C#实现将集合转换为JSON格式数据的方法。 1. 什么是JSON JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人们阅读和编写,也易于机器解析和生成,是现代应用程序中常用的数据交换格式之一。 2. C#的JSON解析库 在C#中,我们可以使用JSON解析库来将对象转换为…

    C 2023年5月23日
    00
  • C语言实现万年历源码

    以下是详细的“C语言实现万年历源码”的完整攻略,包括示例说明: 1. 确定需求 首先,我们需要确定要实现一个什么样的功能,比如万年历。在确定需求后,我们需要考虑要用到哪些关键的功能模块,比如日期计算、月份输出等等。 2. 设计数据结构 在确定需要的功能模块后,我们需要设计合适的数据结构来存储相关信息,比如保存日期信息的结构体等。 3. 编写代码 在设计好数据…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部