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

<<  September 2018  >>
MoTuWeThFrSaSu
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

Yazıları geniş takvimde göster