将数字转换成金额(统计专业实验报告)

编程实现如下功能:

1输入一个小写金额值(如1002300.90)

2将它的每一位分离出来并存入到一个一位数组中,每一位数存入到一个数组元素中

3将它转化为大写金额值并输出

(这是帮同学写的作业,她们学C,因此我写了注解。不知为什么,当输入位数变多时,角数数不出来)


#include<iostream> //换成stdio.h
using namespace std; //C中省去这句
int main()
{
    long double a;
    string str;
    int b[20];
    char t[12] [10]={"","十","百","千","","十","百","千","","十"};
    cout<<"请输入一个小于20亿,且精确到角的金额\n";  //输出这句话
    cin>>a;//  输入双精度的a
    int c=a;
    double tmp=(a-c)*10;
    int sum=-1;
    for( int i=0;c>0;i++)
    {
        sum++;
        b[i]=c%10;
        c=c/10;
    }
    int h=0;
        for( ;sum>=8&&sum<=9;sum--)
        {
            h=1;
            if(b[sum]!=0)
        {
           if(b[sum]==1)     //以下为分别输出一到九 汉字,注意:没有换行符
          cout<<"壹";
           if(b[sum]==2)
           cout<<"贰";
            if(b[sum]==3)
           cout<<"叁";
           if(b[sum]==4)
           cout<<"肆";
            if(b[sum]==5)
           cout<<"伍";
            if(b[sum]==6)
           cout<<"陆";
           if(b[sum]==7)
           cout<<"柒";
            if(b[sum]==8)
           cout<<"捌";
            if(b[sum]==9)
           cout<<"玖";
           cout<<t[sum];
       }


        }
        if(h==1)
        cout<<"亿";
        h==0;
            for( ;sum>=4&&sum<=7;sum--)
        {
            h=1;
            if(b[sum]!=0)
          {
           if(b[sum]==1)     //以下为分别输出一到九 汉字,注意:没有换行符
          cout<<"壹";
           if(b[sum]==2)
           cout<<"贰";
            if(b[sum]==3)
           cout<<"叁";
           if(b[sum]==4)
           cout<<"肆";
            if(b[sum]==5)
           cout<<"伍";
            if(b[sum]==6)
           cout<<"陆";
           if(b[sum]==7)
           cout<<"柒";
            if(b[sum]==8)
           cout<<"捌";
            if(b[sum]==9)
           cout<<"玖";
           cout<<t[sum];
       }


        }
        if(h==1)
        cout<<"万";
            for( ;sum>=0&&sum<=3;sum--)
        {
            if(b[sum]!=0)
       {
           if(b[sum]==1)     //以下为分别输出一到九 汉字,注意:没有换行符
          cout<<"壹";
           if(b[sum]==2)
           cout<<"贰";
            if(b[sum]==3)
           cout<<"叁";
           if(b[sum]==4)
           cout<<"肆";
            if(b[sum]==5)
           cout<<"伍";
            if(b[sum]==6)
           cout<<"陆";
           if(b[sum]==7)
           cout<<"柒";
            if(b[sum]==8)
           cout<<"捌";
            if(b[sum]==9)
           cout<<"玖";
           cout<<t[sum];
       }


        }
        cout<<"元";
        cout<<tmp<<endl;
    if(tmp!=0)
    {                       //以下给行为输出一到九的汉字,注意:没有换行符
        cout<<"零";
           if(tmp==1)
          cout<<"壹";
           if(tmp==2)
           cout<<"贰";
            if(tmp==3)
           cout<<"叁";
           if(tmp==4)
           cout<<"肆";
            if(tmp==5)
           cout<<"伍";
            if(tmp==6)
           cout<<"陆";
           if(tmp==7)
           cout<<"柒";
            if(tmp==8)
           cout<<"捌";
            if(tmp==9)
           cout<<"玖";
           cout<<"角"<<endl;               //输出角这个字和换行符
       }
    return 0;
}

posted on 2016-05-21 17:34  我是蒟蒻  阅读(183)  评论(0编辑  收藏  举报

导航