CNTT4A2 COMMUNITY

Thảo luận học tập


You are not connected. Please login or register

Go downThông điệp [Trang 1 trong tổng số 1 trang]

on 20/2/2012, 5:26 pm
avatar
avatar

Code:

  #include <iostream.h>
  #include <stdio.h>

   struct  hs
                {
                      char  ht [30] ;
                      int    ns ;
                  }; 
   
   typedef  struct    node
                  {
                      hs    info ;
                       node    *next ;
                      node    *prev; 
                  };

            struct  List
                {
                       node  *head ;
         node  *tail ;
                  };
// Kh?i t?o danh sách r?ng
   void  CreatList(List & L)
      {
         L.head = NULL ;
        L.tail = NULL ;
        }
   node *  new_ele =  NULL;

 
// Nh?p thông tin cho 1 ph?n t?
  node*  _input ()
     {
        node * q = new  node ;
        cout<< "\nHo ten : " ;
        fflush  (stdin) ;
        gets ( q -> info.ht ) ;
        cout<< "Nhap nam sinh : " ;
        cin>> q -> info.ns ;
        q -> next = q -> prev = NULL ;
        return q ;
      }

//  B? sung 1 ph?n t? vào cu?i danh sách
    void  AddTail  (List & L )
       {
          new_ele = _input () ;  // Nh?p thông tin c?a ph?n t? m?i
          if ( L.head == NULL ) // Ki?m tra danh sách r?ng
             {
                   //N?u ds r?ng thì
   //head = new_ele;
   //tail = head;
    L.head = L.tail = new_ele ;
              }
            else
            {
   //Ngu?c l?i
   //tail = new_ele->prev;
   //tail->next = new_ele;
   //tail = new_ele;
                 new_ele -> prev = L.tail ;
                L.tail -> next = new_ele;               
                 L.tail = new_ele;
              }
         }
 // In ra danh sách h?c sinh có nam sinh t? 1980 tr? v? dây

 void  Process  ( List  L )
        {
            node * p = L.head  ; // con tr? p tr? t?i ph?n t? d?u tiên c?a danh sách
            if  ( L.head == NULL ) //Ki?m tra danh sách r?ng
               cout<< "\nDanh sach rong !!! " ;
               cout<<"\n\n============================================\n";
               cout<< "\nDanh sach nhung nguoi sinh sau nam 1980 : \n  " ;
            while ( p -> next != NULL )
              {
                   if ( p -> info.ns > 1980 )
   //Trong khi (p!=NULL)& ( p -> info.ns > 1980 )
   //Th?c hi?n:
   //Xu?t ra thông tin p
   //p = p->next;
                    {
                        cout<<"\nHo ten : "<<p ->info.ht ;
         cout<<"\nNam sinh :"<<p->info.ns;
         cout<<"\n";
                       }
    p = p->next;
                  }
             }
//Xóa  thông tin h?c sinh cu?i danh sách
  void  DelTail  ( List  & L )
     {
        node *  p ;
        if  ( L.tail != NULL ) // N?u danh sách khác r?ng
          {
             L.tail = p ; //p là ph?n t? c?n h?y
   //Tách p ra kh?i xâu
                L.tail = L.tail -> prev ;
   L.tail -> next = NULL ;
             delete  p ; //H?y bi?n do p tr? d?n
             if ( L.head == NULL )
   //N?u nút d?u là r?ng thì nút cu?i r?ng
                   L.tail = NULL ;
             else
   //ngu?c l?i head->prev = NULL;
                  L.head -> prev = NULL ;
        }
        }

void main ()
       {
           List  L ;
           CreatList(L) ;
           int  t = 1 ;
           cout<<"\nThem 1 phan tu vao cuoi danh sach ";
           while  ( t ==1 )
              {
                   AddTail  ( L) ;
                   cout<< "Tiep tuc nhap ? ( 1 / 0 ) : " ;
                   cin>> t ;
                }
           Process( L ) ;
        }






__________________________________
Only You ...
[You must be registered and logged in to see this link.]
[You must be registered and logged in to see this image.]


http://vdvinh-nd.blogspot.com

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà whatsltd4us
on 20/2/2012, 10:28 pm
avatar
avatar

lỗi font rùi anh

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà sir.wind
on 21/2/2012, 8:20 pm
avatar
avatar

Đây là code chỉnh sửa theo cin.getline() nhé!
Chèn thêm thư viện #include<iomanip.h>
Thêm dòng lệnh cin.ignore() trước cin.getline()
Code:
#include <iostream.h>
   #include <stdio.h>
   #include <iomanip.h>

  struct  hs
                {
                      char  ht [30] ;
                      int    ns ;
                  }; 
 
  typedef  struct    node
                  {
                       hs    info ;
                      node    *next ;
                      node    *prev; 
                  };

            struct  List
                {
                      node  *head ;
          node  *tail ;
                  };
// Kh?i t?o danh sách r?ng
  void  CreatList(List & L)
      {
        L.head = NULL ;
        L.tail = NULL ;
        }
  node *  new_ele =  NULL;

 
// Nh?p thông tin cho 1 ph?n t?
  node*  _input ()
    {
        node * q = new  node ;
        cout<< "\nHo ten : " ;
        //fflush  (stdin) ;
        cin.ignore();
        cin.getline(q -> info.ht,30) ;
        cout<< "Nhap nam sinh : " ;
        cin>> q -> info.ns ;
        q -> next = q -> prev = NULL ;
        return q ;
      }

//  B? sung 1 ph?n t? vào cu?i danh sách
    void  AddTail  (List & L )
      {
          new_ele = _input () ;  // Nh?p thông tin c?a ph?n t? m?i
          if ( L.head == NULL ) // Ki?m tra danh sách r?ng
            {
                    //N?u ds r?ng thì
  //head = new_ele;
  //tail = head;
    L.head = L.tail = new_ele ;
              }
            else
            {
  //Ngu?c l?i
  //tail = new_ele->prev;
  //tail->next = new_ele;
  //tail = new_ele;
                new_ele -> prev = L.tail ;
                L.tail -> next = new_ele;               
                L.tail = new_ele;
              }
        }
 // In ra danh sách h?c sinh có nam sinh t? 1980 tr? v? dây

 void  Process  ( List  L )
        {
            node * p = L.head  ; // con tr? p tr? t?i ph?n t? d?u tiên c?a danh sách
            if  ( L.head == NULL ) //Ki?m tra danh sách r?ng
              cout<< "\nDanh sach rong !!! " ;
              cout<<"\n\n============================================\n";
              cout<< "\nDanh sach nhung nguoi sinh sau nam 1980 : \n  " ;
            while ( p -> next != NULL )
              {
                  if ( p -> info.ns > 1980 )
  //Trong khi (p!=NULL)& ( p -> info.ns > 1980 )
  //Th?c hi?n:
  //Xu?t ra thông tin p
  //p = p->next;
                    {
                        cout<<"\nHo ten : "<<p ->info.ht ;
        cout<<"\nNam sinh :"<<p->info.ns;
        cout<<"\n";
                      }
    p = p->next;
                  }
            }
//Xóa  thông tin h?c sinh cu?i danh sách
  void  DelTail  ( List  & L )
    {
        node *  p ;
        if  ( L.tail != NULL ) // N?u danh sách khác r?ng
          {
            L.tail = p ; //p là ph?n t? c?n h?y
  //Tách p ra kh?i xâu
                L.tail = L.tail -> prev ;
  L.tail -> next = NULL ;
            delete  p ; //H?y bi?n do p tr? d?n
            if ( L.head == NULL )
  //N?u nút d?u là r?ng thì nút cu?i r?ng
                  L.tail = NULL ;
            else
  //ngu?c l?i head->prev = NULL;
                  L.head -> prev = NULL ;
        }
        }

void main ()
      {
          List  L ;
          CreatList(L) ;
          int  t = 1 ;
          cout<<"\nThem 1 phan tu vao cuoi danh sach ";
          while  ( t ==1 )
              {
                  AddTail  ( L) ;
                  cout<< "Tiep tuc nhap ? ( 1 / 0 ) : " ;
                  cin>> t ;
                }
          Process( L ) ;
        }

__________________________________
I have a dream! It'stechnology hardware & software.
And......Prime Minister of a country in technology! [You must be registered and logged in to see this image.] [You must be registered and logged in to see this image.]
http://tin4a2uneti.tk

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà kienhl
on 21/2/2012, 8:51 pm
avatar
avatar

Đồng chí Kiên xem lại code đồng chí sửa với. Nói chạy không dừng được. Của anh Vinh OK

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà smileofthedevil
on 21/2/2012, 9:39 pm
avatar
avatar

Các bạn tham khảo :
[You must be registered and logged in to see this link.]

__________________________________
Only You ...
[You must be registered and logged in to see this link.]
[You must be registered and logged in to see this image.]


http://vdvinh-nd.blogspot.com

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà whatsltd4us
on 21/2/2012, 11:30 pm
avatar
avatar

smileofthedevil đã viết:Đồng chí Kiên xem lại code đồng chí sửa với. Nói chạy không dừng được. Của anh Vinh OK
hẻ 06 máy mình chạy ngon mà, chú chạy kiểu gì mà nó không dừng được!

__________________________________
I have a dream! It'stechnology hardware & software.
And......Prime Minister of a country in technology! [You must be registered and logged in to see this image.] [You must be registered and logged in to see this image.]
http://tin4a2uneti.tk

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà kienhl

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà Sponsored content

Về Đầu TrangThông điệp [Trang 1 trong tổng số 1 trang]

« Xem bài trước | Xem bài kế tiếp »

Bài viết mới cùng chuyên mục

    Bài viết liên quan với Danh sách liên kết kép

      Quyền hạn của bạn:

      Bạn không có quyền trả lời bài viết