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

Đề tài: tính giá trị biểu thức hậu tố

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

    Question tính giá trị biểu thức hậu tố

    Anh chị nào học C#,xem giúp em code của CT tính giá trị biểu thức hậu tố này nhé! Code này ,em chuyển từ C++ sang C#,nhưng vì nhiều lệnh khôg biết nên chuyển lung tung,không đúng.Anh chị nào làm bài này rồi,có thì post lên đây giúp em.còn không thì chỉ giúp em lỗi sai trong bài này! Em xin cảm ơn!
    Visual C# Code:
    1. using System;
    2. using System.Collections.Generic;
    3. using System.Text;
    4. using System.Collections;
    5. using t=System.Console;
    6. namespace BTCTDLva_giai_thuat
    7. {
    8.     class stack1
    9. {
    10. private int count;
    11. private int data[stack_size];
    12.  
    13. public void init()
    14. {
    15. // khoi tao stack
    16. count=-1;
    17. }
    18.  
    19. public int isempty()
    20. {
    21. // kiem tra ngan xep rong
    22. return count==-1;
    23. }
    24.  
    25. {
    26. // lay phan tu tren cung ngan xep ra kiem tra
    27. if(count<0)
    28. {
    29. *th=data[count];
    30. }
    31. }
    32.  
    33. public int push(float th)
    34. {
    35. // day mot phan tu vao ngan nho
    36. if(count>99)
    37. data[++count]=th;
    38. }
    39.  
    40. public int pop(float*th)
    41. {
    42. // lay mot phan tu ra khoi ngan nho
    43. if(count<0)
    44. *th=data[count--];
    45. }
    46. }
    47.  
    48. public void sdisplay()
    49. {
    50. // hien thi cac gia tri trong ngan xep
    51. int j=0;
    52. for(j=0;j<=count;j++)
    53. t.WriteLine("%d",data[j]);
    54. }
    55.  
    56. // khai bao xong ngan xep
    57. // tiep theo la khai bao cac ham xu ly
    58.  
    59. // Chuong trinh chinh
    60.  
    61. static void main()
    62. {
    63. // khai bao bien
    64. char xauvao[80];
    65. char ch;
    66. int i=0,len, done=1;
    67. float th1,th2,ketqua;
    68. stack a=newstack();
    69. a.init(); // khoi tao ngan xep
    70. // nhap bieu thuc trung to
    71. t.Write("ddanh gia bieu thuc dang hau to");
    72. t.Write(" luu y: 0<=toan hang<=9");
    73. t.Write("toan tu :"+","-","*","/"");
    74. t.Write("chao tat ca cac ban");
    75. {
    76. // vong lap
    77. t.Write("ban hay nhap vao mot bieu thuc");
    78. gets(xauvao);
    79. len=strlen(xauvao);
    80. if(len!=0)
    81. {
    82. t.Write("cac buoc thuc hien");
    83. // tinh gia tri bieu thuc hau to
    84. for(i=0;i<=len-1;i++)
    85. {
    86. ch=xauvao[i];
    87. if((ch>='0')&&(ch<='9'))
    88.                 {a.push(ch-'0');
    89.                     t.Write("\n Stack:  ");
    90.                     a.sdisplay();
    91.                     getch();)
    92. }
    93.                  if (ch!= ' ')
    94.                  {
    95.                     if (a.isempty()) t.Write("\n vu phuong thao");
    96.                     else
    97.                         a.pop (&th2);
    98.                     if (a.isempty()) t.Write("\n nguyen thi nga");
    99.                     else
    100.                         a.pop (&th1);
    101.                     switch (ch)
    102.                     {
    103.                         case '+': a.push(th1+th2);
    104.                                   t.Write("\n Stack:  ");
    105.                                   a.sdisplay();
    106.                                   getch();
    107.                                   break;
    108.                         case '-': a.push(th1-th2);
    109.                                   t.Write("\n Stack:  ");
    110.                                   a.sdisplay();
    111.                                   getch();
    112.                                   break;
    113.                         case '*': a.push(th1*th2);
    114.                                 t.Write("\n Stack:  ");
    115.                                   a.sdisplay();
    116.                                   getch(); 
    117.                                   break;
    118.                         case '/': a.push(th1/th2);
    119.                                 t.Write("\n Stack:  ");
    120.                                   a.sdisplay();
    121.                                   getch();
    122.                                   break;         
    123.                     } //switch
    124.                  } //if                
    125.             } // for
    126.             a.pop(&ketqua);
    127.             t.Write("\n    Ket qua bieu thuc la:   %5.2f",ketqua);         
    128.         } // if      
    129.         else
    130.             done=0;
    131.     } while (done);
    132. }

    Lưu ý: Bỏ code vào tag Code. chi tiết Tại Đây
    Vui lòng xem qua nội qui để biết thêm chi tiết.
    Đã được chỉnh sửa lần cuối bởi zkday2686 : 19-10-2008 lúc 09:00 PM. Lý do: Bỏ code vào tag code.

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mình đã sửa cho bạn rồi đây.
    Attached Files Attached Files
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    10 2008
    Bài viết
    5

    tks meoconlongvang rất nh` vì đã giúp tui nhá! Bản bạn sửa hok chạy đc.hjc.tui không chuyển code nữa mà viết lại hoàn toàn,bi h thì nó chạy đc ùi,nhưng chưa hoàn chỉnh lem.Định pót lên hỏi các bạn nhưng hỏi nh` quá bị la nên thui!hjc!

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Trích dẫn Nguyên bản được gửi bởi llam339 Xem bài viết
    tks meoconlongvang rất nh` vì đã giúp tui nhá! Bản bạn sửa hok chạy đc.hjc.tui không chuyển code nữa mà viết lại hoàn toàn,bi h thì nó chạy đc ùi,nhưng chưa hoàn chỉnh lem.Định pót lên hỏi các bạn nhưng hỏi nh` quá bị la nên thui!hjc!
    Lạ vậy, mình đã test thử ở nhà thấy nó chạy ngon mà ? Nó báo lỗi biên dịch hay là lỗi gì ? Bạn có thắc mắc gì thì cứ hỏi, miễn là làm đúng nội quy thì cứ vô tư thôi.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  5. #5
    Ngày gia nhập
    09 2008
    Bài viết
    10

    cho mình bít bài làm của tính giá trị biểu thức hậu tố bằng C++ với
    có nói chi tiết bài làm giống như mình đang watch nó cũng được
    thank trước nha
    mình mới học à
    chưa bít j` à
    Tutinit@gmail.com

  6. #6
    Ngày gia nhập
    10 2008
    Bài viết
    25

    Mặc định tính giá trị biểu thức hậu tố

    meoconlongvang có thể chuyển bài này về c# thế cho hỏi bạn có thể chuyển nó về pascal không mình làm bằng c nhưng chuyển về pascal thì nó khó quá vì mình biết là dùng pascal thì mình phải dùng stack mà trong c lại khác pascal

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

    Mình thấy trong visual studio có các stack sẵn rùi mà,cần j phải xây dựng stacks nữa.
    Nhân tiện hình như trong đó cũng có hàm tính giá trị biểu thức luôn hay sao ấy,nhưng ma tìm mãi k ra.
    Bác nào có cái code tính biểu thức dạng trong textbox k?chỉ cho mình với,chả hiu sao mà dùng stack mãi k tính đc

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