C# 用接口实现:根据用户输入算出 A、B 电话卡通话费用与余额
首先,我们可以定义一个接口`IGetMoney`,该接口包含一个方法`CalculateCost`用于计算通话费用: ```csharp public interface IGetMoney { double CalculateCost(int minutes); } ``` 然后,我们可以定义两个实现了`IGetMoney`接口的类`CardA`和`CardB`,分别代表a卡和b卡: ```csharp public class CardA : IGetMoney { private double initialAmount = 100.0; // 初始花费为100元 public double CalculateCost(int minutes) { double cost = 0; if (minutes <= 3) { cost = minutes * 0.2; } else { cost = 3 * 0.2 + (minutes - 3) * 0.1; } initialAmount -= cost; // 扣除通话费用 return cost; } } public class CardB : IGetMoney { private double initialAmount = 100.0; // 初始花费为100元 public double CalculateCost(int minutes) { double cost = minutes * 0.1; initialAmount -= cost; // 扣除通话费用 return cost; } } ``` 接下来,我们可以在主程序中提示用户输入卡类型和通话时间,并计算通话费用和账户余额: ```csharp class Program { static void Main(string[] args) { IGetMoney card; string cardType; int minutes; // 提示用户输入卡类型和通话时间 Console.WriteLine("请输入使用的电话卡类型(A或B):"); cardType = Console.ReadLine(); Console.WriteLine("请输入通话时间(分钟):"); minutes = int.Parse(Console.ReadLine()); // 根据卡类型创建相应的类实例 if (cardType.ToUpper() == "A") { card = new CardA(); } else if (cardType.ToUpper() == "B") { card = new CardB(); } else { Console.WriteLine("无效的卡类型!"); return; } // 调用计算方法计算通话费用 double cost = card.CalculateCost(minutes); // 输出通话费用和账户余额 Console.WriteLine("通话费用为:" + cost + "元"); Console.WriteLine("账户余额为:" + card.GetRemainingAmount() + "元"); } } ``` 这样,用户输入卡类型和通话时间后,程序会根据卡类型计算通话费用,然后输出费用和账户余额。 ######[AI写代码神器 | 1451点数解答 | 2024-05-27 14:56:36]
- Java实现银行与账户类:含存、取、查交易记录功能的业务系统( | 363点数解答 | 2024-04-05 11:49:01)366
- Linux 系统用户、组及文件操作全流程实践(字节豆包 | 1142点数解答 | 2026-03-20 17:29:38)36
- Java实现含多操作的银行账户管理系统,功能演示清晰呈现!( | 363点数解答 | 2024-04-05 11:43:57)392
- 📊 C++ 高效求解社交网络用户关注量与粉丝量(图论出度入度基础)(DeepSeek | 1799点数解答 | 2026-04-10 21:44:39)19
- Java 实战:创建 Vehicle 接口并在 Bike 类实现,T4 类调用启动与停止方法(字节豆包 | 130点数解答 | 2024-09-19 17:40:54)429
- Python 实现移位与仿射密码:精准加密解密及关键逻辑解析(字节豆包 | 798点数解答 | 2024-12-18 15:55:47)275
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)369
- Python 编程:轻松计算飞机行李收费(含代码详解)(字节豆包 | 250点数解答 | 2026-01-29 17:07:02)41
- 车载系统 UML 类图设计:涵盖 Car、Engine、娱乐系统等的完整类定义与关系解析 (字节豆包 | 760点数解答 | 2024-08-15 22:51:04)325
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)340
- C++ 编程:计算黑衣人布袋中黄宝石总重量(字节豆包 | 132点数解答 | 2025-10-18 19:02:51)165
- 揭秘成都治水管水改革:五大机制闭环管理,技术报告助力供排水智能化优化(GPT | 372点数解答 | 2023-12-04 09:49:06)311