Jump to content
Ajang Muslim

C++

Recommended Posts

laugh.gif

Dear Sohib [email protected],

Assalamualaikum,

Salam kenal semuanya,

Saya mahasiswa di suatu perguruan tinggi swasta di Indonesia sangat ingin sekali bantuannya tentang Borland C++ (baru belajar).

Tolong dong kasih contoh program konversi number ke word (sample : 10 = sepuluh).

Wassalam, smile.gif

Ajang Muslim

Share this post


Link to post
Share on other sites

Ambik yang ni, pendek sikit, coding C++. Function GetTextNumber menerima nombor yang telah siap dalam bentuk string (LPCSTR Number).

Kalau nombor dlam integer kena convert ke string dulu misalnya guna CString::Format() function. Yang ni boleh convert nombor hingga juta-juta.

LPCSTR TFormat[] = {"", "puluh ", "ratus ", "", "puluh ", "ratus ", "", "puluh ", "ratus ", ""};
LPCSTR TNumber[] = {"satu ", "dua ", "tiga ", "empat ", "lima ", "enam ", "tujuh ", "lapan ", "sembilan "};

CString GetTextNumber(LPCSTR Number)
{
int D;
int X;

int L = strlen(Number);
if(L > 9) return "*****";

CString S = "";

for(X=0; X<L; X++)
{
if(Number[X] < '0' || Number[X] > '9') return "Bukan nombor";
}

for(X=0; X<L; X++)
{
D = (L-X)-1; // 0 base digit position

if(Number[X] != '0')
{
if((D==1 || D==4 || D==7) && Number[X] == '1' && Number[X+1] != '0') // Belas
{
X++;
D--;
if(Number[X] != '1')
{
S += TNumber[Number[X]-'1'];
S += "belas ";
}
else S += "sebelas ";
}
else
{
if(Number[X] == '1')
{
if(Number[X+1] == '0' || D==2 || D==5 || D==8 || (X==0 && L>1))
{
S += "se";
S += TFormat[D];
}
else
{
S += TNumber[Number[X] - '1'];
S += TFormat[D];
}
}
else
{
S += TNumber[Number[X] - '1'];
S += TFormat[D];
}
}
}

if(D==3 )
{
if(Number[X] != '0' || Number[X-1] != '0' || Number[X-2] != '0') S += "ribu ";
}

if(D==6)
{
S += "juta ";
}
}

if(S.IsEmpty()) S = "kosong ";
return S;
}
[/codebox]

Edited by CFoo++

Share this post


Link to post
Share on other sites

gune sistem if else.....

klu convert guner switch

takleh ker???

Ini sebenarnya if-else bertingkat. Kalau pakai switch lagi panjang dan lagi susah nak faham. Kalau tak nak buat coding, boleh guna function yang dah siap dalam library. Ini sebenarnya function dalam FlitSDK (fail CoreFlitbase.dll), boleh download kat mawarsoft.com link OpenFlitbase. Sebenarnya ada banyak lagi function dalam tu, tukar RMXXX.XX ke "Ringgi Malaysia...." pun ada tapi tak sempat buat dokumentasi lagi. OK.

Edited by CFoo++

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...