C++ Hastane Otomasyonu

Arkadaşlar bunu da örnek olsun diye paylaşmak istedim.

C++’ta yazmış olduğum proje ödevimdi.

Sanırım dosyalama C’nin ve C++’ın en kolay konusu. Diğer konulara göre çok daha rahat anlaşılıyor.

Hadi gelin birlikte kodu inceleyelim.⇓

#include <iostream> // cout,cin vs. için 
#include <conio.h> //getch(); fonksiyonu için
#include <fstream> // dosyalama işlemleri için 
#include <string> // string türü için 
#include <windows.h> //komut ekranına renk vermek için 
#include <clocale> // Türkçe karakter için
#include <iomanip> //setw() için eklenen kütüphane
#include <stdio.h>


using namespace std;
int main()
 {
 system("color 80"); //komut ekranını renklendiriyoruz
 setlocale(LC_ALL, "turkish"); //Türkçe karakter ekliyoruz
 
 int secim;
 string HastaAdi; //Değişkenleri tanımladık
 string HastaSoyadi; 
 int TcNo; 
 int Telefon;
 int KayitNo;
 int HastaYas; 
 string HastaCinsiyet; 
 char islem;
 int TC;
 
 
 string Tarih; 
 string DoktorAdi; 
 string Teshis; 
 string Ilac;
 string Saat;
 string Tahliller;
 double Ucret;
 
 char cevap; 
 
 do{
 cout<<"1- Hasta kayıt ekleme"<<endl; //Menümüz
 cout<<"2- Hasta kaydı düzeltme"<<endl; 
 cout<<"3- Hasta silme"<<endl;
 cout<<"4- Randevu alma"<<endl; 
 cout<<"5- Randevu silme"<<endl; 
 cout<<"6- Randevu güncelleme"<<endl; 
 cout<<"7- Hasta sorgulama"<<endl; 
 cout<<"8- Hasta listesi alma"<<endl; 
 cout<<"9- Hasta muayene kaydı"<<endl; 
 cout<<"Yapmak istediginiz islemi seciniz:"<<endl;
 cin>>secim;
 
 switch(secim) //Seçim yapıyoruz
 {
 case 1:
 {
 
 cout<<"1- Hasta kayıt ekleme"<<endl; //Menüden numara seçerken önce kayıt ekleme yapıyoruz
 
 ofstream DosyaYaz; 
 DosyaYaz.open("Hasta.txt",ios::app); 
 do 
 { 
 cout<<"\n Hasta TC :"; cin>>TC; 
 cout<<"\n Hasta Adi :"; cin>>HastaAdi; 
 cout<<"\n Hasta Soyadi :"; cin>>HastaSoyadi; 
 cout<<"\n Hasta Yasi :"; cin>>HastaYas; 
 cout<<"\n Telefonu :"; cin>>Telefon; 
 cout<<"\n Cinsiyeti :"; cin>>HastaCinsiyet; 
 
 DosyaYaz<<TC<<" "<<HastaAdi<<' '<<HastaSoyadi<<' ' <<HastaYas<<' '<<Telefon<<' ' <<HastaCinsiyet<<endl; 
 cout<<"\n Baska kayit yapacak misiniz?(e/E) (h/H) ";cin>>cevap; 
 
 }while(cevap=='e' || cevap=='E'); 
 
 DosyaYaz.close(); 
 cout<< "Dosyaya yazim tamamlandi."<<endl; 
 
 break;
 }
 case 2:
 { 
 cout<<"2- Hasta kaydı düzeltme"<<endl;
 ifstream DosyaOku;
 DosyaOku.open("Hasta.txt",ios::app);
 cout<< "\n Hasta Bilgileri \n"; 
 cout<<"TC no :";
 cin>>TcNo;
 if(TC==TcNo) 
 { 
 DosyaOku.close(); 
 ofstream DosyaYaz; 
 DosyaYaz.open("Hasta.txt",ios::app); 
 cout<<"\n Hasta Adi :"; cin>>HastaAdi; 
 cout<<"\n Hasta Soyadi :"; cin>>HastaSoyadi; 
 cout<<"\n Hasta Yasi :"; cin>>HastaYas; 
 cout<<"\n Telefonu :"; cin>>Telefon; 
 cout<<"\n Cinsiyeti :"; cin>>HastaCinsiyet; 
 
 DosyaYaz.close(); 
 }
 else 
 cout<<"Kimlik Numarası bulunamadı"<<endl;
 break;
 } 
 case 3:
 /*{
 cout<<"3- Hasta silme"<<endl;
 ifstream DosyaOku;
 DosyaOku.open("Hasta.txt");
 cout<<"TC no:";
 cin>>TcNo;
 if(TC==TcNo)
 {
 remove("Hasta.txt");
 } 
 break;
 }*/
 case 4:
 
 {
 cout<<"4- Randevu alma"<<endl;
 
 cout<<" Hasta TC :";cin>>TC; 
 
 ifstream DosyaOku("Hasta.txt"); 
 while(!DosyaOku.eof()) 
 { 
 DosyaOku>>TcNo>>HastaAdi>>HastaSoyadi>>HastaYas>>Telefon>>HastaCinsiyet; 
 cout<<endl;
 if(TC==TcNo) 
 { 
 cout<< "\n Hasta Bilgileri \n"; 
 cout<<"TC no :"<<TcNo<<endl; 
 cout<<"Adı :"<<HastaAdi<<endl; 
 cout<<"Soyadı :"<<HastaSoyadi<<endl; 
 cout<<"Yası :"<<HastaYas<<endl; 
 cout<<"Telefonu :"<<Telefon<<endl; 
 cout<<"Cinsiyeti:"<<HastaCinsiyet<<endl; 
 cout<<"Randevu istiyor mu? (e/h)"<<endl; 
 cin>>cevap; 
 
 if (cevap=='e'|| cevap=='E') 
 { 
 DosyaOku.close(); 
 ofstream DosyaYaz; 
 DosyaYaz.open("RandevuAl.txt",ios::app); 
 
 cout<<"\n Randevu Bilgileri \n"; 
 cout<<"\n Tarih :"; cin>>Tarih; 
 cout<<"\n Doktor Adi :"; cin>>DoktorAdi; 
 cout<<"\n Teshis :"; cin>>Teshis; 
 cout<<"\n Muayene Ucreti :"; cin>>Ucret; 
 
 DosyaYaz <<TcNo<<" "<<Tarih<<' '<<DoktorAdi<<' ' <<Teshis<<' '<<Ucret<<"\n";
 DosyaYaz.close(); 
 }
 }
 }
 break;
 }
 
 case 5:
 /*{
 cout<<"5- Randevu silme"<<endl;
 break;
 }*/
 case 6:
 {
 cout<<"6- Randevu güncelleme"<<endl;
 
 
 ifstream DosyaOku("Hasta.txt",ios::in); 
 cout<<"TC no:";
 cin>>TcNo;
 if(TC==TcNo)
 { 
 cout<< "\n Hasta Bilgileri \n"; 
 cout<<"TC no :"<<TcNo<<endl; 
 cout<<"Adı :"<<HastaAdi<<endl; 
 cout<<"Soyadı :"<<HastaSoyadi<<endl; 
 cout<<"Yaşı :"<<HastaYas<<endl; 
 cout<<"Telefonu :"<<Telefon<<endl; 
 cout<<"Cinsiyeti:"<<HastaCinsiyet<<endl; 
 
 ofstream DosyaYaz;
 DosyaYaz.open("Muayene.txt",ios::app);
 { 
 cout<<"\n Randevu Bilgileri \n"; 
 cout<<"\n Tarih :"; cin>>Tarih; 
 cout<<"\n Doktor Adi :"; cin>>DoktorAdi; 
 cout<<"\n Teshis :"; cin>>Teshis; 
 cout<<"\n Muayene Ucreti :"; cin>>Ucret; 
 
 DosyaYaz.close();
 ofstream DosyaYaz;
 }
 DosyaOku.close(); 
 ifstream DosyaOku; 
 
 }
 else
 cout<<"Böyle bir kişi bulunmamaktadır.";
 
 break;
 }
 case 7: 
 { 
 cout<<"7- Hasta sorgulama"<<endl;
 
 cout<<" Hasta TC :";cin>>TC; 
 ifstream DosyaOku("Hasta.txt"); 
 while(!DosyaOku.eof()) 
 { 
 DosyaOku>>TcNo>>HastaAdi>>HastaSoyadi>>HastaYas>>Telefon>>HastaCinsiyet; 
 if(TC==TcNo) 
 { 
 cout<< "\n Hasta Bilgileri \n"; 
 cout<<"TC no :"<<TcNo<<endl; 
 cout<<"Adı :"<<HastaAdi<<endl; 
 cout<<"Soyadı :"<<HastaSoyadi<<endl; 
 cout<<"Yaşı :"<<HastaYas<<endl; 
 cout<<"Telefonu :"<<Telefon<<endl; 
 cout<<"Cinsiyeti:"<<HastaCinsiyet<<endl; 
 TC=TcNo; 
 
 DosyaOku.close(); 
 ofstream DosyaYaz; 
 DosyaOku.open("Muayene.txt",ios::in); 
 cout<<" randevu bilgileri \n"<<endl; cout<<setw(11)<<" TC "<<setw(10)<<" Tarih "<<setw(12)<<" Doktor Adi "<<setw(10)<<" Teshis "<<setw(6)<<" Ucret"<<endl; 
 while(!DosyaOku.eof()) 
 { 
 
 DosyaOku>>TcNo>>Tarih>>DoktorAdi>>Teshis>>Ucret; 
 
 if(TC==TcNo) 
 { 
 cout<<setw(11)<< TcNo<<setw(10)<<Tarih<<setw(12)<< DoktorAdi<<setw(10)<< Teshis<<setw(6)<< Ucret<<endl; 
 } 
 } 
 DosyaYaz.close();
 

 } 
 } 
 

 break;
 }
 case 8:
 {
 cout<<"8- Hasta listesi alma"<<endl;
 ifstream DosyaOku;
 DosyaOku.open("Hasta.txt",ios::in);
 
 while(!DosyaOku.eof()) 
 { 
 DosyaOku>>TcNo>>HastaAdi>>HastaSoyadi>>HastaYas>>Telefon>>HastaCinsiyet; 
 cout<<"\n Hasta Bilgileri \n"; 
 cout<<"TC no :"<<TcNo<<endl; 
 cout<<"Adı :"<<HastaAdi<<endl; 
 cout<<"Soyadı :"<<HastaSoyadi<<endl; 
 cout<<"Yaşı :"<<HastaYas<<endl; 
 cout<<"Telefonu :"<<Telefon<<endl; 
 cout<<"Cinsiyeti:"<<HastaCinsiyet<<endl; 
 
 DosyaOku.close();
 }
 break;
 }
 
 case 9: 
 {
 cout<<"9- Hasta muayene kaydı"<<endl;
 ifstream DosyaOku;
 DosyaOku.open("Hasta.txt",ios::in);
 
 
 { 
 
 do{
 if(DosyaOku.eof()) break;
 else
 DosyaOku>>TcNo>>DoktorAdi>>Teshis>>Tahliller>>Ilac; 
 cout<<"\n Hasta Bilgileri \n"; 
 cout<<"\n Doktor Adı :"<<DoktorAdi; 
 cout<<"\n Teşhis:"<<Teshis;
 cout<<"\n Tahlil Bilgileri :"<<Tahliller; 
 cout<<"\n İlaç :"<<Ilac; 
 }while(true);
 
 
 do{
 if(DosyaOku.eof()) break; 
 
 else
 
 DosyaOku>>TcNo>>HastaAdi>>HastaSoyadi>>HastaYas>>Telefon>>HastaCinsiyet; 
 cout<<"\n Hasta Bilgileri \n"; 
 cout<<"TC no :"<<TcNo<<endl; 
 cout<<"Adı :"<<HastaAdi<<endl; 
 cout<<"Soyadı :"<<HastaSoyadi<<endl; 
 cout<<"Yaşı :"<<HastaYas<<endl; 
 cout<<"Telefonu :"<<Telefon<<endl; 
 cout<<"Cinsiyeti:"<<HastaCinsiyet<<endl; 
 
 }while(true);
 
 
 ofstream DosyaYaz;
 DosyaYaz.open("Randevu.txt",ios::app);
 DosyaYaz.close();
 }
 DosyaOku.close();
 
 break;
 }
 }
 
 
 cout<<"İslem yapmaya devam etmek istiyor musunuz? (e/E) (h/H)";
 cin>>islem;
 }while(islem=='e' || islem=='E'); //İşlemi yaptıktan sonra karşımıza tekrar menü
 cout<<endl; //çıkmasını sağlıyor
 getch(); 
 
 }
Reklamlar

C++ Dosyalama

  • fstream (Okuma ve Yazma)
  • ifstream (Okuma)
  • ofstream (Yazma)
    (C++ da dosyalama işlemleri C den oldukça farklıdır.) C++’ta dosyalama işlemleri için kullandığımız yukarıdaki komutlar aslında sınıf diye geçer. Kullanım şeklimiz bu şekilde: (“Dosyaİsmi”, Mod)

    • ios::in (Veri okuma modu)
    • ios::out (Veri yazma modu)
    • ios::app (Veri ekleme modu)    bunlar da modlarımız arkadaşlar.
      Şimdi aşağıdaki örneği inceleyelim.
#include <fstream>
#include <string>
#include <windows.h>
#include <iomanip>   //setw için
using namespace std;
int main()
{
 fstream dosya;
 
 dosya.open("melis.txt",ios::out|ios::in|ios::app);
 dosya<<"Benim Dosyam."; //dosyaya veri yazdırıyoruz
 
 dosya.setf(ios::left); //sola yaslamak için
 dosya<<setw(20)<<"aaa"<<setw(20)<<"bbbb"<<setw(20)<<"36786"<<endl; 
 // 20+20+20 karakterlik yer alsın setw(20)
 
 dosya.close();
}