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(); }
Teşekkür ederiz çok yardımcı oldu ama bir kaç hata var dosyalama işlemlerinde ve tanımlamalarda.
TC ve telefon numarasını double ile tanımlamazsanız çalışmaz sonsuz döngüye girer ve parantezleride düzeltmek gerekiyor 🙂
BeğenLiked by 1 kişi
2013’te kendisini ödev olarak teslim ettiğim zamanlarda çalışıyordu. Aslında blogta paylaştığım her kod bundan yıllar önce çalışıyordu tabii ki çalışmayan hiçbir şeyi buraya koymadım fakat bu işlerin de cilvesi bu galiba. Bilgisayar mühendisliği okurken ben de internette paylaşılan kodları derlediğimde asla çalışmazlardı. Artık C ve türevleri ile uğraşmadığım için bunları devamlı kontrol edemiyorum fakat sizler aldığınız hataları ve çözümleri yorum olarak bırakırsanız çok memnun olurum. Teşekkürler
BeğenBeğen
merhaba benim staj ödevim var ama bu dersi uzaktan eğitim ile hiç anlıyamadım ve sizin attiginiz kod tam işimi görücek ama hata veriyor.
BeğenBeğen