C语言编写发卡软件:简单示例和代码解释
以下是一个用C语言编写的简单发卡软件的示例:\n\nc\n#include <stdio.h>\n#include <stdlib.h>\n\n// 定义发卡结构体\ntypedef struct {\n int cardNumber; // 卡号\n int balance; // 余额\n} Card;\n\n// 发卡函数\nCard* issueCard(int cardNumber, int balance) {\n Card* card = (Card*)malloc(sizeof(Card));\n card->cardNumber = cardNumber;\n card->balance = balance;\n return card;\n}\n\n// 充值函数\nvoid recharge(Card* card, int amount) {\n card->balance += amount;\n}\n\n// 消费函数\nvoid consume(Card* card, int amount) {\n if (card->balance >= amount) {\n card->balance -= amount;\n printf("消费成功,余额:%d\n", card->balance);\n } else {\n printf("余额不足,无法完成消费\n");\n }\n}\n\nint main() {\n Card* card = issueCard(123456789, 100); // 发行一张卡号为123456789,余额为100的卡\n printf("当前卡号:%d,余额:%d\n", card->cardNumber, card->balance);\n\n recharge(card, 50); // 充值50\n printf("当前卡号:%d,余额:%d\n", card->cardNumber, card->balance);\n\n consume(card, 80); // 消费80\n printf("当前卡号:%d,余额:%d\n", card->cardNumber, card->balance);\n\n consume(card, 100); // 消费100,余额不足\n printf("当前卡号:%d,余额:%d\n", card->cardNumber, card->balance);\n\n free(card); // 释放内存\n\n return 0;\n}\n\n\n上述示例中,定义了一个Card结构体,包含了卡号和余额两个字段。issueCard函数用于发行一张卡,接受卡号和余额作为参数,并返回一个指向Card结构体的指针。recharge函数用于充值,接受一个指向Card结构体的指针和充值金额作为参数,将充值金额加到卡的余额上。consume函数用于消费,接受一个指向Card结构体的指针和消费金额作为参数,如果卡的余额足够支付消费金额,则从余额中扣除消费金额并输出消费成功,否则输出余额不足。\n\n在main函数中,首先调用issueCard函数发行一张卡号为123456789,余额为100的卡,并输出卡的信息。然后调用recharge函数充值50,并输出卡的信息。接着调用consume函数消费80,并输出卡的信息。最后调用consume函数消费100,由于余额不足,输出余额不足的提示。最后,使用free函数释放卡的内存空间。
原文地址: https://www.cveoy.top/t/topic/pwHw 著作权归作者所有。请勿转载和采集!