Ejemplo n.º 1
0
 public TinhBieuThuc(string input)
 {
     PhepTinh = new PhepTinh();
     BieuThuc = new ArrayList();
     input = input.Replace(" ", "") + ")";
     string temp = "";
     int tag = 0;
     while (input != "") {
         bool isDigit = isNumber(input[0])
             ||
             (tag == 0 && input[0] == '-' && char.IsDigit(input[1]));
         if (isDigit) {
             tag = 1;
             do {
                 temp += input[0].ToString();
                 input = input.Substring(1);
             } while (isNumber(input[0]) && input[0] != '-');
             BieuThuc.Add(double.Parse(temp));
             temp = "";
         }
         else {
             tag = 0;
             BieuThuc.Add(input[0].ToString());
             input = input.Substring(1);
         }
     }
     for (int i = 0; i < BieuThuc.Count - 1; i++) {
         if (isDouble(BieuThuc[i]) && isDouble(BieuThuc[i + 1])) {
             BieuThuc.Insert(i + 1, "+");
         }
     }
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Bước 1: Đưa về dạng trung tố
 /// Bước 2: Kiểm tra tính đúng sai
 /// Bước 3: Chuyển trung tố sang hậu tố
 /// Bước 4: Tính hậu tố
 /// </summary>
 public TinhBieuThuc()
 {
     BieuThuc = new ArrayList();
     PhepTinh = new PhepTinh();
 }