| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 901 人关注过本帖
标题:实现查询用户的当前存款余额并以人民币大写的形式输出怎么写
只看楼主 加入收藏
风致
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-9-22
收藏
 问题点数:0 回复次数:0 
实现查询用户的当前存款余额并以人民币大写的形式输出怎么写

实验项目六、查询模块
实验内容:实现查询用户的当前存款余额并以人民币大写的形式输出
实验目的:掌握映射算法
容易出现的错误:算法不好
人民币大写示例:
#include<iostream.h>
#include<stdio.h>
#include <shlobj.h>
int num[8];//用于存储组成金额的数值
int length;//用于存放组成金额的数值个数
bool jy(int i)//用于验证从第i个数值后是否还存在非零数值
{
int j;
for(j=i;j<=length;j++)
if(num[j]) return true;//存在非0数值
return false;//不存在非0数值
}
void main()
{
MessageBox(0,"人民币大写示例","提示",0);
cout<<"请输入人民币数目:";
int money;
cin>>money;
if(money>99000000)
{
MessageBox(0,"金额过大","提示",0);
return;
}
//处理0元
if(money==0)
cout<<"零元";
else//非0元
{
//定义大写映射数组
char dx[10][3]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
//定义单位映射数组
char dw[8][5]={"元","十","百","千","万","十万","百万"};
//将钱以逆序存放于数组
int i=0;

int fl=0;//用于统计非0数值的个数处理整百、千、万...的特殊数值

while(money)//将组成金额的数值分离出来
{

num[i]=money%10;//求当前金额的个位数值
cout<<num[i];
if(num[i])
fl++;//累计非0数出现次数
money/=10;//去掉当前金额的个位

i++;

}
--i;
//将金额分离完毕
length=i;
if(fl<2)//10的整数倍
{
printf(dx[num[i]]);
printf(dw[i]);
printf("元");
}
else
{
int index;
bool first=true;//第一次遇到0标识
while(i>=0)
{
index=num[i];
if(index)//非零数字
{
printf(dx[index]);//输出大写
printf(dw[i]);//输出人民币单位
first=true;//第一次遇到0标识
}
else
{
if(first&&jy(i))//如果是第一次遇到0且此位以后还存在非0数值
printf("零");
first=false;//将第一次遇到0的标识设置为假
}
i--;
}
}
}
思考:在验证用户身份时,为何用户标识和密码同时验证?
实验项目七、排序模块
实验内容 将现有储户按照余额以为降序排序。
实验目的:动态数据结构及排序训练。
知识点:
动态分配内存空间函数:

动态分配内存空间函数:

思考:动态申请的存储单元的生存期为
帮忙做个模块

搜索更多相关主题的帖子: 人民币 余额 存款 形式 输出 
2007-10-29 21:11
快速回复:实现查询用户的当前存款余额并以人民币大写的形式输出怎么写
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020577 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved