23 Mei 2010

Program C++: Konversi Huruf Desimal ke Romawi

23 Mei 2010
wah iseng-iseng liad algoritma pemograman. dapet pemograman c++ yang keren yaitu konveri dari angka desimal ke romawi
algortimanya panjang. jadi saya kasi contoh ajalah.
contoh kita inputkan angka 44
maka dalam angka romawi menjadi XLIV, dapet darimana tuh??????

dmana kita tahu bahwa
M=1000
D=500
C=100
L=50
X=10
I=1

kita jalankan dulu program konversinya, baru saya kasi tau dah dapet dari mana XLIV itu.
#include <iostream.h>
#include <conio.h>

int main()
{
int angka;

cout<<"angka: "; //harus dalam jangkuan 1....3999
cin>>angka;

if(angka<1||angka>3999) //jika angka kurang dari 1 atau kurang lebih dari 3999
cout<<"angka tidak boleh melebihi dari 1...3999";
else
{
while(angka>=1000)
{
cout<<"M";
angka=angka-1000;
}
if (angka>=500)
{
if (angka>500)
{
if (angka>=900)
{
cout<<"CM";
angka=angka-900;
}
else
{
cout<<"D";
angka=angka-500;
}
}
}
while (angka>=100)
{
if (angka>=400)
{
cout<<"CD";
angka=angka-400;
}
else
{
angka=angka-100;
}
}
if (angka>=50)
{
if (angka>=90)
{
cout<<"XC";
angka=angka-90;
}
else
{
cout<<"L";
angka=angka-50;
}
}
while(angka>=10)
{
if(angka>=40)
{
cout<<"XL";
angka=angka-40;
}
else
{
cout<<"X";
angka=angka-10;
}
}
if (angka>=5)
{
if (angka==9)
{
cout<<"IX";
angka=angka-9;
}
else
{
cout<<"V";
angka=angka-5;
}
}
while(angka>=1)
{
if(angka==4)
{
cout<<"IV";
angka=angka-4;
}
else
{
cout<<"I";
angka=angka-1;
}
}
}
cout<<"\n";
getch();
}


sekarang kita bahas
kita inputkan angka 44
seperti yang sudah di inisialisasikan, jika angka >=10 dan angka >=40 tulis XL dan kurangkan angka-40
jadi kita dapatkan XL dengan sisa angka 4

kemudian jika sisaangka>=1 dan angka==4, maka tuliskan IV dan angka sudah habis di bagi.

jadi konversi total adalah XLIV
gampang bukan? hehhehhe

8 comments:

kakve_santi mengatakan...

hiii? C++,,
delphi aja setengah mati :)

Opie Eyek mengatakan...

@kekve
saya malah ga bisa delphi
ga dapet pemograman yang itu,.
hehehheheh

maftuhriza afrul yumida mengatakan...

wah masih ruwet dan membingungkan nda... aku dapet tugas kayak gini tapi dari 0-9999 gmana coba, aku pusing berjuta keliling nie nda.....hehe

opie eyek mengatakan...

ganti aja if(angka<1||angka>3999) menjadi if(angka<=0||angka>9999)

maftuhriza afrul yumida mengatakan...

lha nie masalahnya, romawi 0 tu kya gmana coz aku belum nemu'in'e, hehe.....

Opie Eyek mengatakan...

:l: hmm ia juga yah....
.
salah soal kali hihihihhi.....

Anonim mengatakan...

mas itu kan kalau udah muncul huruf romawi nya langsung mati dy
kalau dy nggak mati lanjut otomatis ginamana mas?
newbie kali ini haha

Anonim mengatakan...

What's up, always i used to check weblog posts here early in the daylight, for the reason that i like to gain knowledge of more and more.

my web-site; laser cellulite treatment

Poskan Komentar

sampaikan komentar dengan sopan dan bertanggung jawab :)