C++大学教程(第九版)6.12停车费

2024-01-20 14:20

本文主要是介绍C++大学教程(第九版)6.12停车费,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 题目
  • 代码
  • 运行截图

题目

(停车费)停车场3小时内的最少收费是2.00美元。超过3小时每增加1小时或者不到1小时需要收取0.50美元的附加费用。24 小时之内的最多收费是10美元。假设没有车子一次停车时间超过24小时。请编写一个程序,计算并显示昨天的三个客户各自的停车费用。要求应该输人每个客户的停车时间。程序应该以整齐的表格形式打印结果,并应该计算和打印昨天收费的总和。程序应该使用calculateCharges 函数来确定每个客户的停车费用。程序的输出要求采用下面的格式。
在这里插入图片描述

代码

#include <iostream>
#include <iomanip>
#include <cmath>using namespace std;double calculateCharges(double);int main()
{double hours[3];double sumCharge = 0, sumHours = 0;cout << "请输入每个客户的停车时间:";cin >> hours[0] >> hours[1] >> hours[2];cout << "Car\tHours\tCharge\n";for (int i = 0; i < 3; i++){cout << right << fixed;double charge = calculateCharges(hours[i]);cout << i + 1 << "\t"<< setw(5) << setprecision(1) << hours[i] << "\t"<< setw(6) << setprecision(2) << charge << endl;sumCharge += charge;sumHours += hours[i];}cout << "TOTAL\t"<< setw(5) << setprecision(1) << sumHours << "\t"<< setw(6) << setprecision(2) << sumCharge << endl;system("pause");return 0;
}double calculateCharges(double hours)
{double money;if (hours <= 3){money = 2.0;}else{hours -= 3;hours = ceil(hours);money = 2 + hours * 0.50;}if (money > 10)money = 10.00;return money;
}

运行截图

在这里插入图片描述

这篇关于C++大学教程(第九版)6.12停车费的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/626282

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

C++右移运算符的一个小坑及解决

《C++右移运算符的一个小坑及解决》文章指出右移运算符处理负数时左侧补1导致死循环,与除法行为不同,强调需注意补码机制以正确统计二进制1的个数... 目录我遇到了这么一个www.chinasem.cn函数由此可以看到也很好理解总结我遇到了这么一个函数template<typename T>unsigned

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

深入解析C++ 中std::map内存管理

《深入解析C++中std::map内存管理》文章详解C++std::map内存管理,指出clear()仅删除元素可能不释放底层内存,建议用swap()与空map交换以彻底释放,针对指针类型需手动de... 目录1️、基本清空std::map2️、使用 swap 彻底释放内存3️、map 中存储指针类型的对象

Java Scanner类解析与实战教程

《JavaScanner类解析与实战教程》JavaScanner类(java.util包)是文本输入解析工具,支持基本类型和字符串读取,基于Readable接口与正则分隔符实现,适用于控制台、文件输... 目录一、核心设计与工作原理1.底层依赖2.解析机制A.核心逻辑基于分隔符(delimiter)和模式匹

spring AMQP代码生成rabbitmq的exchange and queue教程

《springAMQP代码生成rabbitmq的exchangeandqueue教程》使用SpringAMQP代码直接创建RabbitMQexchange和queue,并确保绑定关系自动成立,简... 目录spring AMQP代码生成rabbitmq的exchange and 编程queue执行结果总结s

C++ STL-string类底层实现过程

《C++STL-string类底层实现过程》本文实现了一个简易的string类,涵盖动态数组存储、深拷贝机制、迭代器支持、容量调整、字符串修改、运算符重载等功能,模拟标准string核心特性,重点强... 目录实现框架一、默认成员函数1.默认构造函数2.构造函数3.拷贝构造函数(重点)4.赋值运算符重载函数

C++ vector越界问题的完整解决方案

《C++vector越界问题的完整解决方案》在C++开发中,std::vector作为最常用的动态数组容器,其便捷性与性能优势使其成为处理可变长度数据的首选,然而,数组越界访问始终是威胁程序稳定性的... 目录引言一、vector越界的底层原理与危害1.1 越界访问的本质原因1.2 越界访问的实际危害二、基

c++日志库log4cplus快速入门小结

《c++日志库log4cplus快速入门小结》文章浏览阅读1.1w次,点赞9次,收藏44次。本文介绍Log4cplus,一种适用于C++的线程安全日志记录API,提供灵活的日志管理和配置控制。文章涵盖... 目录简介日志等级配置文件使用关于初始化使用示例总结参考资料简介log4j 用于Java,log4c