Programalama > C++


Ort. 5
Puan ver:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
                    struct ilac{                          // ilaclari tanimlar: olusumlari;
                           char *ilacadi;
                           char *ilacturu;
                           char *firma;
                           float serino;
                           int adet;
                           int sonkullanimtarihi;
                           int tablet;
                           int mg;
                           int fiyat;
                           };
int main(){
    while(1){ // Ana menunun surekli donmesini saglar
    typedef ilac eczane;  // tipini belirler
      int secim;
         printf("\n* * * * * * MENU * * * * * *\n");
         printf("1.Ilac Kaydi:\n");
         printf("2.Ilac Satis:\n");
         printf("3.Ilac Urun Ekle:\n");
         printf("4.Ilac Arama:\n");
         printf("5.Ilac Listesi:\n");
         printf("6.Ilac Kayit Kaldir:\n");
         printf("7.Depo Sayim(stok):\n");
         printf("8.Recete Kayit:\n");
         printf("9.Recete Kayit Arama:\n");
         printf("10.Reset:\n");
         printf("0.Otomasyon Cikis:\n");
                 for(int i=1;i<15;i++){  // menu yildizlari icin 15 e kadar donen bir 'i' dongusu 
                         printf("* ",i);
                         }
                         printf("\n\nLutfen Seciminizi Giriniz=");
                         scanf("%d",&secim);                       // asagidaki secenekler icin secim yaptirir 

     if(secim==1){     // ilac kaydet bolum 1
                              eczane girdi;  // eczane tipinde bir degisken tanimi
                              girdi.ilacadi=(char *)malloc(sizeof(char)*300);
                              printf("Ilac Adi Giriniz:");
                              scanf("%s",girdi.ilacadi);
                              girdi.firma=(char *)malloc(sizeof(char)*300);
                              printf("Firma Adi Giriniz:");
                              scanf("%s",girdi.firma);
                              girdi.ilacturu=(char *)malloc(sizeof(char)*300);
                              printf("Ilac Turu Giriniz:");
                              scanf("%s",girdi.ilacturu);
                              printf("Seri Numarasi:");
                              scanf("%f",&girdi.serino);
                              printf("Adet sayisi:");
                              scanf("%d",&girdi.adet);
                              printf("Son Kullanim Tarihi:");
                              scanf("%d",&girdi.sonkullanimtarihi);
                              printf("Tablet Sayisi:");
                              scanf("%d",&girdi.tablet);
                              printf("Miligram Degeri:");
                              scanf("%d",&girdi.mg);
                              printf("Ilac Fiyat:");
                              scanf("%d",&girdi.fiyat); 
                              FILE *fp=fopen("fatihkabakci.txt","a");   // append modunda acar dosyaya ekleme yapar
                              fprintf(fp,"%s %s %s %f %d %d %d %d %d\n",girdi.ilacadi,girdi.firma,girdi.ilacturu,girdi.serino,girdi.adet,girdi.sonkullanimtarihi,girdi.tablet,girdi.mg,girdi.fiyat); // ve dosyadan yazdirir
                              printf("--Kayit Basari Ile Gerceklestirilmistir--\n");
                              fclose(fp); // islem bittiginde dosyayi kapatir
                              }
                              
                              
    if(secim==2){    // ilac sat bolum 2
                              FILE *fp=fopen("fatihkabakci.txt","r"); 
                               char satilac[300];  // satis bolumunde listedeki bulunan ilacla karsilastirmak icin tanimlanmistir
                                int istenen;  // // satis icin istenen miktar tanimlanmistir
                                printf("Isim girin:");
          scanf("%s",satilac);
          printf("Istenen:");  
          scanf("%d",&istenen);
           int i=0; 
           ilac girdi[300];  // liste olarak tanimlanan 
            while (!feof(fp)){ // dosya sonuna kadar donen bir dongu
                              girdi[i].ilacadi=(char *)malloc(sizeof(char)*300);
                              girdi[i].firma=(char *)malloc(sizeof(char)*300);
                              girdi[i].ilacturu=(char *)malloc(sizeof(char)*300);                                                                                                                    
           fscanf(fp,"%s %s %s %f %d %d %d %d %d\n",girdi[i].ilacadi,girdi[i].firma,girdi[i].ilacturu,&girdi[i].serino,&girdi[i].adet,&girdi[i].sonkullanimtarihi,&girdi[i].tablet,&girdi[i].mg,&girdi[i].fiyat);  
          i++;
          }
          for (int j=0;j<i;j++){  // oncelikle 'i' degiskenine kadar ilerletir                  
              if(strcmp(satilac,girdi[j].ilacadi)==0){ /* char turunde giris yapilan ilacin ismi'(char satilac[300])' ile,kayittaki listede bulunan
                                                          ilacin ismi ayni ise */
                               girdi[j].adet=girdi[j].adet-istenen;    // adet sayisindan duser ve satis islemini gerceklestirir                                
                               printf("Satis Tamamlanmistir...");
                               printf("Odenecek Toplam Tutar=%dtl",girdi[j].fiyat*istenen);  // ve toplam tutari ekrana bastirir..
                               }
          fp=fopen("fatihkabakci.txt","w");  // write modunda dosyayi tekrar acar ve yazdirir
          for (int j=0;j<=i-1;j++){
              fprintf(fp,"%s %s %s %f %d %d %d %d %d\n",girdi[j].ilacadi,girdi[j].firma,girdi[j].ilacturu,girdi[j].serino,girdi[j].adet,girdi[j].sonkullanimtarihi,girdi[j].tablet,girdi[j].mg,girdi[j].fiyat); // dosyadan yazdirir
              }
              fprintf(fp,'\0');  // Dosya sonuna kadar yazdirma islemine devam eder
              fclose(fp);
              }
              }
       if(secim==3){   // ilac al bolum 3, 
                          ilac girdi[300];  // ilac listesi teknigiyle tanimlanan bir variable
                       FILE *fp=fopen("fatihkabakci.txt","r");
                       char gelilac[300];  // Alis bolumunde listedeki bulunan ilacla karsilastirmak icin tanimlanmistir
                       int alim;     // Alis icin istenen miktar tanimlanmistir..
                       printf("Siparis Edilen Ilacin Adini Giriniz:");
                       scanf("%s",gelilac);
                       printf("Alim Adedi Giriniz:");
                       scanf("%d",&alim);
                       int i=0;
                       while(!feof(fp)){   // dosya sonuna kadar doner
                              girdi[i].ilacadi=(char *)malloc(sizeof(char)*300);  // ilac olusumlari
                              girdi[i].firma=(char *)malloc(sizeof(char)*300);
                              girdi[i].ilacturu=(char *)malloc(sizeof(char)*300);  
                       fscanf(fp,"%s %s %s %f %d %d %d %f %d\n",girdi[i].ilacadi,girdi[i].firma,girdi[i].ilacturu,&girdi[i].serino,&girdi[i].adet,&girdi[i].sonkullanimtarihi,&girdi[i].tablet,&girdi[i].mg,&girdi[i].fiyat);  
                       i++;
                       }
                       for(int j=0;j<i;j++){                              
                                if(strcmp(gelilac,girdi[j].ilacadi)==0){   /* char turunde giris yapilan ilacin ismi'(char gelilac[300])' ile,
                                                                              kayittaki listede bulunan
                                                                            ilacin ismi ayni ise,
                                                                            adetten yukseltir ve alis islemini gerceklestir */
                               girdi[j].adet=girdi[j].adet+alim;
                               printf("Siparis Alimi Tamamlanmistir..");
                               printf("Odenecek Toplam Tutar:%dtl",girdi[j].fiyat*alim);
                               }
                       fp=fopen("fatihkabakci.txt","w");  // dosyayi write modunda acarak yazdirma isleminden devam eder..
                       for(int j=0;j<=i-1;j++){
                           fprintf(fp,"%s %s %s %f %d %d %d %d %d\n",girdi[j].ilacadi,girdi[j].firma,girdi[j].ilacturu,girdi[j].serino,girdi[j].adet,girdi[j].sonkullanimtarihi,girdi[j].tablet,girdi[j].mg,girdi[j].fiyat); // ve dosya ya yazdirir..
                           }
                           }
                           fclose(fp); // islem bittiginde dosyayi kapatir
                           }
                           
                           
                                                                                                                                        
          if(secim==4){  // Ilac arama bolum 4
                               printf("Aradiginiz Ilac Adi Giriniz:");
                              char aranan[30];  // istedigimiz ilaca ulasmak icin char turunde bir aranan olan kullandigimiz bir arac
                              scanf("%s",aranan);
                              int bayrak=0;
                              FILE *fp=fopen("fatihkabakci.txt","r");  // read modun da okuma islemi
                              eczane girdi; // eczane tipinde klasik degiskenimiz
                              girdi.firma=(char *)malloc(sizeof(char)*300);
                              girdi.ilacadi=(char *)malloc(sizeof(char)*300);
                              girdi.ilacturu=(char *)malloc(sizeof(char)*300);
                              while(!feof(fp)){
                                               fscanf(fp,"%s %s %s %f %d %d %d %d %d\n",girdi.ilacadi,girdi.firma,girdi.ilacturu,&girdi.serino,&girdi.adet,&girdi.sonkullanimtarihi,&girdi.tablet,&girdi.mg,&girdi.fiyat);
                                                 if(strcmp(girdi.ilacadi,aranan)==0){  // dosyada ki kayitli bir ilac ile aranan isim ayni ise alttaki printf ile yazdir..
                                                                                     bayrak=1;  
                                                 printf("Firma Adi:%s\nIlacin Adi:%s\nIlacin Turu:%s\nSeri Numarasi:%f\nAdedi:%d\nSon Kullanim Tarihi:%d\nTablet:%d\nMg=%d\nTutari:%dtl\n",girdi.firma,girdi.ilacadi,girdi.ilacturu,girdi.serino,girdi.adet,girdi.sonkullanimtarihi,girdi.tablet,girdi.mg,girdi.fiyat);                          
                              }
                              }
                              if(bayrak==0)
                              printf("Aradiginiz Ilac Bulunmamaktadir..!");
                              fclose(fp);  // ve dosyayi kapatir
                              }
          if(secim==5){   // Ilac Listesi bolum 5
                                           printf("FATIH ECZANESI ILAC DEPOSU:\n");
                                           FILE *fp=fopen("fatihkabakci.txt","r");
                                           eczane girdi;
                              girdi.firma=(char *)malloc(sizeof(char)*300);    //  olusumlarin tipini tekrardan belirt
                              girdi.ilacadi=(char *)malloc(sizeof(char)*300);
                              girdi.ilacturu=(char *)malloc(sizeof(char)*300);  
                               while(!feof(fp)){  // Dosya sonuna kadar okur
                                               fscanf(fp,"%s %s %s %f %d %d %d %d %d\n",girdi.ilacadi,girdi.firma,girdi.ilacturu,&girdi.serino,&girdi.adet,&girdi.sonkullanimtarihi,&girdi.tablet,&girdi.mg,&girdi.fiyat);
                                               printf("\n/%s/ - Fiyat:%dtl\n",girdi.ilacadi,girdi.fiyat);
                                               }
                                               fclose(fp); // dosyayi kapatir..
                                               }
          if(secim==6){  // kayit kaldirma bolum 6
                               FILE *fp=fopen("fatihkabakci.txt","r");
                                            char isim[100];  // silme islemi icin,char isim[100] turunde bir degisken
                                                   printf("Silmek Istediginiz Ilacin Adi:");                       
                                            scanf("%s",isim);
                                              int artis=0;  // islem devam ettikce icinde kullanilan parametre
                                                ilac girdi[200];  // listedeki 'ilac girdi' tipi
                                            while(!feof(fp)){                                                       
                                            girdi[artis].ilacadi=(char *)malloc(sizeof(char)*300);  // artis parametresi,ilac tiplerinin icinde artar ve bunu tanimlar
                                            girdi[artis].firma=(char *)malloc(sizeof(char)*300);
                                            girdi[artis].ilacturu=(char *)malloc(sizeof(char)*300);                                      
                                            fscanf(fp,"%s %s %s %f %d %d %d %d %d\n",girdi[artis].ilacadi,girdi[artis].firma,girdi[artis].ilacturu,&girdi[artis].serino,&girdi[artis].adet,&girdi[artis].sonkullanimtarihi,&girdi[artis].tablet,&girdi[artis].mg,&girdi[artis].fiyat); // dosyadan okur
                                            artis++;  // 'artis' arttirir..
                                            }
                                            fclose(fp); 
                                            FILE *fp2=fopen("fatihkabakci.txt","w");
                                              for(int i=0;i<=artis-1;i++){
                                                      if(strcmp(isim,girdi[i].ilacadi)!=0)   // girilen ilacin ismi ile kayittaki ilacin ismi ayni degil ise,                                                                         
                              fprintf(fp2,"%s %s %s %f %d %d %d %d %d\n",girdi[i].ilacadi,girdi[i].firma,girdi[i].ilacturu,girdi[i].serino,girdi[i].adet,girdi[i].sonkullanimtarihi,girdi[i].tablet,girdi[i].mg,girdi[i].fiyat);   // dosyadan yazdir..                                                                                                                                         
                              }
                              printf("Kayit Kaldirilmistir...");
                              fprintf(fp2,'\0');  // dosya sonuna kadar..                               
                              fclose(fp2);  // dosyayi kapatir..
                              }
                                                                                                                                  
          if(secim==7){  // 'depo sayim' bolum 7
                                                    eczane girdi;
                              FILE *fp=fopen("fatihkabakci.txt","r"); // read modunda dosya yi acar
                              while(!feof(fp)){  // dosya sonuna kadar okumaya devam eder
                                             int i=0;     // integer tipin de 'i' adiyla bir degisken
                              girdi.ilacadi=(char *)malloc(sizeof(char)*300);    
                              girdi.firma=(char *)malloc(sizeof(char)*300);
                              girdi.ilacturu=(char *)malloc(sizeof(char)*300);
                                fscanf(fp,"%s %s %s %f %d %d %d %d %d\n",girdi.ilacadi,girdi.firma,girdi.ilacturu,&girdi.serino,&girdi.adet,&girdi.sonkullanimtarihi,&girdi.tablet,&girdi.mg,&girdi.fiyat);
                                while(girdi.ilacadi[i++]!='\0');  // islemin bitimine kadar devam eder
                                if(girdi.adet>=40)                                                                                                                                                                                                                                                                                                     printf("\nStok Durumu Yeterli..\n");
                                else if(girdi.adet>=25)
                                printf("\nStok Girisi Yapilabilir..\n");
                                else if(girdi.adet>=15)
                                printf("\nStok Durumunu Takip Et..\n");
                                else if(girdi.adet>=6)
                                printf("\nStok Durumu Kritik..\n");
                                else if(girdi.adet>=1)
                                printf("\nStok Durumu Tukenmek Uzere..\n!!");
                                else if(girdi.adet==0)
                                printf("Stok Tukenmis Durumda..\n!!!");
                                                      printf("%s(=)%d\n",girdi.ilacadi,girdi.adet);   // ilacin ismiyle beraber adedini ekrana yazdirir...
                                                      }
                                                      fclose(fp); // dosyayi kapatir
                                                      }
          if(secim==8){  // recete kayit bolum 8
                                           char isim[100];            // recete kaydi icin recetenin olusumlari
                                           char soyisim[100];
                                           char kangrubu[100];
                                           char kurumadi[100];
                                           char ilac[100];
                                           double kimlikno;
                                           int adet;
                                           int ay;
                                           int yil;
                                           int gun;
                                           printf("RECETE KAYDI:\n");
                                           printf("Lutfen Hastanin Adi ve Soyadini Aralarda Bir Bosluk Birakarak Giriniz:\n");
                                           scanf("%s %s:",isim,soyisim);
                                           printf("Kan Gurubu:\n");
                                           scanf("%s",kangrubu);
                                           printf("Kurum Adi:\n");
                                           scanf("%s",kurumadi);
                                           printf("kimlik Numarasi:\n");
                                           scanf("%lf",&kimlikno);
                                           printf("Lutfen Tarihi(Gun Ay Yil) Aralarda Birer Bosluk Birakarak Giriniz:");
                                           scanf("%d %d %d",&gun,&ay,&yil);
                                           printf("Aldigi Ilacin Adi ve Adedi:");
                                           scanf("%s %d",ilac,&adet);
                                           FILE *fp1=fopen("Recete.txt","a"); // appended modunda dosyayi acar..Recete icin ayri bir dosya kayit tuttum.
                                           fprintf(fp1,"%s %s %s %s %lf %d %d %d %s %d\n",isim,soyisim,kangrubu,kurumadi,kimlikno,gun,ay,yil,ilac,adet); // ve dosyaya yazdirir
                                           printf("Recete Kaydedilmistir..");
                                           fclose(fp1);  // fp1 dosyayi kapatir
                                           }
          if(secim==9){   // recete kayit Arama bolum 9                                                                                                                                                     
                                           printf("Aranan Recete Kaydi Icin Soyisim Giriniz:");
                                           char aranansoyad[30];   // soyisme gore aradigimiz kayit icin oncelikle dosyadaki soy isimle karsilastirdigimiz char tipinde bir degisken
                                           scanf("%s",aranansoyad);
                                           char isim[100];
                                           char soyisim[100];
                                           char kangrubu[100];
                                           char kurumadi[100];
                                           char ilac[100];
                                           double kimlikno;
                                           int adet;
                                           int ay;
                                           int yil;
                                           int gun;
                                           int flag=0;
               FILE *fp1=fopen("Recete.txt","r");  // read modunda acarak 
             while(!feof(fp1)){  // dosyanin sonuna kadar okur
                              fscanf(fp1,"%s %s %s %s %lf %d %d %d %s %d\n",isim,soyisim,kangrubu,kurumadi,&kimlikno,&gun,&ay,&yil,ilac,&adet);
                              if(strcmp(soyisim,aranansoyad)==0){   // eger dosyadaki soyisim ile girilen soy isim ayni ise alttaki printf fonksiyonu ile ekrana yazdirir..
                                                              flag=1; 
             printf("\nADI:%s\nSOYADI:%s\nKAN GRUBU:%s\nKURUM ADI:%s\nTC KIMLIK NUMARASI:%lf\nTARIH:%d/%d/%d\nVERILEN ILAC:%s\nADEDI:%d\n",isim,soyisim,kangrubu,kurumadi,kimlikno,gun,ay,yil,ilac,adet); 
             }
             }
             if(flag==0)
             printf("Aradiginiz Hasta Bulunamamistir..!");
             fclose(fp1);      // ve dosyayi kapatarak isleme son verir
             }
                              if(secim==10){ // reset dugmesi bolum 10
                                           system("CLS");   // ekran temizlemek icin bir komut olan = system("CLS")
                                           }
                                           
                                                      
                                                      
                                                      
                                                      
             if(secim==0)     /* son olarak cikis butonu
                              secim '0' oldugu takdirde               
                              break komuduyla islemi kirar..*/ 
                              break;           
                                                      }
                                                      }
                                           
  


Yorumlar                 Yorum Yaz
thirsty (0) Sakıncalı Yorum 06 April 19:59
bu kodları vb 6 denıyorum olmuyor da yardımcı olurmusunuz
nagato (1) Sakıncalı Yorum 27 May 10:30
Merhaba hocam. İlaç sat bölümünde bir sıkıntı var acaba ilgilenebilir misiniz ? ilaç satarken stoktan düşüyor tutarıda ekrana bastırıyor fakat program sonra hata verip kendisini kapatıyor.. 2. bir durum ise stokda hiç ürün yok ise yine satıp - lere düşüyor :) bunuda çözebilsek süper olur... rikudousnnn@gmail.com
KATEGORİLER
ASP - 240
ASP.NET - 24
C# - 75
C++ - 174
CGI - 8
DELPHI - 247
FLASH - 49
HTML - 536
PASCAL - 246
PERL - 11
PHP - 160
WML - 9
XML - 2
Copyright © 2002 - 2024 Hazır Kod - Tüm Hakları Saklıdır.
Siteden yararlanırken gizlilik ilkelerini okumanızı tavsiye ederiz.
hazirkod.com bir İSOBİL projesidir.