Dengan program ini kita dapat mengkonversi sebuah angka menjadi huruf sama seperti ketika kita membaca angka tersebut.
Misalkan kita masukkan sebuah angka ke dalam program yaitu angka 712, maka hasil outputnya adalah "tujuh ratus dua belas".Apabila kita memasukkan angka yang lain maka outputnya pun akan mengikuti angka yang diinputkan tadi tapi angka yang dimasukkan harus kurang dari 999 karena apabila angka yang dimasukkan diatas 999 maka output yang keluar adalah "diluar range" karena angka yang dimasukkan dibatasi hanya maksimal sampai 999.
Ok, ini dia sourcecodenya:
[sourcecode language="cpp"]
#include <iostream.h>
#include <conio.h>
class konversi{
friend istream& operator>>(istream& , konversi&);
public:
konversi(unsigned int b=0){bilangan=b;}
void membilang1();
void membilang2();
void membilang3();
void membilang4();
void konversikan();
private:
unsigned int bilangan;
};
istream& operator>>(istream& in, konversi& x){
cout <<"masukkan bilangan : ";
in>>x.bilangan;
return in;
}
void konversi::konversikan(){
if(bilangan<=11 || bilangan==100)membilang1();
else if(bilangan>19 && bilangan<=99)membilang3();
else if (bilangan>100 && bilangan<=999)membilang4();
else membilang2();
}
void konversi::membilang3(){
int satuan;
if(bilangan>19){
satuan=bilangan%10;
bilangan=bilangan/10;
konversikan();
cout<<"puluh ";
if (satuan!=0) {
bilangan=satuan;
konversikan();}
}
}
void konversi::membilang1(){
switch(bilangan){
case 0:cout<<"nol "; break;
case 1:cout<<"satu "; break;
case 2:cout<<"dua "; break;
case 3:cout<<"tiga "; break;
case 4:cout<<"empat "; break;
case 5:cout<<"lima "; break;
case 6:cout<<"enam "; break;
case 7:cout<<"tujuh "; break;
case 8:cout<<"delapan "; break;
case 9:cout<<"sembilan "; break;
case 10:cout<<"sepuluh "; break;
case 11:cout<<"sebelas "; break;
case 100:cout<<"seratus "; break;
default : cout<<"diluar range ";
}
}
void konversi::membilang2(){
int temp;
if(bilangan>11 && bilangan<20){
bilangan%=10;
membilang1();
cout<<"belas ";
}
else
membilang1();
}
void konversi::membilang4(){
int puluhan;
puluhan=bilangan%100;
if(bilangan>100 && bilangan<200){
cout <<"seratus ";
}
else {
bilangan=bilangan/100;
konversikan();
cout<<"ratus ";}
bilangan=puluhan;
konversikan();
}
int main(){
konversi a;
cin>>a;
a.konversikan();
getch();
}
[/sourcecode]
Ok,cukup sekian penjelasan program dari saya.Semoga bermanfaat bagi para pembaca.
:)
0 komentar:
Posting Komentar
Jangan Lupa Komentarnya yah...:)