#include <iostream>
#include <cstdlib>
#include <cctype>
#include <string>
using namespace std;int myAtoi(const string &s){    //字符串转化为整数int n = 0;for(auto v : s){if(!isdigit(v)){   //如果不是数字字符cout << "Invalid string!" << endl;exit(EXIT_FAILURE);}}for(auto c : s)if(c >= '0' && c <= '9')  //进行转换n = 10 * n + (c - '0');return n;
}//分离字符串中整数部分和小数部分
void seperateString(string &first, string &last, const string s){for(int i = 0; s[i] != '.'; ++i) //获取整数部分first += s[i];for(auto i = s.find('.')+1; s[i] != '\0'; i++) //获取小数部分last += s[i];}int main(){cout << "Enter an amount in double, for example 11.56: ";string amount;cin >> amount;string intergerPart = "", remainderPart = "";   //整数部分和余数部分int numberOfOneDollars = 0;int remainingAmount = 0;if(amount.find('.') != amount.npos){ //如果包含小数部分seperateString(intergerPart, remainderPart, amount);numberOfOneDollars = myAtoi(intergerPart);remainingAmount = myAtoi(remainderPart);}else{    //如果不包含小数部分numberOfOneDollars = myAtoi(amount);remainingAmount = 0;}// find the number of quarters in the remaining amountint numberOfQuarters = remainingAmount / 25;remainingAmount = remainingAmount % 25;// find the number of dimes in the remaining amountint numberOfDimes = remainingAmount / 10;remainingAmount = remainingAmount % 10;// find the number of nickels in the remaining amountint numberOfNickels = remainingAmount / 5;remainingAmount = remainingAmount % 5;// find the number of pennies in the remaining amountint numberOfPennies = remainingAmount;// display resultscout << "Your amount " << amount << " consists of " << endl <<"  " << numberOfOneDollars << " dollars" << endl <<"  " << numberOfQuarters << " quarters" << endl <<"  " << numberOfDimes << " dimes" << endl <<"  " << numberOfNickels << " nickels" << endl <<"  " << numberOfPennies << " pennies" << endl;return 0;
}

转载于:https://www.cnblogs.com/mocuishle/p/7976859.html

ex10_8金融应用:货币单位相关推荐

  1. Java黑皮书课后题第4章:*4.26(金融应用:货币单位)重写程序清单2-10,解决将float型值转换为int型值时可能会造成精度损失的问题。读取的输入值是一个字符串,比如“11.56“

    *4.26(金融应用:货币单位)重写程序清单2-10,解决将float型值转换为int型值时可能会造成精度损失的问题.读取的输入值是一个字符串,比如"11.56" 题目 题目概述 ...

  2. Java黑皮书课后题第2章:*2.22(金融应用:货币单位)改写程序清单2-10,解决将double转int可能会造成精度损失问题。以整数值作为输入,其最后两位代表的是美分币值

    *2.22(金融应用:货币单位)改写程序清单2-10,解决将double转int可能会造成精度损失问题.以整数值作为输入,其最后两位代表的是美分币值 题目 题目概述 举例 程序清单2-10 修改思路 ...

  3. 第四章第二十六题(金融应用:货币单位)(Financial application: monetary units)

    第四章第二十六题(金融应用:货币单位)(Financial application: monetary units) *4.26(金融应用:货币单位)重写程序清单2-10,解决将float型值转换为i ...

  4. 第二章第二十二题(金融应用:货币单位)(Financial application: monetary units)

    *2.22(金融应用:货币单位)改写程序清单2-10,解决将double型值转换为int型值可能会造成精度损失问题.以整数值作为输入,其最后两位代表的是美分币值.例如:1156就表示的是11美元56美 ...

  5. 区块链与金融基础设施——兼论Facebook Libra

    前言 本文作者为万向区块链&PlatON云图首席经济学家邹传伟博士.邹博士研究了区块链对金融基础设施的影响,并从这个角度分析了近期备受关注的Facebook Libra.本文的结论是:金融基础 ...

  6. [ZT] 金融恐怖与国际安全系列之2009国际大动荡的起始点

    来自:http://valueleader.blogbus.com/c1586390/ 2009年将至,展望未来一片迷茫,2009年我们会面临更加残酷的裁员减薪潮,社会收入锐减,购买力下降与清仓减库相 ...

  7. python金融大数据分析笔记----第十章 2(风险测量)

    10.4 风险测量 VaR CVaR 10.4.1. 风险价值(Var) VaR(Value at Risk,风险价值或风险溢价)是度量一项投资或投资组合可能产生的下跌风险的方法,它描述的是在一定的概 ...

  8. 宜人贷YEP技术、数据沉淀背后:金融科技迎来开放赋能时代

    日前,"IFPI第十届金融科技决策者大会2018"在上海举办,宜人贷不仅入选了本届大会的"中国Fintech独角兽榜Top50",推出的YEP共享平台也受到了众 ...

  9. 玉山银行的一名新员工“玉山小i随身金融顾问”

    市场竞争.监管变化.客户体验一直在对金融行业发起挑战,所以无论监管.竞争.客户都会影响金融行业在成本和服务上的创新,金融行业越来越多的开始利用人工智能去满足现有发展提出的要求. 台湾玉山银行的数字化转 ...

  10. AI金融若不解决这些问题,等于在制造新的不可解问题

    人们对新事物总是充满恐惧.就在大家担心无人驾驶汽车是否弊大于利的时候,AI重塑金融规律的创新也引起许多人对其中的法律和道德问题的顾虑. 让一个软件程序来决定,谁拥有投资开户的资格,谁能够获得贷款(征信 ...

最新文章

  1. 密码密文 android,Android密码明文密文切换
  2. Matlab并行编程函数cellfun arrayfun
  3. P3247-[HNOI2016]最小公倍数【分块,并查集】
  4. LeetCode-118杨辉三角C++详解
  5. 这些年我用过的编程语言
  6. 使用skin++进行MFC界面美化范例
  7. Vivado使用流程(文字总结)
  8. FastDFS安装手册
  9. 给初学者用pycharm轻松导入Python各种包
  10. iphone4s蜂窝数据连不上解决方案
  11. 网络营销之QQ推广技巧
  12. PCAP学习笔记二:pcap4j源码笔记
  13. 主wifi旁零距离添加AP路由器
  14. 【网络安全学习笔记】
  15. 如何去理解同花顺l2接口?
  16. python实现天气查询
  17. 简易双人坦克大战制作流程(二)
  18. Hibernate中的一对多关系映射
  19. 招募法师盗贼开箱游戏java,魔兽世界怀旧服玩家怒问盗贼可免费开箱子,要水却要礼貌或收金?...
  20. AUTOCAD——构造线

热门文章

  1. html字体白色边框黑色效果,css完整总结:第二篇(尺寸,外补白,内补白,边框,背景,颜色,字体,文本,文本装饰)...
  2. GAMIT/GLOBK入门简介和安装
  3. React Native Android 8081端口占用问题
  4. 使用F021_API_F2837xD_FPU32.lib 库函数遇到的问题 warning #10068-D: no matching section
  5. 不可重复读和幻读有什么区别区别?
  6. 软件测试人员如何月薪过万、月薪过万的秘籍
  7. python 实现软件激活码验证
  8. c语言int作用,C语言中的int max(int x,int y) 究竟有何作用?
  9. 关于电子信息/计算机类专业从业者相关的证书与职称
  10. Ubuntu磁盘分区和挂载