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日

相关文章

  • iPhone6c什么时候上市?苹果iPhone6c报价多少钱?

    iPhone 6c 介绍 苹果公司于2015年推出了iPhone 6和iPhone 6 Plus,这两款手机都采用了全新的设计风格,并迅速得到消费者的喜爱。接着,苹果又推出了iPhone SE,这款手机采用了iPhone 5s的外观设计但换装了A9处理器,提供了更好的性能和更低的价格。而对于iPhone 6的后续产品,苹果一直没有推出iPhone 6c,这让…

    C 2023年5月22日
    00
  • 如何通过Objective-C的枚举学习iOS中位操作.md详解

    针对网站上的 “如何通过Objective-C的枚举学习iOS中位操作” 这篇文章,我来给你提供一个完整的攻略。 1. 什么是枚举 枚举是C语言的一种数据类型,它能够将一组常量绑定在一起并赋予它们名字,使代码更易读和可维护。在Objective-C中,可以使用typedef定义自己的枚举类型,例如: typedef NS_ENUM(NSInteger, Fr…

    C 2023年5月23日
    00
  • C/C++中退出线程的四种解决方法

    下面是关于C/C++中退出线程的四种解决方法的详细攻略: 1. 线程函数自行退出 最常用的方法是让线程函数自行退出,这可以通过return语句或pthread_exit函数来实现。在函数执行完毕后,线程会自动退出并等待被回收。示例代码如下: #include <stdio.h> #include <pthread.h> void *t…

    C 2023年5月22日
    00
  • C语言中如何通过指针参数返回值

    通过指针参数返回值在C语言中非常常见,通常用于需要同时返回多个值或需要改变传递给函数的参数值的情况。下面介绍一下如何通过指针参数返回值的完整攻略: 1. 定义函数时传递指针参数 通过指针参数返回值的核心方法就是在函数定义时传递一个指针或指针数组作为参数。这个指针指向想要返回的值。在函数内部,可以通过指针操作符(*)来读取或修改指针所指向的值。 以下是一个简单…

    C 2023年5月23日
    00
  • c++ 面向对象的类设计

    C++ 面向对象的类设计攻略 什么是面向对象的类设计 面向对象的类设计是指基于面向对象编程思想来设计类的过程。面向对象编程思想是一种编程范式,其中的对象是一个实例或者说是类的一个实例化对象,这些对象通过类之间的消息传递进行通信,从而共同完成一个复杂的任务。 在C++编程中,面向对象的类设计尤为重要,因为它是C++中的重要组成部分。经典的面向对象编程思想是将数…

    C 2023年5月22日
    00
  • Android SQLite详解及示例代码

    Android SQLite详解及示例代码 什么是Android SQLite SQLite是一个轻型的数据库库,它存储在设备的内部存储上,并提供了一些SQL接口用于读写数据。在Android开发中,SQLite是非常重要的一部分,它被广泛应用于Android应用的本地数据存储。 如何使用Android SQLite 1. 创建一个SQLite数据库 第一步…

    C 2023年5月23日
    00
  • C++实现教务管理系统

    C++实现教务管理系统攻略 1. 简介 教务管理系统是学校行政管理的重要组成部分,方便教务管理人员进行课程管理、考试管理、成绩管理、学籍管理等工作。C++作为一种高级编程语言,具有良好的可移植性、强大的数据处理能力和较高的运行效率,适合用于教务管理系统的开发。 本文将介绍如何使用C++编程语言实现教务管理系统的开发,包括如何进行需求分析、系统设计、数据结构选…

    C 2023年5月23日
    00
  • C++ 函数的介绍

    当我们需要完成一项任务时,我们需要执行一系列的操作,而C++函数可以让我们把这些操作打包成一个代码块,以便需要时可以重复调用,这样可以简化代码的结构,让代码更加易读易维护。接下来,我们将详细讲解C++函数的介绍和使用。 函数的定义 函数定义是指为一个函数声明提供一个实现。在C++中,我们使用关键字”function”来定义一个函数,并且需要指定函数的返回类型…

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