1. Уважаемые участники и гости, 19 октября codeby будет работать в режиме "Только чтение". Регистрация новых участников будет закрыта. 20 октября портал продолжит работу в прежнем режиме.

Помогите плз, прога дает сбои

Тема в разделе "C/C++/C#", создана пользователем NightManiak, 15 апр 2010.

  1. NightManiak

    NightManiak Гость

    Репутация:
    0
    Код:
    #include <iostream>
    #include <string.h>
    using namespace std;
    struct elements
    {
    elements()
    {}
    elements(int n, char c1, char c2)
    {
    num=n;
    c=c1;
    str=c2;
    }
    int num;
    char c;
    char str;
    elements *next;	 // óêàçàòåëü íà ñëåäóþùèé ýëåìåíò ñïèñêà
    };
    class list
    {
    elements *First;	 // óêàçàòåëü íà ïåðâûé ýëåìåíò ñïèñêà
    elements *End;	  // óêàçàòåëü íà ïîñëåäíèé ýëåìåíò ñïèñêà
    public:
    list();			 //êîíñòðóêòîð, óñòàíàâëèâàåì âñå çíà÷åíèÿ óêàçàòåëåé íà íà÷àëî ñïèñêà(èëè êîíåö)
    ~list();			 //äåñòðóêòîð, óäàëÿåò âåñü ñïèñîê
    //Îáúÿâëåíèå ôóíêöèÿ äëÿ ðàáîòû ñî ñïèñêîì
    void addToList(int, char, char); //äîáàâëåíèå ýëåìåíòà â ñïèñîê
    void delFirst();	  //ôóíêöèÿ äëÿ óäàëåíèÿ ïåðâîé ÿöåéêè ñïèñêà 
    void change(int);		 //èçìåíèòü ýëåìåíò â ñïèñêå 
    void show(char);		  //Âûâîä ñïèñêà
    void addFirstToList(int, char, char);
    };
    /////////////////////////////////////////////////////////////////////////////
    list::list()
    {
    First = 0;
    End = 0;
    }
    /////////////////////////////////////////////////////////////////////////////
    list::~list()
    {
    while(First != 0)
    {
    elements *pTemp = First;
    First = First->next;
    
    }
    }
    //Îïðåäåëåíèå âñåõ ôóíêöèé äëÿ êëàññà list
    /////////////////////////////////////////////////////////////////////////////
    void list::addToList(int n, char c1, char c2)
    {
    elements *temp = new elements;
    if(End == 0)
    End = temp;
    else
    First->next = temp;
    temp->num = n;
    temp->c = c1;
    temp->str = c2;
    temp->next = NULL; 
    First = temp;
    }
    //Äîáàâëåíèå ïåðâîé ýëåìåíòîé list
    /////////////////////////////////////////////////////////////////////////////
    void list::addFirstToList(int n, char c1, char c2)
    {
    elements *temp = new elements(n, c1, c2);
    if(End == NULL)
    End = temp;
    else
    temp->next = First;
    }
    /////////////////////////////////////////////////////////////////////////////
    void list::delFirst()
    {
    elements *pTemp = First;
    pTemp->num=0;
    pTemp->c=0;
    pTemp->str=0;
    }
    /////////////////////////////////////////////////////////////////////////////
    void list::change(int p)
    {
    int i;
    char c;
    char s;
    cout<<"Enter the int:"<<endl;
    cin>>i;
    cout<<"Enter the char:"<<endl;
    cin>>c;
    cout<<"Enter the string:"<<endl;
    cin>>s;
    elements *Temp = First;
    for(int j=0; j<p-1; j++){
    Temp = Temp->next;}
    Temp->num = i;
    Temp->c = c;
    Temp->str = s;
    }
    /////////////////////////////////////////////////////////////////////////////
    void list::show(char kol)
    {
    elements *pTemp = First;
    for(int i=0; i<=kol; i++)
    {
    cout<<kol; 
    cout << pTemp->num <<"\t";
    cout << pTemp->c <<"\t";
    cout << pTemp->str << "\t\n";
    
    pTemp = pTemp->next;
    }
    cout<<"\n";
    }
    /////////////////////////////////////////////////////////////////////////////
    int main()
    {
    const int k=3;
    list l;
    int num[k];
    char c[k];
    char str[k];
    
    for(int i=0; i<k; i++)
    {
    cout<<"Enter the int "<<i+1<<":"<<endl;
    cin>>num[i];
    cout<<"Enter the char "<<i+1<<":"<<endl;
    cin>>c[i];
    cout<<"Enter the string "<<i+1<<":"<<endl;
    cin>>str[i];
    //çàïîëíÿåì ñïèñîê äàííûìè
    l.addToList(num[i], c[i], str[i]);
    }
    cout<<"\n\nWhat do you want?"<<endl;
    cout<<"1: Show the list"<<endl;
    cout<<"2: Delete first cell of the list"<<endl;
    cout<<"3: Change the element"<<endl;
    int tmp;
    cin>>tmp;
    if(tmp==1)
    l.show(k);
    else if(tmp==2){
    l.delFirst();
    l.show(k);}
    else if(tmp==3)
    {
    int p;
    cout<<"\nEnter the number cell for change data: "<<endl;
    cin>>p;
    l.change(p);
    l.show(k);
    }
    cin.get();
    cin.get();
    return 0;
    }
     
Загрузка...
Похожие Темы - Помогите плз прога
  1. серый111
    Ответов:
    1
    Просмотров:
    1.142
  2. KalinaK
    Ответов:
    1
    Просмотров:
    1.880
  3. Tayrus
    Ответов:
    13
    Просмотров:
    75
  4. bronnn
    Ответов:
    0
    Просмотров:
    80
  5. BANAN228
    Ответов:
    4
    Просмотров:
    109

Поделиться этой страницей