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

<<  November 2018  >>
MoTuWeThFrSaSu
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

Yazıları geniş takvimde göster