C语言实现超市计价收款系统

C语言实现超市计价收款系统攻略

简介

本文将介绍如何使用C语言实现一个简单的超市计价收款系统。该系统将能够记录商品信息、价格以及计算顾客的购物总价等功能。

主要步骤

以下是实现该系统的主要步骤:

  1. 定义结构体
    定义商品信息的结构体,包括商品名、价格等信息。例如:
struct goods {
    char name[20];
    int price;
    int num;
};
  1. 构建商品库存
    定义一个结构体指针数组,用于存储商品信息。例如:
struct goods *goodsList[100];
  1. 添加商品
    通过动态内存分配的方式,为新增商品分配内存空间。例如:
struct goods *newGoods = (struct goods *)malloc(sizeof(struct goods));
  1. 显示商品信息
    遍历商品库存,输出所有商品的信息。例如:
for (int i = 0; i < goodsCount; i++) {
    printf("商品名称:%s,单价:%d,库存:%d\n", goodsList[i]->name, goodsList[i]->price, goodsList[i]->num);
}
  1. 购物结算
    循环提示顾客选择购买商品,计算购买总价。例如:
int totalPrice = 0;
while (1) {
    printf("请输入商品编号(-1表示购买结束):");
    int choice = 0;
    scanf("%d", &choice);
    if (choice == -1) {
        break;
    }
    struct goods *curGoods = goodsList[choice];
    printf("您选择了商品:%s,单价:%d\n", curGoods->name, curGoods->price);
    printf("请输入购买数量:");
    int buyNum = 0;
    scanf("%d", &buyNum);
    if (buyNum > curGoods->num) {
        printf("库存不足,无法购买!\n");
        continue;
    }
    totalPrice += buyNum * curGoods->price;
    curGoods->num -= buyNum;
    printf("购买成功!\n");
}
printf("总价为:%d元\n", totalPrice);

示例说明

示例1

以下是添加商品的示例代码:

struct goods *newGoods = (struct goods *)malloc(sizeof(struct goods));
printf("请输入商品名称:");
scanf("%s", newGoods->name);
printf("请输入单价:");
scanf("%d", &newGoods->price);
printf("请输入库存:");
scanf("%d", &newGoods->num);
goodsList[goodsCount] = newGoods;
goodsCount++;

示例2

以下是购物结算的示例代码:

int totalPrice = 0;
while (1) {
    printf("请输入商品编号(-1表示购买结束):");
    int choice = 0;
    scanf("%d", &choice);
    if (choice == -1) {
        break;
    }
    struct goods *curGoods = goodsList[choice];
    printf("您选择了商品:%s,单价:%d\n", curGoods->name, curGoods->price);
    printf("请输入购买数量:");
    int buyNum = 0;
    scanf("%d", &buyNum);
    if (buyNum > curGoods->num) {
        printf("库存不足,无法购买!\n");
        continue;
    }
    totalPrice += buyNum * curGoods->price;
    curGoods->num -= buyNum;
    printf("购买成功!\n");
}
printf("总价为:%d元\n", totalPrice);

以上是关于如何使用C语言实现超市计价收款系统的详细攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现超市计价收款系统 - Python技术站

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

相关文章

  • QT线程QThread的使用介绍

    下面是“QT线程QThread的使用介绍”的完整攻略: 一、QThread简介 QThread是QT GUI编程提供的多线程支持,在QT中使用QThread可以方便地对多线程编程进行抽象,提高代码的可读性和可维护性。在QT中QThread通常用于在应用程序中执行一些耗时操作,例如读取和写入数据到文件、计算密集型的算法处理、网络连接等操作。 与标准的C++线程…

    C 2023年5月22日
    00
  • C语言实现520表白代码 祝你表白成功!

    C语言实现520表白代码攻略 感谢您对C语言表白代码的关注。下面是实现520表白代码的完整攻略。 1. 准备工作 在开始实现520表白代码之前,需要安装C语言编译器。在Windows系统上,我们建议使用MinGW或者Visual Studio Code(带有C/C++扩展)作为编译器;在Linux系统上,可以使用GCC。 2. 编写C程序 我们可以通过在C程…

    C 2023年5月23日
    00
  • c++ 让程序开机自动启动的方法

    当我们想让编写的c++程序自动启动时,可以采用下面几种方法来实现。 方法一:修改注册表 假设我们要设置的程序名为 test.exe,要将其设置为系统开机启动的程序。可以使用以下步骤: 打开注册表编辑器:在开始菜单中输入 regedit,打开注册表编辑器。 找到启动项:依次展开 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft…

    C 2023年5月23日
    00
  • 基于C语言实现五子棋游戏完整实例代码

    基于C语言实现五子棋游戏完整实例代码攻略 1. 程序概述 五子棋,一种传统的策略性棋类游戏。本文主要介绍使用C语言编写五子棋游戏的实例代码过程。该代码使用了控制台界面实现,基于Windows操作系统。 2. 程序实现 (1)游戏逻辑实现 游戏逻辑设计了游戏的核心模块,包括棋盘的绘制、游戏过程的实时响应、胜负判断等等。游戏逻辑由主函数以及多个子函数组成。 (2…

    C 2023年5月23日
    00
  • RedHat linux 8.0下内核编译步骤和说明

    RedHat Linux 8.0下内核编译步骤和说明 前置条件 已安装RedHat Linux 8.0操作系统 具备基本的Linux命令行操作技巧 下载Linux内核源码包 步骤说明 步骤1:解压源码包 将下载的Linux内核源码包解压到任意位置,例如/home/username/kernel。 步骤2:配置内核 进入源码目录,使用以下命令进行配置: mak…

    C 2023年5月22日
    00
  • C++控制台绘图头文件实例代码

    下面是对“C++控制台绘图头文件实例代码”的完整攻略: 1. 简介 在C++的控制台程序中,通过使用图形化绘图头文件,可以在控制台中绘制出各种图形。 2. 下载 在使用绘图头文件前,需要下载对应的库文件。 目前比较流行的库包括: graphics.h:Borland C++ 5.02自带的,不建议使用。 conio.h:Turbo C自带的,也不建议使用。 …

    C 2023年5月24日
    00
  • Golang错误处理方式异常与error

    Golang中,错误处理的方式主要有两种:异常和error。异常是一种在发生错误时立即终止程序运行的方式,而error则是一种返回错误结果的方式,由开发者自行判断如何处理。 异常处理 什么是异常? 异常是一种在运行过程中出现了不可预知、不可避免的错误,导致程序无法正常运行的情况。在Golang中,异常处理的方式主要是利用panic()和recover()两个…

    C 2023年5月23日
    00
  • vscode 采用C++17版本进行编译的实现

    要详细讲解“vscode 采用 C++17 版本进行编译的实现”,可以按照以下步骤进行: 步骤一:安装 VS Code 和 C++ 编译器 首先需要安装 Visual Studio Code (VS Code) 和 C++ 编译器。可以选择使用 MinGW-w64 或 MSVC 编译器,这里以 MinGW-w64 为例进行说明。 步骤二:配置 VS Code…

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