Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Chương trình quản lý sách (nhập được nhưng không xuất được)

  1. #1
    Ngày gia nhập
    10 2010
    Bài viết
    20

    Mặc định Chương trình quản lý sách (nhập được nhưng không xuất được)

    Mình đã nhập được danh sách nhưng không xuất được ra màn hình. Đây là code của mình. Sửa giùm mình với các bạn.
    C Code:
    1. #include<iostream.h>
    2. #include<fstream.h>
    3. #include<string.h>
    4. #include<stdio.h>
    5. #include <conio.h>
    6. #include <ctype.h>
    7. #include <iomanip.h>
    8.  
    9. typedef struct Sach
    10. {
    11.     int MaSach;
    12.     char TenSach[20];
    13.     char TenTg[20];
    14.     char NhaXB[20];
    15.     int NamXB;
    16.     int TrangThai;
    17. };
    18.  
    19. typedef struct TNode
    20. {
    21.     Sach data;
    22.     TNode *pLeft;
    23.     TNode *pRight;
    24. };
    25.  
    26. typedef TNode *Tree;
    27.  
    28. void InitTree(Tree &t)
    29. {
    30.     t=NULL;
    31. }
    32.  
    33. TNode *SearchNode_Ma(Tree t, int ma)
    34. {
    35.     TNode* pParent=NULL;
    36.     TNode* p=t;
    37.     while(p)
    38.     {
    39.         if(ma == p->data.MaSach)   return p;
    40.         pParent=p;
    41.         if(p->data.MaSach > ma) p=p->pLeft;
    42.             else p=p->pRight;
    43.     }
    44.     return pParent;
    45. }
    46.  
    47. void Input(Tree t,Sach &sa)
    48. {
    49. /*  int ma;
    50.     nhay1:
    51.     cout<<"Ma sach:";cin>>ma;
    52.     if(SearchNode_Ma(t,sa,ma)!=NULL)
    53.     {
    54.         cout<<"Trung ma! Nhap lai!\n";
    55.         goto nhay1;
    56.     }else sa.MaSach=ma;*/
    57.     cout<<"Ma sach: ";cin>>sa.MaSach;
    58.     cout<<"Ten sach:";gets(sa.TenSach);
    59.     cout<<"Ten tac gia:";gets(sa.TenTg);
    60.     cout<<"Nha XB:";gets(sa.NhaXB);
    61.     nhay2:
    62.     cout<<"Nam XB (1970->2012):";cin>>sa.NamXB;
    63.     if (sa.NamXB<1970||sa.NamXB>2012)
    64.     {
    65.         cout<<"Khong hop le! Nhap lai!"<<endl;
    66.         goto nhay2;
    67.     }
    68.     nhay3:
    69.     cout<<"Trang thai sach (1:Da muon_0:Chua muon):";cin>>sa.TrangThai;
    70.     if(sa.TrangThai<0||sa.TrangThai>1)
    71.     {
    72.         cout<<"Nhap sai! Nhap lai!"<<endl;
    73.         goto nhay3;
    74.     }
    75. }
    76.  
    77. int InsertTree(Tree &t,Sach sa)
    78.     {
    79.         if(t != NULL)
    80.         {
    81.             if(t->data.MaSach == sa.MaSach) return 0;
    82.             if(t->data.MaSach > sa.MaSach) return InsertTree(t->pLeft,sa);
    83.             else  return InsertTree(t->pRight,sa);
    84.         }
    85.         else
    86.         {
    87.             t = new TNode;
    88.             if(t ==NULL) return -1;
    89.             t->data.MaSach=sa.MaSach;
    90.             t->pLeft=t->pRight=NULL;
    91.             return 1;
    92.         }
    93.     }
    94.    
    95. void CreateTree(Tree &t, Sach sa)
    96. {
    97.     int x,n;
    98.     cout<<"Nhap so luong sach: "; cin>>n;
    99.     for(int i=1; i<=n;i++)
    100.     {
    101.         Input(t,sa);
    102.     }
    103.     InsertTree(t,sa);
    104. }
    105.  
    106. void Title()
    107. {
    108.     cout<<"*=======*========================*=======================*===============*========*=========*"<<endl;
    109.     cout<<"|   Ma  | Ten Sach\t\t | Ten TG\t\t |  Nha XB\t | Nam XB |  T/ Thai|"<<endl;    
    110.     cout<<"*=======*========================*=======================*===============*========*=========*"<<endl;
    111.  
    112. }
    113.  
    114. void Show_LNR(Tree t)
    115. {
    116.     Title();
    117.     if(t!=NULL)
    118.     {
    119.         Show_LNR(t->pLeft);
    120.         cout<<"|  "<<t->data.MaSach<<"  | "<<t->data.TenSach<<"\t\t | "<<t->data.TenTg<<"\t\t | "<<t->data.NhaXB<<"\t |  "<<t->data.NamXB<<" |     "<<t->data.TrangThai<<"    |"<<endl;
    121.         Show_LNR(t->pRight);
    122.     }
    123. }
    124.  
    125. void Tim_Ma(Tree &t, Sach &sa, int ma)
    126. {
    127.     Tree kq;
    128.     cout<<"\nNhap ma sach can tim: "; cin>>ma;
    129.     kq=SearchNode_Ma(t,ma);
    130.     Show_LNR(t);
    131. }
    132.  
    133. void main()
    134. {
    135.     Tree t;
    136.     Sach sa;
    137.     int ma;
    138.     CreateTree(t,sa);
    139.     Show_LNR(t);
    140.     Tim_Ma(t,sa,ma);
    141. }

  2. #2
    Ngày gia nhập
    12 2010
    Nơi ở
    Hà Nội
    Bài viết
    137

    Mặc định DingPhonh

    Bỏ mấy cái typedef vô nghĩa đi. Chèn thêm InitTree(t); vào sau Tree t; trong main().
    Freelancer, free coder, free tester.
    Nhận hợp tác viết app, viết midlet khi free time.
    Tình trạng: Siêu bận!

Các đề tài tương tự

  1. Lập trình C Xuất nhập file trong C kết quả xuất ra không đúng?
    Gửi bởi lamhoang100 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 05-06-2013, 05:38 PM
  2. Bài tập C Nhập số nguyên - xuất kết quả số thực?
    Gửi bởi tranlongpc325 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 06-03-2012, 11:14 PM
  3. Bài toán nhập vào 2 phân số, tính tổng hiệu tích thương của chúng và xuất kết quả
    Gửi bởi ntbao trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 10
    Bài viết cuối: 27-09-2011, 11:11 AM
  4. Nhập xuất trong mảng in ra sai kết quả
    Gửi bởi hoada77 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 17-05-2011, 09:21 AM
  5. Bài tập C++ Quản lý bán hàng và nhập xuất file .txt
    Gửi bởi lonelyboy_101 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 20-09-2010, 03:51 PM

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

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn