#include <stdio.h> #include <stdlib.h> #include <string.h>

// 商品结构体 typedef struct { char name[50]; char size[10]; int price; } Product;

// 购物车结构体 typedef struct { Product* products[10]; int count; } ShoppingCart;

// 初始化商品列表 void initProducts(Product* products) { strcpy(products[0].name, "雅诗兰黛粉水"); strcpy(products[0].size, "400ml"); products[0].price = 350;

strcpy(products[1].name, "小棕瓶精华");
strcpy(products[1].size, "50ml");
products[1].price = 420;

strcpy(products[2].name, "雅诗智妍面霜");
strcpy(products[2].size, "50ml");
products[2].price = 750;

strcpy(products[3].name, "小棕瓶眼霜");
strcpy(products[3].size, "15ml");
products[3].price = 500;

strcpy(products[4].name, "红石榴洁面");
strcpy(products[4].size, "150ml");
products[4].price = 280;

strcpy(products[5].name, "DW粉底液(1w1)");
strcpy(products[5].size, "30ml");
products[5].price = 380;

strcpy(products[6].name, "沁水粉底液(1c0)");
strcpy(products[6].size, "30ml");
products[6].price = 450;

strcpy(products[7].name, "雅诗气垫");
strcpy(products[7].size, "15ml");
products[7].price = 420;

strcpy(products[8].name, "雅诗防晒隔离");
strcpy(products[8].size, "30ml");
products[8].price = 280;

strcpy(products[9].name, "雅诗樱花水");
strcpy(products[9].size, "200ml");
products[9].price = 580;

}

// 显示商品列表 void displayProducts(Product* products) { printf("商品列表:\n"); int i; for (i=0; i < 10; i++) { printf("%d %s %s %d元\n", i + 1, products[i].name, products[i].size, products[i].price); } }

// 选购商品 void selectProduct(Product* products, ShoppingCart* cart) { int choice; printf("请输入要选购的商品编号:"); scanf("%d", &choice);

if (choice < 1 || choice > 10) {
    printf("无效的选择!\n");
    return;
}

Product* selectedProduct = &products[choice - 1];
cart->products[cart->count] = selectedProduct;
cart->count++;

printf("已将商品 %s 添加到购物车。\n", selectedProduct->name);

}

// 显示已选商品 void displaySelectedProducts(ShoppingCart* cart) { printf("已选商品:\n"); int i; for (i=0; i < cart->count; i++) { printf("%d %s %s %d元\n", i + 1, cart->products[i]->name, cart->products[i]->size, cart->products[i]->price); } }

// 对已选商品进行添加或删除 void modifySelectedProducts(ShoppingCart* cart) { int choice; printf("请输入要进行操作的商品编号:"); scanf("%d", &choice);

if (choice < 1 || choice > cart->count) {
    printf("无效的选择!\n");
    return;
}

printf("请选择操作:\n");
printf("1. 添加数量\n");
printf("2. 删除商品\n");
int operation;
scanf("%d", &operation);

if (operation == 1) {
    printf("请输入要添加的数量:");
    int quantity;
    scanf("%d", &quantity);
    cart->products[choice - 1]->price *= quantity;
} else if (operation == 2) {
    int i;
    for (i=choice - 1; i < cart->count - 1; i++) {
        cart->products[i] = cart->products[i + 1];
    }
    cart->count--;
    printf("已删除商品。\n");
} else {
    printf("无效的选择!\n");
}

}

// 结算 void checkout(ShoppingCart* cart) { int total = 0; printf("结算清单:\n"); int i; for (i=0; i < cart->count; i++) { printf("%s %s %d元\n", cart->products[i]->name, cart->products[i]->size, cart->products[i]->price); total += cart->products[i]->price; } printf("总计:%d元\n", total); }

int main() { Product products[10]; initProducts(products);

ShoppingCart cart;
cart.count = 0;

int choice;
while (1) {
    printf("\n菜单:\n");
    printf("1. 选购商品\n");
    printf("2. 显示已选商品\n");
    printf("3. 对已选商品进行添加或删除\n");
    printf("4. 结算\n");
    printf("0. 退出\n");
    printf("请输入菜单选项:");
    scanf("%d", &choice);

    switch (choice) {
        case 1:
            displayProducts(products);
            selectProduct(products, &cart);
            break;
        case 2:
            displaySelectedProducts(&cart);
            break;
        case 3:
            modifySelectedProducts(&cart);
            break;
        case 4:
            checkout(&cart);
            break;
        case 0:
            exit(0);
        default:
            printf("无效的选择!\n");
    }
}

return 0;

}

C语言实现简单购物系统:商品选购、结算功能

原文地址: https://www.cveoy.top/t/topic/oOVr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录