Thursday, October 21, 2010

Program ATM sederhana

ATM adalah Automatic Teller Machine atau dalam bahasa Indonesianya biasa disebut Anjungan Tunai Mandiri. Kita mengunjungi ATM ketika sedang membutuhkan uang atau ingin melakukan transaksi. Namun, yang ingin saya bahas disini adalah mengenai program sederhana dalam mengambil uang ketika berada di mesin ATM. Mungkin sekarang mesin ATM sudah terprogram dengan uang pecahan 50 ribu Rupiah atau 100 ribu Rupiah. Nah, bagaimana kalau mesin ATM tersebut menyediakan pecahan uang 50 ribu, 20 ribu serta 10 ribu? Mari kita kerjakan dengan menggunakan c++.

#include<iostream>
#include<conio2.h>

using namespace std;

void hitung (int w,int *l,int *d,int *s);// prototyping
int periksa(int a);

int main()
{
    clrscr();
    int duit,test,l,d,s;
    do
    {
        printf("masukkan jumlah uang yang diinginkan = Rp. ");
        scanf("%d",&duit);// masukkan uang
        test = periksa (duit);// periksa pecahan uang yang dimasukkan
    }
    while ( test==0);// lalukan pengulangan selama nilai yang dikembalikan adalah 0
    hitung (duit,&l,&d,&s);// mulai mode penghitungan pecahan
   
    printf("%d lembar = Rp 50000\n",l);
    printf("%d lembar = Rp 20000\n",d);
    printf("%d lembar = Rp 10000\n",s);
   
    getch();
    return 0;
}

int periksa (int a)
{
     clrscr();
     int x = 1;
     if (a%50000 == 0 || a%20000 == 0 || a%10000 == 0)// jika hasilnya dimodulus maka akan dikembalikan nilai true
        return x;
     else
        return x = 0;
}
   
void hitung (int w,int *l,int *d, int *s)
{
     *l=w/50000;// jika pecahan bisa diambil dalam 1 lembar 50 ribuan
     *d=(w%50000)/20000;// jika pecahan masih menyisakan 20 ribuan
     *s=(w-(*l*50000)-(*d*20000))/10000;// jika pecahan uang tidak bisa dipecah menjadi 50 ribuan dan 20 ribuan
}
  �lse

0 comments: