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

C Programlama Dili ile Kare ve Dairenin Alanını Bulan Program

 İyi akşamlar! Sizler belki de mışıl mışıl uyuyorken ben buralarda takılmaya devam ediyorum :) Bu seferki paylaşımım başlıktan da anlaşılacağı üzere  Kare ve Dairenin Alanını Bulan Program . Bağlantıya tıklayarak ilgili sayfaya gidebilir ve programın kaynak kodlarına erişebilirsiniz. Bu da C programlama dili ile yapılmış basit bir konsol uygulaması tabii ki. Bu programda do while kullandık ona göre! Ayrı fonksiyonlar oluşturduk ve onları işleme çağırdık. İçeriğini çok fazla anlatmama gerek yok sanırım çünkü başlık cuk diye kısa ve öz bir biçimde her şeyi anlatıyor. İyi öğrenmeler!