Advertisement
Guest User

Bába Kristóf - 2015.maj.27

a guest
May 27th, 2015
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.21 KB | None | 0 0
  1. HIBÁS
  2.  
  3. #include <iostream>
  4. #include<conio.h>
  5. /* Dinamikus szimpla csatlakozasu listat kezelo program.Lehetoseg:
  6. • adat hozzaadasa
  7. • elem torlese a listabol
  8. • lista vegigjarasa
  9. Hasznalunk egy konstruktort es edgy destruktort.
  10.  
  11. Kiegeszites:
  12.  
  13. Egészítsd ki a programot egy megfelelő tagfüggvénnyel, amely megkeres
  14. egy bizonyos elemet a listából, ha megtalálja akkor a program kitörli, ha
  15. nem akkor megfelelő üzenetet jelenít meg.
  16. Készíts menüt a különböző műveletekhez.
  17. */
  18.  
  19. using namespace std;
  20.  
  21. class Lista
  22. { private:
  23.     Lista *elso,*utolso;
  24.   public:
  25.      int info;
  26.      Lista *kov;
  27.      Lista();
  28.      ~Lista();
  29.      void torles(int);//egy elem torlese
  30.      void Add(int);
  31.      void kiir();
  32.      int keres(int);
  33.  
  34. };
  35. Lista::Lista()//konstruktor
  36. {
  37.     elso=utolso=NULL;
  38. }
  39. Lista::~Lista()//destruktor
  40. {
  41.     Lista *p=elso;
  42.     while(p)
  43.     {
  44.         elso=p->kov;
  45.         delete p;
  46.         p=elso;
  47.     }
  48. }
  49. void Lista::Add(int i)
  50. {
  51.     Lista *p;
  52.     p=new Lista;//helyfoglalas
  53.     p->kov=NULL;
  54.     p->info=i;
  55.     if(elso==NULL)elso=p;
  56.       else utolso->kov=p;
  57.      utolso=p;
  58. }
  59. void Lista::torles(int i)
  60. {
  61.     Lista *p=elso;
  62.     Lista *q;
  63.     if(p->info==i)
  64.     {
  65.         q=elso;
  66.         elso=elso->kov;
  67.         delete q;
  68.     }
  69.     else
  70.         {
  71.           while((p!=NULL)&&(p->kov->info!=i))
  72.                 p=p->kov;
  73.           if(p->kov->info==i)
  74.           {
  75.  
  76.               q=p->kov;
  77.               p->kov=q->kov;
  78.               delete q;
  79.           }
  80.         }
  81. }
  82. void Lista::kiir()
  83. {
  84.    Lista *p=elso;
  85.    int k=0;
  86.    if(p!=NULL)
  87.    {
  88.        while(p!=NULL)
  89.        {
  90.            k++;
  91.            cout<<p->info<<" ";
  92.            p=p->kov;
  93.        }
  94.        cout<<"\n"<<k<<" drb. elem van";
  95.    }
  96.    else cout<<"Ures a lista!";
  97. }
  98. /*int keres(int n)
  99. {
  100.     for(int i=1;i<=n;i++)
  101.     {
  102.         if([i]==n) delete i
  103.     }
  104. }*/
  105.  
  106. int main()
  107. {  Lista L;
  108.   int n;
  109.   cout<<"Add meg a szamokat 0 vegjelig!\n";
  110.   while(n!=0)
  111.   {
  112.     cout<<"szam:";cin>>n;
  113.     if(n!=0)
  114.     L.Add(n);
  115.   }
  116.   int v;
  117.   do{
  118.   cout<<"1-Kilepes"<<endl;
  119.   cout<<"2-Egy elem torlese"<<endl;
  120.   cout<<"3-A lista tartalmanak kiirasa"<<endl;
  121.   cout<<"4-A lista megszuntetese(destruktor)"<<endl;
  122.   cout<<"5-Egy elen kereses"<<endl;
  123.   cout<<"*************************************************"<<endl;
  124.   cout<<"Valaszod:"<<endl;
  125.   cin>>v;
  126.   switch v
  127.   {
  128.       case 1:
  129.           {
  130.               return 0;
  131.               break;
  132.           }
  133.       case 2:
  134.           {
  135.               cout<<endl<<"Melyik elemet akarod torolni?";
  136.               cin>>n
  137.               L.torles(n);
  138.               cout<<endl<<"A torles utan: "<<endl;
  139.               L.kiir();
  140.               break;
  141.           }
  142.       case 3:
  143.           {
  144.               cout<<endl<<"A lista tartalma: ";
  145.               L.kiir();
  146.               break;
  147.           }
  148.       case 4:
  149.           {
  150.               L.~Lista();//destruktor
  151.               cout<<"Destruktor hivas utan: ";
  152.               L.kiir();
  153.               break;
  154.           }
  155.       case 5:
  156.           {
  157.               cout<<"Melyik elemet keresi?";
  158.               cin>>n;
  159.               L.keres(n);
  160.               break;
  161.           }
  162.   }
  163. }while(v!=1);
  164.  return 0;
  165. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement