简介

模拟银行的钱数大写输出例如

345

叁肆伍

方法/步骤

首先打开VC++

文件》》》新建

创建一个C++空白文档

先声明头文件

#include

声明变量

char *p[10]={"零","一","二","三","四","五","六","七","八","九"};

由于用到了自定义函数,所以先声明

void PrintInterger(char a[], int len);/*输出整数部分 */

void PrintDecimal(char a[],int len);/*输出小数部分 */

函数1,用于输出整数部分,主要是用switch case进行匹配转换

void PrintInterger(char a[], int len)

{

int i, j, tag1, tag2, tag3;

tag1=(a[len-6]=='0' && a[len-7]=='0' && a[len-8]=='0');

tag2=(a[len-14]=='0' && a[len-15]=='0' && a[len-16]=='0');

tag3=(a[len-22]=='0' && a[len-23]=='0' && a[len-24]=='0');

printf("您的钱数是:\n");

for(i=0,j=len; i0; i++,j--)

{

if(a[i] == '0' && i != len-1)

{

if((j == 5 && tag1) || (j == 13 && tag2) || (j == 21 && tag3 ))

;

else if((j == 21 && ! tag3 )||(j == 5 && ! tag1)||(j == 13 && ! tag2))

printf("万");

else if(j == 9 || j == 17 )

printf("亿");

else if(a[i+1] == '0' && i != len-1)

;

else if(a[i+1] != '0' && i != len-1)

printf("零");

else

;

}

else if(a[i] == '0' && i == len-1)

;

else if(a[i] != '0')

{

/*阿拉伯数字向汉字的转换*/

switch(a[i])

{

case '1': printf("%s",p[1]); break;

case '2': printf("%s",p[2]); break;

case '3': printf("%s",p[3]); break;

case '4': printf("%s",p[4]); break;

case '5': printf("%s",p[5]); break;

case '6': printf("%s",p[6]); break;

case '7': printf("%s",p[7]); break;

case '8': printf("%s",p[8]); break;

case '9': printf("%s",p[9]); break;

default: printf("error"); ; break;

}

/*输出相应的单位*/

switch(j)

{

case 2:

case 6:

case 10:

case 14:

case 18:

case 22: printf("%s","十"); break;

case 3:

case 7:

case 11:

case 15:

case 19:

case 23: printf("%s","百"); break;

case 4:

case 8:

case 12:

case 16:

case 20:

case 24: printf("%s","千"); break;

case 5:

case 13:

case 21: printf("%s","万"); break;

case 9:

case 17: printf("%s","亿"); break;

default: printf("%s",""); break;

}

}

}

printf("%s","圆");

}

函数2,用于输出小数部分,主要是用switch case进行匹配转换

void PrintDecimal(char a[],int len)

{

int i;

for(i=0; i

{

/*阿拉伯数字向汉字的转换*/

switch(a[i])

{

case '0': printf("%s",p[0]); break;

case '1': printf("%s",p[1]); break;

case '2': printf("%s",p[2]); break;

case '3': printf("%s",p[3]); break;

case '4': printf("%s",p[4]); break;

case '5': printf("%s",p[5]); break;

case '6': printf("%s",p[6]); break;

case '7': printf("%s",p[7]); break;

case '8': printf("%s",p[8]); break;

case '9': printf("%s",p[9]); break;

default: printf("%s",p[0]); ; break;

}

/*输出对应的单位*/

switch(i)

{

case 0: printf("%s","角"); break;

case 1: printf("%s","分"); break;

case 2: printf("%s","厘"); break;

case 3: printf("%s","毫"); break;

default:; break;

}

}

}

主函数,变量的作用我说明了

int main(void)

{

char Number[128];/* 用来存放用户输入的数字 */

char Interger[64], Decimal[64];/* 分别存放输入数的整数和小数部分 */

int lenI,lenD;/* 分别记录整数和小数部分的长度 */

int i,j;

puts("*************************************");

puts("* This is a print program *");

puts("* used in a bank *");

puts("*************************************");

puts("please input the money:");

gets(Number);

i=0;j=0;

/* 处理输入的数的整数部分 */

while((Number[i]!= '/0') && (Number[i]!= '.' )&& (Number[i] >= '0') && (Number[i] <= '9'))

{

Interger[i]=Number[i];

i++;

}

lenI = i;

if(Number[i]== '.')

{

i++;

/*处理输入的数的小数部分*/

while(Number[i]!= '/0' && Number[i] >= '0' && Number[i] <= '9')

{

Decimal[j++]=Number[i++];

}

/* 精确到小数点后4位数 */

if((j >= 4 )&& (Decimal[4] > '5'))

{

Decimal[3]+=1;/* 进行4舍五入操作 */

Decimal[4] = '/0';

}

}

if(j >= 4)

lenD = 4;

else

lenD = j;

PrintInterger(Interger, lenI);

PrintDecimal(Decimal,lenD);

printf("\n");

return 0;

}

运行结果

用c语言编写打印机输出程序,C语言编写银行打印程序实例参考相关推荐

  1. c语言双重循环教程,C语言教程之如何进行循环的嵌套详细程序实例说明

    循环的嵌套 一个循环体内又包含另一个完整的循环结构称为循环的嵌套.内嵌的循环中还可以嵌套循环,这就是多层循环. 三种循环(while循环.do-while循环和for循环)可以互相嵌套. 下面几种都是 ...

  2. python编写通讯录管理系统_一个简单的python程序实例(通讯录)

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  3. 实用c语言函数源码,C语言编写简单朗读小工具(有源码)

    原标题:C语言编写简单朗读小工具(有源码) 最近不少人在后台留言说学C都是面对枯燥的控制台程序,能不能体现一下C语言的实际用途,今天我们就理论结合实践一把:C语言结合VBS脚本编写一个简单的朗读小工具 ...

  4. matlab m语言,我要编写matlab一个公式的m语言,请问错在哪里?,M语言的MATLAB的M语言...

    导航:网站首页 > 我要编写matlab一个公式的m语言,请问错在哪里?,M语言的MATLAB的M语言 我要编写matlab一个公式的m语言,请问错在哪里?,M语言的MATLAB的M语言 匿名网 ...

  5. c语言编写pdf,编写并运行C语言程序.pdf

    VC6.0 使用教程 :从 VC6.0安装到运行和调试 [详解版] VisualC++6.0 简称 VC或者 VC6.0 ,是微软推出的一款 C和 C++编译器 ,具有强大的可 视化开发功能和调试功能 ...

  6. c语言判断整数_用c++编写闰年的判断基础程序

    其实c++语言与c语言有太多共同的东西,学习过c语言再学习c++语言就显得轻而易举.当然学过了c++再去学习c语言也是有一些帮助的(但是个人不提倡先学习c++在学c语言).由于现在经常看见有关闰年的程 ...

  7. 在Linux 中编写并运行C语言

    在Linux 中编写并运行C语言 流程 后续 流程 首先我们创建一个C语言文件 vim 1.c 我们进行相关程序的编写(我们以简单的输入输出为例) #include <stdio.h> i ...

  8. 在VsCode里编写和运行不同语言的程序

    文章目录 一.VsCode支持的编程语言 二.在VsCode里编写和运行不同语言的程序 (一)编写和运行C程序 1.编写源程序hello.c 2.运行程序,查看结果 (二)编写和运行Java程序 1. ...

  9. c语言程序设计删除,C程序设计语言练习1-23 编写一个删除C语言程序中所有的注释语句...

    C程序设计语言练习1-23 编写一个删除C语言程序中所有的注释语句,要正确处理带引号的字符串与字符常量,以C语言中,注释不允许嵌套. 本程序运行后,将要求用户输入一个当前目录下的C源码程序文件名,读取 ...

最新文章

  1. python安装第三方库win10_音频处理 windows10下python三方库librosa安装教程
  2. 自动生成web服务器日志解析规则
  3. html标签object和embed,html标签object和embed的区别
  4. wu** C语言注意点
  5. C#Panel 控件的使用
  6. 发布python项目到pypi,以便供他人用pip install安装
  7. python接口自动化(二十)--token登录(详解)
  8. [python]一个遍历多层文件夹,然后替换文件内容和目录名称的案例
  9. js页面传值,cookie
  10. Linux入门——开机启动过程浅析
  11. Mac 效率工具必备神器 —— Alfred
  12. autorunner测试java_AutoRunner自动化测试工具
  13. linux 独立冗余磁盘阵列,独立冗余磁盘列阵
  14. 谷歌翻译插件突然不可用提示Tkk更新失败的解决办法
  15. 【渝粤题库】广东开放大学 工程经济 形成性考核
  16. 我的世界服务器修改npc指令,我的世界自定义npc指令 | 手游网游页游攻略大全
  17. 第四章 OAuth2.0规范(史上最详细解释)——获得授权
  18. 使用ADO创建Excel数据表
  19. redis常用的五大数据类型和redis新增类型以及对应的命令
  20. informa医药数据库价格

热门文章

  1. SQL 优化方案(实用版)
  2. 送给大一新生的一些话
  3. CSDN博主排行榜上线!
  4. 父进程退出,保证子进程交由init。
  5. 台式计算机文件打不开怎么回事,电脑打不开文件是怎么回事 电脑打不开文件是什么原因...
  6. 阿里云数据盘扩容操作遇险记录
  7. 新西兰公民在中国大陆境内在线申请护照注意事项
  8. 淘淘商城——展示购物车商品列表
  9. 不用下载软件也能打开EPUB?详解这款支持网页端的阅读器
  10. 夙愿:对数函数与指数函数的交点问题