Entri Populer

Selasa, 10 April 2012

ARRAY OF ADT (ABSTRACT DATA TYPE)

ini ada contoh program ARRAY OF ADT (ABSTRACT DATA TYPE) buat bank yang berfungsi untuk mengecek saldo nasabah dll nya saran aja kalo udah ngeview source nya jangan di copat aja ya (copy paste) tapi di pelajarin kodingnya oke teman teman ..semoga berguna ya share aja hehe

here we go guys :D


header.h

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>


typedef struct
{
char nama[50];
int norek;
char kartuATM[20];
int saldo;
float bunga;
}nasabah;


void InputData(nasabah n[15], int i);


void EditData(nasabah n[15], int a);


void Tampil(nasabah n[15], int a);


void TutupRek(nasabah n[15], int a);


void Penarikan(nasabah n[15], int d);


void transferDana(nasabah n[15], int a);


void administrasi(nasabah n[15],int a);


void bunga(nasabah n[15],int a);


void pajak(nasabah n[15],int a);


source.c

#include "header.h"


void InputData(nasabah n[15], int i)
{



printf("Masukkan nama nasabah : ");scanf("%s",&n[i].nama);
do
{
printf("Masukkan Jenis Kartu (platinum,silver,gold) : ");scanf("%s",&n[i].kartuATM);
}while((strcmpi(n[i].kartuATM,"platinum"))&&(strcmpi(n[i].kartuATM,"silver"))&&(strcmpi(n[i].kartuATM,"gold")));
printf("Masukkan saldo nasabah : ");scanf("%d",&n[i].saldo);


}


void EditData(nasabah n[15], int i)
{

printf("Masukkan nama nasabah : ");scanf("%s",&n[i-1].nama);
Tampil(n,i);

}


void Tampil(nasabah n[15], int a)
{
int i;
TutupRek(n,a);
for(i=0;i<a;i++)
{
printf("\nNama nasabah : %s",n[i].nama);
n[i].norek=i+1;
printf("\nno rekening  %d",n[i].norek);
do
{
printf("\nJenis Kartu : %s",n[i].kartuATM);
}while((strcmpi(n[i].kartuATM,"platinum"))&&(strcmpi(n[i].kartuATM,"silver"))&&(strcmpi(n[i].kartuATM,"gold")));
printf("\nSaldo nasabah : %d",n[i].saldo);
}
}
void TutupRek(nasabah n[15], int a)
{
int i;


for(i=0;i<a;i++)
{
if(n[i].saldo<10000)
{
strcpy(n[i].nama,"\nrekening telah ditutup");
n[i].saldo=0;
}
}
}


void Penarikan(nasabah n[15], int i)
{
int saldo;
printf("\nSaldo tidak boleh kurang dari 10000");
printf("\nMasukkan saldo yang ingin ditarik : ");
scanf("%d",&saldo);
n[i-1].saldo=n[i-1].saldo - saldo;
}
int cek(nasabah n[15],int a)
{
int i,novry=0;
for(i=0;i<15;i++)
{
if(n[i].norek==a)
novry=1;
}
return novry;
}


void transferDana(nasabah n[15], int a)
{


int i,m,b,saldo;
printf("masukan nomor rekening asal :");scanf("%d",&m);
printf("\nmasukan rekening tujuan :");scanf("%d",&b);
printf("\nmasukan saldo :");scanf("%d",&saldo);

if(cek (n,m)==1 && cek(n,b)==1)
{

for(i=0;i<a;i++)
{


if(n[i].norek==m)
n[i].saldo=n[i].saldo-5500-saldo;
else if(n[i].norek==b)
n[i].saldo=n[i].saldo+saldo;


}
}
}




void administrasi(nasabah n[15],int a)
{
int i;
for(i=0;i<a;i++)
{


if(strcmpi(n[i].kartuATM,"silver")==0)
{
n[i].saldo=n[i].saldo-10000;
}
else if(strcmpi(n[i].kartuATM,"gold")==0)
{
n[i].saldo=n[i].saldo-15000;
}
else if(strcmpi(n[i].kartuATM,"platinum")==0)
{
n[i].saldo=n[i].saldo-25000;
}
}
}




void bunga(nasabah n[15],int a)
{
int i;

for(i=0;i<a;i++)
{
if(n[i].norek!=0)
{
n[i].bunga=n[i].saldo=n[i].saldo+(n[i].saldo*0.005);
}
}

}
void pajak(nasabah n[15],int a)
{
int i;
for(i=0;i<a;i++)
{
if(n[i].saldo>10000)
{
n[i].saldo=n[i].saldo-(n[i].bunga*10/100);
}
}
}




main.c

#include "header.h"


void main()
{
nasabah n[15];
int pil,nomerrekening,i,a;
char b[30];
int indek=0;
do
{
system("cls");
printf("====menu====");
printf("\n1.Tambah Nasabah");
printf("\n2.Edit Data Nasabah");
printf("\n3.Tampil Data Nasabah");
printf("\n4.Penarikan Tunai");
printf("\n5.Transfer dana");
printf("\n6.penarikan administrasi");
printf("\n7.bunga bank ");
printf("\nMasukkan pilihan :"); scanf("%d",&pil);


switch(pil)
{
case 1:
{
InputData(n,indek);
indek++;
getch();
break;
}
case 2:


{
printf("\nmasukan nama :");scanf("%s",&b);
printf("masukan no rekening yang ingin di edit :");scanf("%d",&a);
for(i=0;i<indek;i++)
{
if(strcmpi (n[i].nama,b)==0 && n[i].norek==a)
{
EditData(n,indek);
}
}



getch();break;
}
case 3:
{
Tampil(n,indek);
getch();break;
}

case 4:
{
printf("Masukkan nomer rekening yang ingin di tarik: ");
scanf("%d",&nomerrekening);

Penarikan(n,nomerrekening);
getch();break;

}
case 5:
{
transferDana(n,indek);
getch();
break;
}
case 6 :
{
administrasi(n,indek);
getch();
break;
}
case 7 :
{
bunga(n,indek);
pajak(n,indek);
for(i=0;i<indek;i++)
{
printf("\t\t\nbunga bank : %f",n[i].bunga);
}
getch();
break;
}



}

}while(pil!=0);
getch();
}

Tidak ada komentar:

Posting Komentar