* Proje
Bu projede aşağıdaki ATM ile ilgili listelenen işlevleri fonksiyonları kullanarak uygulayınız.
- Kullanıcıya Menünün Gösterilmesi
- Hesap Bilgileri Gösterme (Gösterilecek bilgileri siz belirleyeceksiniz: Ad, Soyad, IBAN, Sube, Banka adı, v.b.)
- Bakiye Sorgulama
- Para Çekme
- Para Yatırma
- Para Gönderme (5% komisyon)
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include <math.h>
#include <conio.h>
#include <locale.h>
#include <unistd.h> // Sleep fonksiyonu için bu kütüphaneyi tanımladık
struct banka /* tüm fonksiyonlarda verilere erişebilmek için Struct yapısı oluşturduk. */
{
char ad[30];
char soyad[30];
char CepTel[30];
char Iban[30];
char Dogum_tarihi[30];
char kizlik_soyadi[30];
char e_posta[30];
float bakiye1;
}banka={"Yusuf","XXX","5313313131","TR77777777777777","07.03.2000","AAAAAA","yusufxxx@gmail.com",27300}; /* Struct yapısına veriler girdik*/
void menu();
void bakiye_sorgula(float bakiye);
int para_cekme(float bakiye);
int para_yatirma(float bakiye);
int para_gonderme(float bakiye);
void hesap_bilgisi(char ad[20], char soyad[20],char CepTel[10],char Iban[26],char Dogum_tarihi[10],char kizlik_soyadi[20],char e_posta[BUFSIZ],float bakiye);
main()
{
system("color 3e");
system("cls");
menu();
}
void menu(){
printf("\n Yusuf XXX");
char islem;
int secim;
printf("\n\t\t\t VEFA BANKASINA HOSGELDINIZ.\t\n");
printf("\t\t\t|\t MENU");
printf("\t\t|\n"),
printf("\t\t\t|-------------------------------|\n");
printf("\t\t\t|1-Hesap Bilgilerini Goster");
printf("\t|\n");
printf("\t\t\t|2-Bakiye Sorgulama");
printf("\t\t|\n");
printf("\t\t\t|3-Para Cekme");
printf("\t\t\t|\n");
printf("\t\t\t|4-Para Yatirma");
printf("\t\t\t|\n");
printf("\t\t\t|5-Para Gonderme");
printf("\t\t|\n");
printf("\t\t\t|7-Cikis");
printf("\t\t\t|\n"),
printf("\t\t\t|-------------------------------|\n");
printf("\t\t\tYapmak istediginiz islemi seciniz:");
scanf("%d",&secim);
if(secim==1)
{
hesap_bilgisi(banka.ad,banka.soyad,banka.CepTel,banka.Iban,banka.Dogum_tarihi,banka.kizlik_soyadi,banka.e_posta,banka.bakiye1); /*Struct yapılarındaki verileri okumak için
dizilerin başına " banka. " eklendi. */
}
else if(secim==3)
{
banka.bakiye1=para_cekme(banka.bakiye1);
main();
}
else if(secim==2)
{
bakiye_sorgula(banka.bakiye1);
}
else if(secim==4)
{
banka.bakiye1=para_yatirma(banka.bakiye1);
main();
}
else if(secim==5)
{
banka.bakiye1=para_gonderme(banka.bakiye1);
main();
}
else if(secim==7)
{
exit(1);
}
else
{
}
}
void bakiye_sorgula(float bakiye)
{
char devam;
printf("Musterinin Toplam Bakiyesi: %5.2f \n",bakiye);
while(1){
printf("\n Menuye donmek icin D/d tusuna basiniz.\n");
devam=getche();
if((tolower(devam)=='d' ))
{
main();
}
else
{
printf("Hatali Islem Yaptiniz.Menuye Yonlendiriliyorsunuz.");
sleep(5); /*Programı 5 saniye durduruyor. Üstteki Hatalı işlem yaptınız yazısını göstermek için bu kodu kullandık.Kullanmasaydık maine hemen dönecekti
ve system(cls) kodundan dolayı Hatalı işlem yaptınız yazısı görünmeyecekti.*/
main();
}
}
}
int para_cekme(float bakiye)
{
char devam;
float miktar;
while(1){
printf("Su an ki Bakiyeniz:%5.2f\n",bakiye);
printf("Cekmek istediginiz bakiye miktarini giriniz:\n");
scanf("%f",&miktar);
float hesaplama=bakiye-miktar;
printf("Paraniz basariyla cekilmistir.\n");
printf("Su an ki Bakiyeniz:%5.2f\n",hesaplama);
printf("\n Menuye donmek icin D/d tusuna basiniz.\n");
devam=getche();
if((tolower(devam)=='d' ))
{
return hesaplama;
}
else
{
printf("Hatali Islem Yaptiniz.Menuye Yonlendiriliyorsunuz.");
sleep(5);/*Programı 5 saniye durduruyor. Üstteki Hatalı işlem yaptınız yazısını göstermek için bu kodu kullandık.Kullanmasaydık maine hemen dönecekti
ve system(cls) kodundan dolayı Hatalı işlem yaptınız yazısı görünmeyecekti.*/
main();
}
}
}
int para_yatirma(float bakiye)
{
char devam;
float miktar, hesaplama;
while(1)
{
printf("Su an ki Bakiyeniz:%5.2f\n",bakiye);
printf("Yatirmak istediginiz bakiye miktarini giriniz:\n");
scanf("%f",&miktar);
hesaplama=bakiye+miktar;
printf("Paraniz basariyla yatirilmistir.\n");
printf("Su an ki Bakiyeniz:%5.2f\n",hesaplama);
printf("\n Menuye donmek icin D/d tusuna basiniz.\n");
devam=getche();
if((tolower(devam)=='d' ))
{
return hesaplama;
}
else
{
printf("Hatali Islem Yaptiniz.Menuye Yonlendiriliyorsunuz.");
sleep(5);/*Programı 5 saniye durduruyor. Üstteki Hatalı işlem yaptınız yazısını göstermek için bu kodu kullandık.Kullanmasaydık maine hemen dönecekti
ve system(cls) kodundan dolayı Hatalı işlem yaptınız yazısı görünmeyecekti.*/
main();
}
}
}
int para_gonderme(float bakiye)
{
char Iban2[30];
char CepTel2[30];
char devam;
char devam2;
float miktar, hesaplama;
while(1)
{
printf("Su an ki Bakiyeniz:%5.2f\n",bakiye);
printf("Gondermek istediginiz hesabin IBAN numarasini giriniz:\n");
fflush(stdin); /* Gets komutunu kullandığımızda kaynaklanan , veriyi almadan direk atlatığından dolayı
Internetten araştırdığımda gets(); komutundan once fflush(); yazdığımızda sorun olmadığından kullandım.*/
gets(Iban2);
geri:
printf("\nGondermek istediginiz bakiye miktarini giriniz:\n");
scanf("%f",&miktar);
bakiye=bakiye-miktar;
hesaplama=bakiye-((bakiye*5)/100); /*komisyon alıyoruz*/
printf("Gondermek Istediginiz\n---> IBAN:%s\n--->Telefon Numaraniz:%s\n",Iban2,banka.CepTel);
printf("---->Islemi onaylamak icin E/e tusuna basiniz.\n");
printf("---->Para miktarini duzeltmek icin G/g tusuna basiniz\n");
printf("---->Islemden vazgecmek icin V/v tusuna basiniz\n");
devam=getche();
if((tolower(devam)=='e' ))
{
printf("Paraniz basariyla gonderilmistir.\n");
printf("Su an ki Bakiyeniz:%5.2f\n",hesaplama);
printf("\n Menuye donmek icin D/d tusuna basiniz.\n");
devam2=getche();
if((tolower(devam2)=='d' ))
{
return hesaplama;
}
else
{
printf("Hatali Islem Yaptiniz.Menuye Yonlendiriliyorsunuz.");
sleep(5);/*Programı 5 saniye durduruyor. Üstteki Hatalı işlem yaptınız yazısını göstermek için bu kodu kullandık.Kullanmasaydık maine hemen dönecekti
ve system(cls) kodundan dolayı Hatalı işlem yaptınız yazısı görünmeyecekti.*/
main();
}
}
if((tolower(devam)=='g' ))
{
goto geri;
}
if((tolower(devam)=='v' ))
{
main();
}
}
}
void hesap_bilgisi(char ad[20], char soyad[20],char CepTel[10],char Iban[26],char Dogum_tarihi[10],char kizlik_soyadi[20],char e_posta[BUFSIZ],float bakiye)
{
char devam;
while(1){
printf("Musteri Bilgileri: Ad:%s \tSoyad:%s\tCep:%s\tIBAN:%s\tDogum Tarihi:%s\tAnne Kizlik Soyadi:%s\tE-Postasi:%s\tBakiyesi:%5.2f\t\n ",ad,soyad,CepTel,Iban,Dogum_tarihi,kizlik_soyadi,e_posta,bakiye);
printf("\n Menuye donmek icin D/d tusuna basiniz.\n");
devam=getche();
if((tolower(devam)=='d' ))
{
main();
}
else
{
printf("Hatali Islem Yaptiniz.Menuye Yonlendiriliyorsunuz.");
sleep(5);/*Programı 5 saniye durduruyor. Üstteki Hatalı işlem yaptınız yazısını göstermek için bu kodu kullandık.Kullanmasaydık maine hemen dönecekti
ve system(cls) kodundan dolayı Hatalı işlem yaptınız yazısı görünmeyecekti.*/
main();
}
}
}