Ana içeriğe atla

Otomat Makinesi Programı

* Otomat Makinesi Programı

***Bu programlama projesi kapsamında fonksiyonlar, göstergeler ve diziler kullanılmalıdır.

Programın Gereksinimleri

  • programın arayüzü kullanışlı olacak (ürün isimlerinin görsel olarak iyi listelenmesi)
  • farklı kategoride ürünler, ürün numaraları ve fiyatlari listelenecek (içecek, yiyecek, v.b.). Bu bilgiler 2-boyutlu dizide tutulacak
  • para girişi fonksiyonu (sadece 5, 10, 25, 50 kuruş ve 1 TL girişi yapılabilir)
  • önce para girişi yapılacak sonra ürün seçilecek
  • para iade fonksiyonu (sadece 5, 10, 25, 50 kuruş ve 1 TL şeklinde iade yapılacak)
  • ürün seçme fonksiyonu
  • eğer seçilen ürünün ücreti giriş yapılan paradan yüksekse uyarı mesajı gösterilecek
  • arıza bildirme fonksiyonu (ürünün verilmemesi, para iadesi yapılmaması, paranın okunmaması, v.b.)
  • admin özelliği: makinedeki paralarin çekilmesi (şifre belirlenecek)
  • admin ozelligi: ürünlerin fiyatlarinin güncellenmesi

/*Lütfen kopyala yapıştır yapmak yerine kodları kendiniz yazınız. Bilerek yorum satırları eklemedim. Programı çalıştırarak mantığını kavramaya çalışınız. Ancak böyle sağlıklı bir şekilde öğrenebilirsiniz.*/ #include <stdio.h> #include <stdlib.h> /*Kasaya giriş için para girişine 7319 yazılması lazım, otomatta ayrı olarak admin girişi diye bir yer oluşturmadım, normal kullanıcıların göremeyeceği şekilde sadece yetkililer bildiği taktirde giriş yapılacak*/ float kasa=0; float urun[7][2]={{7,1},{7,3},{7,1.75},{7,0.75},{7,2},{7,1.50},{7,1.25}}; int sor(); int menu(); int adminmenu(); int gunceldurum(); void islem(float miktar, int *birlira, int *ellikurus, int *yirmibeskurus, int *onkurus, float *beskurus); void islem(float miktar, int *birlira, int *ellikurus, int *yirmibeskurus, int *onkurus, float *beskurus){ *birlira=miktar/1.00; *ellikurus=(miktar-(*birlira*1.00))/0.50; *yirmibeskurus=(miktar-(*birlira*1.00)-(*ellikurus*0.50))/0.25; *onkurus=(miktar-(*birlira*1.00)-(*ellikurus*0.50)-(*yirmibeskurus*0.25))/0.10; *beskurus=(miktar-(*birlira*1.00)-(*ellikurus*0.50)-(*yirmibeskurus*0.25)-(*onkurus*0.10))/0.05; } int main() { system("color 4f"); system("cls"); menu(); return 0; } int sor(){ char cevap,enter; printf("\n\t\t\tBaska bir islem yapmak istiyor musunuz?(E/H): "); scanf("%c%c",&enter,&cevap); if(cevap=='E' || cevap=='e'){ main(); }else if(cevap=='H' || cevap=='h'){ printf("\n\t\t\tYine bekleriz!"); }else{ printf("\n\t\t\tLutfen gecerli bir karakter girin!\n"); sor(); } } int adminpanel(){ system("cls"); int tercih, secim, yeniadet; float yenifiyat; gunceldurum(); printf("\n\t\t\tKasadaki para: %.2f\n\n\t\t\t1-Para Cek\n\t\t\t2-Urun Adedi Guncelle\n\t\t\t3-Urun Fiyati Guncelle\n\t\t\t\n\t\t\t0-Cikis\n\n\t\t\tYapmak istediginiz islemi seciniz: ",kasa); scanf("%d",&tercih); if(tercih==1){ float paracek; printf("\t\t\tCekmek istediginiz miktari giriniz: "); scanf("%f",¶cek); if(paracek>kasa){ printf("\n\t\t\tLutfen kasayi tekrar kontrol ediniz!\n"); adminpanel(); }else{ kasa=kasa-paracek; printf("\n\t\t\tIslem basarili!\n"); printf("\n\t\t\tKasadaki para: %.2f\n",kasa); sor(); } }else if(tercih==2){ printf("\n\t\t\tAdedini guncellemek istediginiz urunu seciniz: "); scanf("%d",&secim); printf("\t\t\tEklemek istediginiz urun miktarini giriniz: "); scanf("%d",¥iadet); if(secim>=1 && secim<=7){ if(secim==1 && yeniadet>0){ urun[0][0]=urun[0][0]+yeniadet; gunceldurum(); sor(); }else if(secim==1 && yeniadet<=0){ printf("\n\t\t\tAdet miktari sifirdan buyuk olmalidir!"); sleep(3); adminpanel(); }if(secim==2 && yeniadet>0){ urun[1][0]=urun[1][0]+yeniadet; gunceldurum(); sor(); }else if(secim==2 && yeniadet<=0){ printf("\n\t\t\tAdet miktari sifirdan buyuk olmalidir!"); sleep(3); adminpanel(); }if(secim==3 && yeniadet>0){ urun[2][0]=urun[2][0]+yeniadet; gunceldurum(); sor(); }else if(secim==3 && yeniadet<=0){ printf("\n\t\t\tAdet miktari sifirdan buyuk olmalidir!"); sleep(3); adminpanel(); }if(secim==4 && yeniadet>0){ urun[3][0]=urun[3][0]+yeniadet; gunceldurum(); sor(); }else if(secim==4 && yeniadet<=0){ printf("\n\t\t\tAdet miktari sifirdan buyuk olmalidir!"); sleep(3); adminpanel(); }if(secim==5 && yeniadet>0){ urun[4][0]=urun[4][0]+yeniadet; gunceldurum(); sor(); }else if(secim==5 && yeniadet<=0){ printf("\n\t\t\tAdet miktari sifirdan buyuk olmalidir!"); sleep(3); adminpanel(); }if(secim==6 && yeniadet>0){ urun[5][0]=urun[5][0]+yeniadet; gunceldurum(); sor(); }else if(secim==6 && yeniadet<=0){ printf("\n\t\t\tAdet miktari sifirdan buyuk olmalidir!"); sleep(3); adminpanel(); }if(secim==7 && yeniadet>0){ urun[6][0]=urun[6][0]+yeniadet; gunceldurum(); sor(); }else if(secim==7 && yeniadet<=0){ printf("\n\t\t\tAdet miktari sifirdan buyuk olmalidir!"); sleep(3); adminpanel(); } } else{ printf("\n\t\t\tLutfen seciminizi kontrol ediniz!\n"); sleep(3); adminpanel(); } }else if(tercih==3){ printf("\n\t\t\tFiyatini guncellemek istediginiz urunu seciniz: "); scanf("%d",&secim); printf("\t\t\tYeni fiyat miktarini giriniz: "); scanf("%f",¥ifiyat); if(secim>=1 && secim<=7){ if(secim==1 && yenifiyat>0){ urun[0][1]=yenifiyat; gunceldurum(); sor(); }else if(secim==1 && yenifiyat<=0){ printf("\n\t\t\tBedavaya sattirmiyoruz!"); sleep(3); adminpanel(); }if(secim==2 && yenifiyat>0){ urun[1][1]=yenifiyat; gunceldurum(); sor(); }else if(secim==2 && yenifiyat<=0){ printf("\n\t\t\tBedavaya sattirmiyoruz!"); sleep(3); adminpanel(); }if(secim==3 && yenifiyat>0){ urun[2][1]=yenifiyat; gunceldurum(); sor(); }else if(secim==3 && yenifiyat<=0){ printf("\n\t\t\tBedavaya sattirmiyoruz!"); sleep(3); adminpanel(); }if(secim==4 && yenifiyat>0){ urun[3][1]=yenifiyat; gunceldurum(); sor(); }else if(secim==4 && yenifiyat<=0){ printf("\n\t\t\tBedavaya sattirmiyoruz!"); sleep(3); adminpanel(); }if(secim==5 && yenifiyat>0){ urun[4][1]=yenifiyat; gunceldurum(); sor(); }else if(secim==5 && yenifiyat<=0){ printf("\n\t\t\tBedavaya sattirmiyoruz!"); sleep(3); adminpanel(); }if(secim==6 && yenifiyat>0){ urun[5][1]=yenifiyat; gunceldurum(); sor(); }else if(secim==6 && yenifiyat<=0){ printf("\n\t\t\tBedavaya sattirmiyoruz!"); sleep(3); adminpanel(); }if(secim==7 && yenifiyat>0){ urun[6][1]=yenifiyat; gunceldurum(); sor(); }else if(secim==7 && yenifiyat<=0){ printf("\n\t\t\tBedavaya sattirmiyoruz!"); sleep(3); adminpanel(); } } else{ printf("\n\t\t\tLutfen seciminizi kontrol ediniz!\n"); sleep(3); adminpanel(); } }else if(tercih==0){ exit(0); }else{ printf("\n\t\t\tLutfen seciminizi kontrol ediniz!\n"); sleep(3); adminpanel(); } } int menu(){ gunceldurum(); float girilenpara, miktar, beskurus; int secim, birlira, ellikurus, yirmibeskurus, onkurus; printf("\n\t\t\tPara girisi: "); scanf("%f",&girilenpara); if(girilenpara==7319){ adminpanel(); }else{ printf("\t\t\tSeciminizi yapiniz: "); scanf("%d",&secim); if(secim>=1 && secim<=7){ if(secim==1 && girilenpara>=urun[0][1] && urun[0][0]>0){ miktar=girilenpara-urun[0][1]; kasa=kasa+urun[0][1]; urun[0][0]=urun[0][0]-1; }else if(girilenpara=urun[1][1] && urun[1][0]>0){ miktar=girilenpara-urun[1][1]; kasa=kasa+urun[1][1]; urun[1][0]=urun[1][0]-1; }else if(girilenpara=urun[2][1] && urun[2][0]>0){ miktar=girilenpara-urun[2][1]; kasa=kasa+urun[2][1]; urun[2][0]=urun[2][0]-1; }else if(girilenpara=urun[3][1] && urun[3][0]>0){ miktar=girilenpara-urun[3][1]; kasa=kasa+urun[3][1]; urun[3][0]=urun[3][0]-1; }else if(girilenpara=urun[4][1] && urun[4][0]>0){ miktar=girilenpara-urun[4][1]; kasa=kasa+urun[4][1]; urun[4][0]=urun[4][0]-1; }else if(girilenpara=urun[5][1] && urun[5][0]>0){ miktar=girilenpara-urun[5][1]; kasa=kasa+urun[5][1]; urun[5][0]=urun[5][0]-1; }else if(girilenpara=urun[6][1] && urun[6][0]>0){ miktar=girilenpara-urun[6][1]; kasa=kasa+urun[6][1]; urun[6][0]=urun[6][0]-1; }else if(girilenpara7){ printf("\t\t\tLutfen seciminizi kontrol ediniz!\n"); printf("\t\t\tIade edilen para: %.2fTL\n", girilenpara); sleep(3); main(); } } int gunceldurum(){ system("cls"); printf("\n\t\t\t\t OTOMAT \t\n"); printf("\t\t\t|\t\t MENU"); printf("\t\t\t|\n"); printf("\t\t\t|---------------------------------------|\n"); printf("\t\t\t|1-Su [Kalan %.f] (%.2fTL) ",urun[0][0],urun[0][1]); printf("\t|\n"); printf("\t\t\t|2-Kola [Kalan %.f] (%.2fTL) ",urun[1][0],urun[1][1]); printf("\t|\n"); printf("\t\t\t|3-Meyve Suyu [Kalan %.f] (%.2fTL)",urun[2][0],urun[2][1]); printf("\t|\n"); printf("\t\t\t|4-Cubuk Kraker [Kalan %.f] (%.2fTL)",urun[3][0],urun[3][1]); printf("\t|\n"); printf("\t\t\t|5-Biskuvi [Kalan %.f] (%.2fTL)",urun[4][0],urun[4][1]); printf("\t|\n"); printf("\t\t\t|6-Cikolata [Kalan %.f] (%.2fTL)",urun[5][0],urun[5][1]); printf("\t|\n"); printf("\t\t\t|7-Gofret [Kalan %.f] (%.2fTL)",urun[6][0],urun[6][1]); printf("\t|\n"); printf("\t\t\t|---------------------------------------|\n"); }

Bu blogdaki popüler yayınlar