//********************************************************************************************
//*程序作者:冰糖
//*完成日期:2019年3月1日
//*章    节:第1章
//*题    号:习题11
//*题    目:编写一个程序模拟支票输出。程序要求用户输入日期,姓名和支票的数量,然后模拟支票的形式输出以下信息,例如:
//*          日期:2017年12月26日
//*          姓名:张三 RMB1920.68
//*          人名币:壹仟玖佰贰拾元陆角捌分
//*          注:假设输入的金额中,最多只有两位小数。
//*          输入有效性检验:输入金额的数量不能大于RMB10000.
//********************************************************************************************
#include<iostream>
using namespace std;
#include<iomanip>
#include<string.h>
#include<math.h>
char *swap(int a);
char a[10];
int main()
{char *chinese(int n);int i,flag=0;int year,month,day;int rmb[20],money1; float money;char name[10];cout<<"请输入年份:";cin>>year;cout<<"请输入月份:";cin>>month;cout<<"请输入天:";cin>>day;cout<<"请输入姓名:";cin>>name;cout<<"请输入支票数量(需小于10000元):";cin>>money;while(flag<30)//有效性检验{if(money>10000){cout<<"输入的金额不能超过10000元,请重新输入支票数量:";cin>>money;flag++; }elsebreak;}cout<<"\n\n****************************************************************************"<<endl;cout<<"日期:"<<year<<"年"<<month<<"月"<<day<<"日"<<endl; cout<<"姓名:"<<name<<" RMB"<<fixed<<setprecision(2)<<money<<endl; if(money==10000)//输出繁体数字cout<<"人民币:壹万元"<<endl;//首先解决特例的情况 //将数字分解存入数组rmb[];money1=money*100;for(i=0;money1>0;i++){rmb[i]=money1%10;money1=money1/10;}flag=i;if(flag==6)//1:几千元{cout<<"人民币:";if(rmb[4]==0&&rmb[3]==0&&rmb[2]==0)cout<<swap(rmb[5])<<"仟元";elsecout<<swap(rmb[5])<<"仟";if((rmb[4]!=0&&rmb[3]!=0)||(rmb[4]!=0&&rmb[2]!=0))//百 *****************************************cout<<swap(rmb[4])<<"佰";//十位不为零 或 个位不为零 else if(rmb[4]!=0)cout<<swap(rmb[4])<<"佰元";//十位为零 且个位不为零  if(rmb[3]!=0&&rmb[4]!=0&&rmb[2]!=0) //十 *****************************cout<<swap(rmb[3])<<"拾";//百位不为零 else if(rmb[3]!=0&&rmb[2]!=0)cout<<"零"<<swap(rmb[3])<<"拾";//个位不为零 else if(rmb[3]!=0&&rmb[2]==0) cout<<swap(rmb[3])<<"拾元";//百位个位均为零 else if(rmb[3]!=0)cout<<"零"<<swap(rmb[3])<<"拾元";if(rmb[3]!=0&&rmb[2]!=0) //个 ******************************cout<<swap(rmb[2])<<"元";//十位不为零 else if(rmb[2]!=0)cout<<"零"<<swap(rmb[2])<<"元";//十位为零 if(rmb[1]!=0) cout<<swap(rmb[1])<<"角";if(rmb[0]!=0) cout<<swap(rmb[0])<<"分"; } if(flag==5)//2:几百元 350{cout<<"人民币:";if(rmb[3]==0&&rmb[2]==0)cout<<swap(rmb[4])<<"佰元";elsecout<<swap(rmb[4])<<"佰";if(rmb[3]!=0&&rmb[2]!=0) cout<<swap(rmb[3])<<"拾";//230 else if(rmb[3]!=0)cout<<swap(rmb[3])<<"拾元";if(rmb[3]!=0&&rmb[2]!=0) //个 ******************************cout<<swap(rmb[2])<<"元";//十位不为零 else if(rmb[2]!=0)cout<<"零"<<swap(rmb[2])<<"元";//十位为零 if(rmb[1]!=0) cout<<swap(rmb[1])<<"角";if(rmb[0]!=0) cout<<swap(rmb[0])<<"分"; } if(flag==4)//3:几十元{cout<<"人民币:";if(rmb[2]==0)cout<<swap(rmb[3])<<"拾元";elsecout<<swap(rmb[4])<<"拾";if(rmb[2]!=0) cout<<swap(rmb[2])<<"元";if(rmb[1]!=0) cout<<swap(rmb[1])<<"角";if(rmb[0]!=0) cout<<swap(rmb[0])<<"分"; } if(flag==3)//4:几元{cout<<"人民币:"<<swap(rmb[2])<<"元";if(rmb[1]!=0) cout<<swap(rmb[1])<<"角";if(rmb[0]!=0) cout<<swap(rmb[0])<<"分"; }if(flag==2)//5:几角 {cout<<"人民币:"<<swap(rmb[1])<<"角";if(rmb[0]!=0) cout<<swap(rmb[0])<<"分"; } if(flag==1)//6:几分 {cout<<"人民币:"<<swap(rmb[0])<<"分";} cout<<"\n****************************************************************************"<<endl;
}
char *swap(int n)//为输出繁体做准备,先确定好数字写法;
{if(n==0){strcpy(a,"零");return a;}if(n==1){strcpy(a,"壹");return a;}if(n==2){strcpy(a,"贰");return a;}if(n==3){strcpy(a,"叁");return a;}if(n==4){strcpy(a,"肆");return a;}if(n==5){strcpy(a,"伍");return a;}if(n==6){strcpy(a,"陆");return a;}if(n==7){strcpy(a,"柒");return a;}if(n==8){strcpy(a,"捌");return a;}if(n==9){strcpy(a,"玖");return a;}
}

C++ 第一章 NO.11 编写一个程序模拟支票输出。程序要求用户输入日期,姓名和支票的数量,然后模拟支票的形式输出以下信息,相关推荐

  1. 第一章 开始 |编写一个简单的C++程序

    学习目标: 编写一个简答的C++程序 学习内容: 1.一个简单的c++程序 2.输入和输出 3.关于注释 4.控制流 5.类简介 6.书店程序 1.1 编写一个简单的c++程序 每个C++程序都包含一 ...

  2. 习题 1.5 请参照本章例题,编写一个C程序,输出以下信息:*****Very good!*****

    习题1.5 请参照本章例题,编写一个C程序,输出以下信息: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Very good! ...

  3. Linux环境使用命名空间编写一个简单的容器应用程序:namespace,container,cgroups

    目录 使用命名空间编写一个简单的容器应用程序 创建一个子进程– fork vs clone 具有clone(2)的命名空间 简单示例 - CLONE_NEWPID 隔离网络接口 - CLONE_NEW ...

  4. 要求: 编写一个程序,提示用户输入: 姓名 ,身份证号(需要一次输完,中间用逗号分隔)随后打印用户的星座。 提示:输入功能用C实现会很简单,其他语言的话,就不用输入姓名和逗号了,直接输入身份证号就

    #include <stdio.h>int main(void) {char name[10]; //存储姓名int a, b; //a代表月,b代表日printf("请输入姓名 ...

  5. 不会编程也能亲手编写一个桌面数字小时钟程序,仅3步轻松实现

    开发一款自己专属的软件应用很难吗?不会编程也能亲手编写一个桌面数字小时钟程序,仅需3步教你轻松实现,人人都可学.只需 13 行代码,您就可以制作自己的数字时钟,先看运行效果: 第一步 打开电脑自带的记 ...

  6. 用python编写一个掷骰子的小程序

    摘要: 编写了一个掷骰子的程序,主要通过pygame模块实现了以下几点功能:1.每次点击开始键时,骰子都会转动起来.2.每次开始后点击停止键时,骰子停止并且随机停在1-6的某一个数字上.3.按下结束键 ...

  7. 头歌答案--编写一个能搜索单词的程序Bailey–Borwein–Plouffe公式

    任务描述 本关任务:编写一个能搜索单词的程序. 相关知识 为了完成本关任务,你需要掌握: 1.DFS和回溯算法 2.函数设计 3.导入from typing import List def exist ...

  8. 编写一个打印全年日历的程序

    /* 判断闰年3 如果知道某年元月一日是星期几,能否在本程序的基础上, 编写一个打印全年日历的程序? */ #include <iostream> using namespace std; ...

  9. java二分查找宿舍管理_1、任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: (1)采用交互工作方式...

    1.任务:为宿舍管理人员编写一个宿舍管理查询软件, 程序设计要求: (1)采用交互工作方式 2016-08-22 0 0 0 暂无评分 其他 1 积分下载 如何获取积分? 1.任务:为宿舍管理人员编写 ...

最新文章

  1. 插入,在PostgreSQL中重复更新吗?
  2. mac os 下 Android Studio设置真机调试
  3. 详解tf.nn.dropout
  4. 这个可能是比你女朋友陪你时间都要久的本子
  5. pycharm怎么修改python路径
  6. Linux系统是否被植入木马的排查流程梳理
  7. java麻麻_知了堂教你不怂密密麻麻的Java代码
  8. 多线程JAVA篇(一)
  9. 计算机专业普通的期刊,计算机类的普通期刊
  10. php日历排班表,如何用Word制作超精美的日历、值班表、计划表?
  11. 分数阶的预估校正算法及实现
  12. Linux gre tunnel 端口,两台Linux通过GRE tunnel的隧道实现互通 — 并且改变其中一台的回程路由...
  13. java 双列集合Map 万字详解
  14. 好事成双--庆祝牛郎织女一年一次的见面
  15. iOS开发小技巧汇总
  16. DeepTalk vol.1 新物种打造爆品,总共分几步?
  17. SVN 学习笔记-高级操作
  18. 常见硬件术语手册!绝对权威!(转!)七、显示卡术语解释
  19. python爬取歌词生成词云图_爬取毛不易歌词作词云展示
  20. PC微信v3.3.0.20测试版下载

热门文章

  1. Python爬取自如北京2.3万条租房信息,发现快租不起房子了
  2. UI那点事—从我的经历看GUI发展
  3. Element UI 使用 el-carousel 焦点图
  4. 英大证券分析报告(0607)
  5. 我的世界酷牛选java_我的世界 / 常见问答 - 酷牛云™ 游戏服务器帮助中心
  6. 运营电商平台系统,功能强大真的很香!
  7. 键盘按键模拟程序示例
  8. 数通基础-网络基础知识
  9. CF978B File Name【数组操作/序列判断连续出现=3次的‘x’个数】
  10. 实验六:PL/SQL编程基础(1)