[ create a new paste ] login | about

Link: http://codepad.org/TtPXQqQT    [ raw code | fork ]

Ardeshir81 - C++, pasted on Aug 22:
#include <iostream.h>
#include <string>

//using std :: cout ;
//using std :: cin ;
//using std :: string ;

using namespace std ;

string onetwo (char input) //in tabefaghat baraye zamani ezafe mishe ke raghame yeki moonde be akhar '1' bashe , yani adade 10 ta 19 ;
{
    switch (input)
    {
    case '1' :
        return "yaz" ;
    case '2' :
        return "davaz" ;
    case '3' :
        return "siz" ;
    case '4' :
        return "char" ;
    case '5' :
        return "poonz" ;
    case '6' :
        return "shoonz" ;
    case '7' :
        return "hifdah" ;
    case '8' :
        return "hijdah" ;
    case '9' :
        return "noozdah" ;
    case '0' :
        return "" ;
    default :
        cout << "<<<ERROR! there is a non-numeric value in the input !~>>>" ;
    }
    return "NONE" ;
}

string tof (char input , int place) //avalin etefaghi ke baraye har adad miofte ine ke khode oon adad ba arzeshe makanish miad too in tabe
{
    switch (input)
    {
    case '1' :
        if (place == 0)
            return "sad" ;
        else if (place == 1)
            return "yek" ;
    case '2' :
        if (place == 0)
            return "divist" ;
        else if (place == 2)
            return "bist" ;
        else if (place == 1)
            return "do" ;
    case '3' :
        if (place == 0)
            return "sisad" ;
        else if (place == 2)
            return "si" ;
        else if (place == 1)
            return "se" ;
    case '4' :
        if (place == 0)
            return "charsad" ;
        else if (place == 2)
            return "chehel" ;
        else if (place == 1)
            return "char" ;
    case '5' :
        if (place == 0)
            return "poonsad" ;
        else if (place == 2)
            return "panjah" ;
        else if (place == 1)
            return "panj" ;
    case '6' :
        if (place == 0)
            return "shishsad" ;
        else if (place == 2)
            return "shast" ;
        else if (place == 1)
            return "shish" ;
    case '7' :
        if (place == 0)
            return "haftsad" ;
        else if (place == 2)
            return "haftad" ;
        else if (place == 1)
            return "haft" ;
    case '8' :
        if (place == 0)
            return "hashtsad" ;
        else if (place == 2)
            return "hashtad" ;
        else if (place == 1)
            return "hasht" ;
    case '9' :
        if (place == 0)
            return "nohsad" ;
        else if (place == 2)
            return "navad" ;
        else if (place == 1)
            return "noh" ;
    case '0' :
        return "" ;
    default :
        cout << "<<<ERROR! there is a non-numeric value in the input !~>>>" ;
    }
    return "NONE" ;
}

int main ()
{
    string input ; //in hamoon adadie ke karbar vared mikone
    int length ; //in toole adadie ke karbar vared mikone
    cin >> input ;
    length = input.length () ;
    for (int i = 0 ; i < length ; i ++)
    {
        if (input [i] != '1' || (length - i) != 2) //in shartaro gozashtam ke baraye adadi ke raghame dahganeshoon yeke in tabe ejra nashe
            cout << tof (input [i] , (length - i) % 3) ;
        else //va age adade morede nazar raghame dahganesh yek bood (yani do raghame ajkharesh adade 10 ta 19 bood ...
            cout << onetwo (input [++ i]) << "dah" ;
        if ((length - i) % 3 == 1) //in ghesmat ham baraye ine ke million o milliard o hezar o ... a maloom she , barnameye to ta milliard bishtar tashkhis nemide, age mikhay bishtar neshoon bede ba ye taghire koochik mitooni ta binahayat ham edamash bedi
        {
            if ((length - i) / 3 == 3)
                cout << " milliard" ;
            else if ((length - i) / 3 == 2)
                cout << " million" ;
            else if ((length - i) / 3 == 1)
                cout << " hezar" ;
        }
        if (input [i + 1] != '0' && i != length - 1) //inam ke maloome faseleye beyne adad ro moshakhas mikone
            cout << " o " ;
    }
    return 0 ;
}


Output:
No errors or program output.


Create a new paste based on this one


Comments: