C语言编写银行打印程序实例参考

简介
模拟银行的钱数大写输出例如
345
叁肆伍

方法/步骤
首先打开VC++

文件》》》新建

创建一个C++空白文档

先声明头文件


代码如下:

#include<stdio.h>

 
声明变量


代码如下:

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; i<len && j>0; 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<len; 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;

}

运行结果

(0)

相关推荐

  • C语言实现输入一个字符串后打印出该字符串中字符的所有排列

    本文实例讲述了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,属于数学里的排列问题.是一个很实用的算法技巧.分享给大家供大家参考.具体实现方法如下: 例如输入字符串abc,则输出由字符a.b.c所能排列出来的所有字符串abc.acb.bac.bca.cab和cba. C语言实现代码如下: /* * Copyright (c) 2011 alexingcool. All Rights Reserved. */ #include <iostream> #include <al

  • C语言中打印特殊图案的实现代码

    代码如下所示: 复制代码 代码如下: #include <stdio.h> int main(){ // 主要是找到行和列的关系   int i,j,k;      for(i=0;i<4;i++)  //做为行循环   {    for(j=0;j<=2-i;j++)  // 打印一行中的空白     printf(" ");    for(k=0;k<=2*i;k++)  //打印一行中*号     printf("*");   

  • C++实现十六进制字符串转换为十进制整数的方法

    本文实例讲述了C++实现十六进制字符串转换为十进制整数的方法.分享给大家供大家参考.具体实现方法如下: /* * 将十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值 */ #include <stdio.h> #include <math.h> /* 将十六进制中的字符装换为对应的整数 */ int hexchtoi(char hexch ) { char phexch[] = "ABCDEF"; char qhexch[] = &qu

  • C语言实现字母大小写转换的方法

    本文实例讲述了C语言实现字母大小写转换的方法.分享给大家供大家参考.具体实现方法如下: /* * 将大写字母转换为小写字母 */ #include <stdio.h> int lower(int c) { return ((c>='A')&&(c<='z'))?(c+'a'-'A'):(c); } main() { int i; char a[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; for(i=0;i<26;i++)

  • c语言链表基本操作(带有创建链表 删除 打印 插入)

    复制代码 代码如下: #include <stdio.h>#include <stdlib.h>#include <malloc.h>#define LEN sizeof(struct Student)struct Student{    long num;    float score;    struct Student*next;};int n;int main(){    /*-----------------------------程序描述----------

  • C语言打印华氏-摄氏温度对照表的方法

    本文实例讲述了C语言打印华氏-摄氏温度对照表的方法.分享给大家供大家参考.具体实现方法如下: /* * 打印华氏-摄氏温度对照表 */ #include <stdio.h> /* 温度上限 */ #define MIN 20.0 /* 温度下限 */ #define MAX 300.0 /* 步长 */ #define BC 20.0 main() { /* 定义温度及上下限步常变量 */ float oc,of=1.0; /* 打印标题 */ printf("华氏-摄氏温度对照表\

  • C++学习小结之数据类型及转换方式

    一.输入输出语句 Console.ReadLine(); 会等待直到用户按下回车,一次读入一行 Console.ReadKey(); 则是等待用户按下任意键,一次读入一个字符. 二.数据类型 主要掌握: 1.值类型:int 整型,float 浮点型(单精度), double 双精度,char 字符型,bool 布尔型(两种状态true与false),datetime  日期时间 2.引用类型:string 字符串类型 问题? a.字符串与字符的区别:string类型使用 "",char

  • c语言打印输出双引号的方法示例

    复制代码 代码如下: #include <stdio.h>#define PI 3.14159 int main(void){    printf("\"\"");    return 0;} 为了好看点,可以再加 "\n" 复制代码 代码如下: #include <stdio.h>#define PI 3.14159 int main(void){    printf("\"\"\n&quo

  • C语言编写银行打印程序实例参考

    简介 模拟银行的钱数大写输出例如345叁肆伍 方法/步骤 首先打开VC++ 文件>>>新建 创建一个C++空白文档 先声明头文件 复制代码 代码如下: #include<stdio.h>  声明变量 复制代码 代码如下: char *p[10]={"零","一","二","三","四","五","六","七",&quo

  • 易语言编写的算术题程序实例代码

    这是一个用易语言编写的一款自动出题的软件 程序下载地址:https://www.jb51.net/codes/645872.html 以下是源码内容: .版本 2 .程序集 窗口程序集1 .子程序 _按钮1_被单击 .判断开始 (编辑框1.内容 = "" 或 编辑框2.内容 = "") 信息框 ("账户名或密码不能为空!", 0, "提示", ) 编辑框1.获取焦点 () .判断 (编辑框1.内容 = "sau123

  • 易语言编写登录小程序实例讲解

    我们首先来看下源码内容 .程序集 窗口程序集_启动窗口 .子程序 _按钮1_被单击 .如果真 (编辑框1.内容 = "" 或 编辑框2.内容 = "") 信息框 ("用户名或密码不能为空!", 0, , ) 编辑框1.获取焦点 () 标签3.可视 = 假 标签4.可视 = 假 返回 () .如果真结束 .如果真 (编辑框1.内容 = "123" 且 编辑框2.内容 = "123") 信息框 ("登

  • python+tkinter编写电脑桌面放大镜程序实例代码

    本文讲述的是通过python+tkinter编写一个简单桌面放大镜的代码示例,具体如下. 代码思路:首先全屏截图,然后在鼠标当前位置以小窗口进行二次截图,放大后再显示到鼠标左上角. 主要技术:全屏截图,指定区域截图,绑定鼠标事件,绘制图像. 建议大家照着代码敲一遍,然后运行试试.代码有一点点小瑕疵,试着发现并尝试解决. 总结 以上就是本文关于Python+tkinter编写电脑桌面放大镜程序实例代码的全部内容,希望对大家有所帮助.感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指

  • 易语言编写64位程序的方法

    今天小编给大家带来的是易语言怎么编写64位程序,希望能帮助到大家! 1.如果你同时在运行腾讯的游戏,它会自动屏蔽掉易语言编写的软件. 2.支持库问题,易语言本身的支持库是兼容所有系统的. 3.所以可能调用了其他支持库,这个我们需要留意一下哦! 4.模块问题,模块调用的命令,某些命令调用的DLL是64位不兼容的. 5.建议:优化一下代码,尝试右键以管理员身份运行. 总结:以上就是5个用易语言编写64位程序的步骤,感谢大家对我们的支持.

  • C语言编写扫雷小程序

    本文实例为大家分享了C语言实现扫雷小程序的具体代码,供大家参考,具体内容如下 首先创建一个项目,建立一个头文件game.h,两个源文件game.c和test.c game.h代码片: #ifndef  __GAME_H__ #define  __GAME_H__ #include<stdio.h> #include<stdlib.h> #include<string.h> #define ROWS 10//行数 #define COLS 10//列数 #define M

  • 易语言编写截屏程序制作教学

    现如今,各种软件包括Windows系统,都附带了截屏功能:但这一功能是如何实现的呢,接下来,让我们使用易语言编写一个可以截屏的程序吧. 1. 打开易语言,选择 新建: 选择 Windows窗口程序: 点击确认. 2.然后做出如图的程序外形. 3.选中保存钮 : 单击 事件处理子程序集: 选择 被单击,然后进入程序程序编辑窗口. 1.二:编写程序 首先,利用 快照 代码把屏幕上的内容取出: 然后放入图片框中以便查看. 2.然后回到按钮2(保存钮)的编辑窗口. 输入以下代码. 1.三:完成 利用 快

  • C语言编写Linux守护进程实例

    守护进程(Daemon)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.守护进程是一种很有用的进 程.Linux的大多数服务器就是用守护进程实现的.比如,Internet服务器inetd,Web服务器httpd等.同时,守护进程完成许多系统任 务.比如,作业规划进程crond,打印进程lpd等. 守护进程的编程本身并不复杂,复杂的是各种版本的Unix的实现机制不尽相同,造成不同Unix环境下守护进程的编程规则并不一致.这需要读者注意,照搬 某些书上的

  • 使用C语言编写圣诞表白程序

    快到圣诞节啦,男票女票都有了嘛?没有的话,有没有喜欢的女孩子或者男孩子啊?今天就给你们分享一个圣诞节的表白程序,希望你们喜欢咯,效果是这样的: 圣诞节快到了,让我们用C语言制作一个圣诞表白程序 具体代码如下咯: // GreetingCardDemoDlg.cpp : 实现文件 // #include "stdafx.h" #include "GreetingCardDemo.h" #include "GreetingCardDemoDlg.h"

  • 使用C语言编写钢琴小程序

    网上搜索键盘钢琴,可以搜索到不少小游戏,最常玩的就是Flash小游戏,26个按键的. 后来想用C语言自己实现一个,没有界面--控制台的. 原理很简单,先在控制台中获取按键事件,在按键事件中,开一个线程,这个线程就是专门用来播放键对应的音效mp3的. 为什么要用线程呢,因为直接按键播放的话,如果不把mp3播放完,就无法再播放同一mp3,用线程就没有这个问题了. 线程函数中,就是使用mciSendString函数,打开然后播放对应的mp3文件. 刚开始写完的时候很哈皮,可以弹奏了,从网上找了一些曲谱

随机推荐