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

Đề tài: Tìm lỗi cài đặt stack với lập trình C++

  1. #1
    Ngày gia nhập
    06 2007
    Bài viết
    7

    Mặc định Tìm lỗi cài đặt stack với lập trình C++

    Tai sao no' chỉ xuat ra : stackday, stackday !!!!!!!!!!!!!!
    C++ Code:
    1. #ifndef stackMang_H
    2. #define stackMang_H
    3. #include<iostream>
    4. #define KICH_THUOC_MD 100
    5. typedef int KieuDL;
    6.  
    7. ///DINH NGHIA KIEU STACK
    8. class stack
    9. {
    10. private:
    11.     int kichThuoc;
    12.     int sP;
    13.     KieuDL *duLieu;
    14. public:
    15.     stack(int kichThuoc=KICH_THUOC_MD);
    16.     ~stack();
    17.     bool stackRong();
    18.     bool stackDay();
    19.     void push(KieuDL);
    20.     KieuDL pop();  
    21. };
    22. #endif
    23. [B]stackMang.cpp[/B]
    24.  
    25. #include"stackMang.h"
    26. using namespace std;
    27.  
    28. //CONTRUCTOR
    29. stack::stack(int kichThuoc)
    30. {
    31.     sP=-1;
    32.     this->kichThuoc=kichThuoc;
    33.     duLieu=new KieuDL[this->kichThuoc];
    34. }
    35.  
    36. //DECTRUCTOR
    37. stack::~stack()
    38. {
    39.     delete []duLieu;
    40. }
    41.  
    42. //KIEM TRA STACK CO RONG HAY KHONG?
    43. bool stack::stackRong()
    44. {
    45.     return(sP=-1?true:false);
    46. }
    47.  
    48. //KIEM TRA STACK CO DAY HAY KHONG?
    49. bool stack::stackDay()
    50. {
    51.     return(sP=KICH_THUOC_MD?true:false);
    52. }
    53.  
    54. //PUSH MOT PHAN TU VAO STACK
    55. void stack::push(KieuDL duLieu)
    56. {
    57. if (stackDay())
    58.         cout<<"stack day";
    59.     else
    60.     {
    61.         sP++;
    62.         this->duLieu[sP]=duLieu;
    63.     }
    64. }
    65.  
    66. ///POP MOT PHAN TU RA KHOI STACK
    67. KieuDL stack::pop()
    68. {
    69.     if (stackRong())   
    70.     {
    71.         cout<<"stack rong";            
    72.         return NULL;
    73.     }
    74.     else
    75.     {
    76.         KieuDL tam=this->duLieu[sP];
    77.         sP--;
    78.         return tam;
    79.     }
    80. }
    81. [B]main.cpp[/B]
    82. #include<iostream>
    83. #include"stackMang.h"
    84. #include<conio.h>
    85. using namespace std;
    86. void main()
    87. {
    88.     stack *s;
    89.     KieuDL tam;
    90.     s=new stack(10);
    91.     s->push(10);
    92.     s->push(30);
    93.     while (!s->stackRong())
    94.     {
    95.         tam=s->pop();
    96.         cout<<tam;
    97.     }
    98.    
    99. getch();
    100. }

  2. #2
    Ngày gia nhập
    08 2006
    Nơi ở
    TpHCM
    Bài viết
    202

    Code:
    bool stack::stackDay()
    {
    	return(sP=KICH_THUOC_MD?true:false);
    }
    xem phần gạch đít, thiếu dấu = thành phép gán

  3. #3
    Ngày gia nhập
    09 2006
    Bài viết
    711

    sP=KICH_THUOC_MD, lại lỗi 1 dấu = nữa.
    Đảo ngược lại, viết thành: KICH_THUOC_MD == sP, nghĩa là viết sao cho giá trị bên trái là hằng, gán = vào hằng thì compiler sẽ báo lỗi liền. Còn không chịu đổi, thì cái lỗi 1 dấu = sẽ còn hành cậu dài dài sau này.

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

  1. Bài tập C++ copy noi dung tu stack S sang stack D
    Gửi bởi thaodn_chuprong trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 12
    Bài viết cuối: 18-10-2012, 11:45 PM
  2. Cấu trúc dữ liệu Chuyển các phần tử từ stack này sang stack kia như thế nào?
    Gửi bởi rukawa1184 trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 9
    Bài viết cuối: 06-12-2011, 06:52 PM
  3. Stack, ngăn xếp - Thiết lập và ứng dụng stack trong C
    Gửi bởi PoPoPoPo trong diễn đàn Thủ thuật, Tutorials CTDL & Giải thuật
    Trả lời: 8
    Bài viết cuối: 15-11-2010, 11:24 PM
  4. Stack trên C | Lỗi khó hiểu trong Stack
    Gửi bởi tom3cang trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 22-05-2009, 11:09 PM
  5. Code về stack | Chuyển hệ số 10 sang 2 dùng stack
    Gửi bởi ahappyboy89 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 13
    Bài viết cuối: 17-04-2009, 09:48 AM

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