C++ ile Bağlı Liste Örneği

Batuhan Düzgün tarafından yayınlanmıştır 23. December 2010 11:46

#include <cstdlib>
#include <iostream>
#include <string.h>

using namespace std;

class Hasta
{
         
      public:
             
             Hasta *Sonraki;
             string Adi;
             string Soyadi;
             int OncelikDerecesi;
             
             Hasta()
             {
                    Sonraki=NULL;
                    Adi="";
                    Soyadi="";
                    OncelikDerecesi=-1;
             }
             
             void HastaBilgileriAl()
             {
                  cout<<"Hasta ismi nedir?\n";
                  cin>>Adi;
                  cout<<"Hastanin soyadi nedir?\n";
                  cin>>Soyadi;
                  cout<<"Hastamizin aciliyet durumu 0-100 arasi değer veriniz?\n";
                  cin>>OncelikDerecesi;
             }
             
             void HastaGoster()
             {
                  cout<<Adi;
                  cout<<Soyadi;
                  cout<<OncelikDerecesi;
             }
             
             int OncelikDerecesiVer()
             {
                 return OncelikDerecesi;
             }
};

class HastaKayitlarim
{

      public:
              Hasta *IlkHasta;
              int HastaKayitSayisi;
              
             HastaKayitlarim()
             {
                 IlkHasta->Sonraki=NULL;
                 HastaKayitSayisi=0;
             }
             
             void HastaKaydiEkle()
             {
                  Hasta *YeniHasta=new Hasta();
                  YeniHasta->Sonraki=NULL;
                  YeniHasta->HastaBilgileriAl();
                  Hasta *Temp=IlkHasta;
                  
                  while(Temp->Sonraki!=NULL)
                  {
                       if(Temp->Sonraki->OncelikDerecesiVer()<=YeniHasta->OncelikDerecesiVer())
                       {
                           break;
                       }
                       Temp=Temp->Sonraki;     
                  }
                  YeniHasta->Sonraki=Temp->Sonraki;
                  Temp->Sonraki=YeniHasta;
                  HastaKayitSayisi++;
             }
             
             void ElemanCikar()
             {
                  Hasta *Temp=new Hasta();
                  Temp=IlkHasta;
                 
                  cout<<"Hastanin adi : "<<Temp->Sonraki->Adi<<endl;
                  cout<<"Hastanin soyadi : "<<Temp->Sonraki->Soyadi<<endl;
                  cout<<"Hastanin oncelik derecesi : "<<Temp->Sonraki->OncelikDerecesi<<endl;
                  cout<<"Hasta silindi!\n";
                  IlkHasta=Temp->Sonraki;    
             }
             
             void Goster()
             {
                  Hasta *Temp=new Hasta();
                  Temp=IlkHasta;
                  
                  while(Temp->Sonraki!=NULL)
                  {
                       cout<<"Hastanin adi : "<<Temp->Sonraki->Adi<<endl;
                       cout<<"Hastanin soyadi : "<<Temp->Sonraki->Soyadi<<endl;
                       cout<<"Hastanin oncelik derecesi : "<<Temp->Sonraki->OncelikDerecesi<<endl;
                       Temp = Temp->Sonraki;
                  }
             }
};

int main(int argc, char *argv[])
{
    HastaKayitlarim Listem;
    
    Listem.HastaKaydiEkle();
    Listem.HastaKaydiEkle();
    Listem.HastaKaydiEkle();
    Listem.HastaKaydiEkle();
    Listem.Goster();
    Listem.ElemanCikar();
    Listem.Goster();
    system("PAUSE");
    return EXIT_SUCCESS;
}

Currently rated 5.0 by 3 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

Qt ve C++

Comments

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading





Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.

Batuhan Düzgün

Sakarya Üniversitesi 

Bilgisayar Mühendisi

Endüstri Mühendisi

Yeditepe Üniversitesi

Bilgisayar Mühendisliği Yüksek Lisans 

 sahibinden.com

   Kıdemli Uzman Yazılım Mühendisi  

E-Mail 

   batuhan.duzgun@sahibinden.com

   batuhan.duzgun@windowslive.com

  github.com/batux

 

Sayfalar

Calendar

<<  July 2018  >>
MoTuWeThFrSaSu
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

Yazıları geniş takvimde göster