Program C++: Konversi Huruf Desimal ke Romawi

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

Labels: