Program C++: Konversi Huruf Desimal ke Romawi

Diposting pada 1.317 views
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 thoughts on “Program C++: Konversi Huruf Desimal ke Romawi

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

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *