汽车销售信息系统示例代码(C语言)struct与union联合结构

        为一个信息系统编写一个声明,它用于记录每个汽车零售商的销售情况。每份销售
记录必须包括下列数据。字符串值的最大长度不包括其结尾的 NUL 
顾客名字(customer’s name)
顾客地址(customer’s address)
模型(model
销售时可能出现三种不同类型的交易:全额现金销售、贷款销售和租赁。对于全额现
金销售,还必须保存附加信息:

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

typedef struct {
    char customer_name[21];
    char customer_address[41];
    char model[21];
} CarSaleRecord;

typedef enum {
    FULL_CASH,
    LEASE,
    LOAN
} TransactionType;

typedef struct {
    float manufacturer_suggested_retail_price;
    float actual_selling_price;
    float sales_tax;
    float licensing_fee;
} FullCashSaleInfo;

typedef struct {
    float manufacturer_suggested_retail_price;
    float actual_selling_price;
    float down_payment;
    float security_deposit;
    float monthly_payment;
    int lease_term;
} LeaseInfo;

typedef struct {
    float manufacturer_suggested_retail_price;
    float actual_selling_price;
    float sales_tax;
    float licensing_fee;
    float down_payment;
    int loan_duration;
    float interest_rate;
    float monthly_payment;
    char name_of_bank[21];
} LoanInfo;

typedef union {
    FullCashSaleInfo full_cash_sale_info;
    LeaseInfo lease_info;
    LoanInfo loan_info;
} AdditionalInfo;

typedef struct {
    CarSaleRecord car_sale_record;
    TransactionType transaction_type;
    AdditionalInfo additional_info;
} SalesRecord;

int main() {
    SalesRecord record;
    strcpy(record.car_sale_record.customer_name, "张三");
    strcpy(record.car_sale_record.customer_address, "北京市朝阳区");
    strcpy(record.car_sale_record.model, "奥迪A4");
    record.transaction_type = LOAN;
    record.additional_info.full_cash_sale_info.manufacturer_suggested_retail_price = 300000;
    record.additional_info.full_cash_sale_info.actual_selling_price = 280000;
    record.additional_info.full_cash_sale_info.sales_tax = 20000;
    record.additional_info.full_cash_sale_info.licensing_fee = 10000;
  

    printf("客户姓名:%s\n", record.car_sale_record.customer_name);
    printf("客户地址:%s\n", record.car_sale_record.customer_address);
    printf("车型:%s\n", record.car_sale_record.model);
    printf("交易类型:%d\n", record.transaction_type);
    printf("制造商建议零售价:%f\n", record.additional_info.full_cash_sale_info.manufacturer_suggested_retail_price);
    printf("实际售价:%f\n", record.additional_info.full_cash_sale_info.actual_selling_price);
    printf("销售税:%f\n", record.additional_info.full_cash_sale_info.sales_tax);
    printf("许可费:%f\n", record.additional_info.full_cash_sale_info.licensing_fee);

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ApLinuxor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值