c语言 商店购物车系统

来源:互联网 发布:b2b平台群发软件 编辑:程序博客网 时间:2024/04/30 23:22

#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("%d\t%s    \t%.2lf\t\t%.2lf\t\t%d\t\t%.2lf\n",goods[i].code,goods[i].name,goods[i].price,goods[i].discount,goods[i].number,goods[i].number*goods[i].discount*goods[i].price);

            sum += goods[i].number*goods[i].discount*goods[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) {

            printf("%d\t%s    \t%.2lf\t\t%.2lf\t\t%d\t\t%.2lf\n",goods[i].code,goods[i].name,goods[i].price,goods[i].discount,goods[i].number,goods[i].number*goods[i].discount*goods[i].price);

            sum += goods[i].number*goods[i].discount*goods[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 0
原创粉丝点击