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

相关文章

C++中unordered_set哈希集合的实现

《C++中unordered_set哈希集合的实现》std::unordered_set是C++标准库中的无序关联容器,基于哈希表实现,具有元素唯一性和无序性特点,本文就来详细的介绍一下unorder... 目录一、概述二、头文件与命名空间三、常用方法与示例1. 构造与析构2. 迭代器与遍历3. 容量相关4

C++中悬垂引用(Dangling Reference) 的实现

《C++中悬垂引用(DanglingReference)的实现》C++中的悬垂引用指引用绑定的对象被销毁后引用仍存在的情况,会导致访问无效内存,下面就来详细的介绍一下产生的原因以及如何避免,感兴趣... 目录悬垂引用的产生原因1. 引用绑定到局部变量,变量超出作用域后销毁2. 引用绑定到动态分配的对象,对象

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

C++读写word文档(.docx)DuckX库的使用详解

《C++读写word文档(.docx)DuckX库的使用详解》DuckX是C++库,用于创建/编辑.docx文件,支持读取文档、添加段落/片段、编辑表格,解决中文乱码需更改编码方案,进阶功能含文本替换... 目录一、基本用法1. 读取文档3. 添加段落4. 添加片段3. 编辑表格二、进阶用法1. 文本替换2

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

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

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

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

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