Advertisement

c语言 商店购物车系统

阅读量:

#ifndef customFile_h

#define customFile_h

#include <stdio.h>

#endif /* customFile_h */

typedef struct Goods{//声明结构体:商品

int code;//商品编号

char name[20];//商品名字

double price;//价格

double discount;//折扣

int number;//数量

double totalAccount;//总金额

}Goods;

void mainInterface(Goods *goods);

void menu();//显示主菜单

void goodList();//显示商品列表

void addToCart(Goods *goods);

void removeFromCart(Goods *goods);

int payTheBill(Goods *goods);

void showTheCart(Goods *goods);

#include "customFile.h"

void menu(){//显示主菜单

printf("请选择数字进行操作\n");

printf("1:显示所有商品");

printf("\t\t\t4:从购物车移除商品\n");

printf("2:查看购物车");

printf("\t\t\t5:结算\n");

printf("3:添加商品到购物车");

printf("\t\t0:退出\n");

printf("*******************************************\n");

}

void goodlist(){//打印商品清单

printf("商品列表如下*\n");

printf("编号\t\t\t名称\t\t\t价格\t\t\t折扣\n\n");

printf("101\t\t\t书本\t\t\t25\t\t\t0.8\n");

printf("102\t\t\t茶杯\t\t\t10\t\t\t0.3\n");

printf("103\t\t\t钢笔\t\t\t20\t\t\t0.6\n");

printf("***************************************************************\n");

}

void mainInterface(Goods *goods){

//主界面实现

int select = 0;

do{

menu();

printf("请选择对应数字0--5:");

scanf("%d",&select);

switch (select) {

case 1:

goodlist();

break;

case 5:

select = payTheBill(goods);

break;

case 4:

removeFromCart(goods);

break;

case 3:

addToCart(goods);

break;

case 2:

showTheCart(goods);

break;

case 0:

break;

default:

printf("error!!\n请重新选择:\n");

break;

}

}

while (select != 0) ;

}

void addToCart(Goods *goods){//实现添加商品到购物车功能

//goodList();

int code = 0, number = 0;

printf("请选择商品编号:");

scanf("%d",&code);

printf("请输入购买数量:");

scanf("%d",&number);

int flag = 0;

for (int i = 0; i < 3; i ++) {

if (goods[i].code == code) {

goods[i].number +=number;

flag = 1;

printf("商品添加成功!!\n");

printf("*****************************\n");

break;

}

}

if (flag == 0) {

printf("对不起,我们没有您要购买的商品\n");

}

}

void removeFromCart(Goods *goods){ //从购物车移除商品

//goodList();

int code = 0,number = 0;

printf("请输入您要移除的商品编号:");

scanf("%d",&code);

printf("请输入您要移除的数量:");

scanf("%d",&number);

int flag = 0;

for (int i = 0; i < 3; i ++) {

if (goods[i].code == code && goods[i].number - number > 0) {

goods[i].number -=number;

flag = 1;

printf("修改成功!\n");

printf("*****************************\n");

break;

}

}

if (flag == 0) {

printf("购物车里没有足够的该商品。\n");

}

}

int payTheBill(Goods *goods){//结算功能

printf("****当前购物车的商品\n");

double sum = 0;

for (int i = 0; i < 3; i++) {

if (goods[i].number > 0) {

printf("商品ID: %d,商品名称: %s,价格: %.2lf元,折扣率: %.2lf%%,库存数量: %d件,总金额: %.2lf元", goods.code, goods.name, goods.price, goods.discount * 100, goods.number, goods.number * goods.discount * goods.price);

sum += goods[i].numbergoods[i].discountgoods[i].price;

}

}

printf("当前总额为%.2f\n",sum);

printf("***************************************************************\n");

return 0;

}

void showTheCart(Goods *goods){//显示购物车

printf("****当前购物车的商品\n");

double sum = 0;

for (int i = 0; i < 3; i++) {

if (goods[i].number > 0) {

按格式输出各项目详细信息,请您查看以下具体数据:
包括商品编号、商品名称、价格(含折扣)、总金额及数量。

sum += goods[i].numbergoods[i].discountgoods[i].price;

}

}

printf("\n\t\t当前总额为%.2f\n",sum);

printf("***************************************************************\n");

}

#include <stdio.h>

#include "customFile.h"

int main(int argc, const char * argv[]) {

// insert code here...

Goods goods[3] = {

{101,"书本",20,0.8,0,0},

{102,"茶杯",10,0.3,0,0},

{103,"钢笔",15,0.6,0,0}

};

printf("\n\t\tXX超市购物车管理系统\n\n");

printf("*******************************************\n");

mainInterface(goods);

printf("谢谢您的光临,祝您生活愉快\n");

return 0;

}

全部评论 (0)

还没有任何评论哟~