Exemplo n.º 1
0
    public static CAUHOI KhoiTao(BIEUTHUC P, Random t)
    {
        CAUHOI kq;

        kq.NoiDung = XuLyBieuThuc.XuatChuoi(P);
        kq.TraLoi  = new TRALOI[n_traloi];
        for (int i = 0; i < n_traloi; i++)
        {
            kq.TraLoi[i] = XuLyTraLoi.KhoiTao(P, t);
        }
        kq.TraLoi[t.Next() % n_traloi].NoiDung = XuLyBieuThuc.TinhToan(P).ToString();
        return(kq);
    }
Exemplo n.º 2
0
    public static String XuatChuoi(CAUHOI P)
    {
        String kq = P.NoiDung + " = \r\n";

        for (int i = 0; i < n_traloi; i++)
        {
            kq = kq + "(" + (i + 1) + ") " + XuLyTraLoi.XuatChuoi(P.TraLoi[i]);
            if (i < n_traloi - 1)
            {
                kq = kq + "\t\t";
            }
        }
        return(kq);
    }
Exemplo n.º 3
0
    public static Boolean KiemTra(String Chuoi)
    {
        Boolean flag = true;

        String[] M = Chuoi.Split(new String[] { ChuoiPhanCach },
                                 StringSplitOptions.None);
        flag = (M.Length > 0) && (M.Length % 2 == 0);
        String S;

        for (int i = 0, j = 0; flag && i < M.Length; i += 2, j++)
        {
            flag = XuLyTraLoi.KiemTra(M[i + 1]);
        }
        return(flag);
    }
Exemplo n.º 4
0
 public static CAUHOI[] KhoiTao(String Chuoi)
 {
     CAUHOI[] kq;
     kq = null;
     if (KiemTra(Chuoi))
     {
         String[] M = Chuoi.Split(new String[] { ChuoiPhanCach },
                                  StringSplitOptions.None);
         kq = new CAUHOI[M.Length / 2];
         String S;
         for (int i = 0, j = 0; i < M.Length; i += 2, j++)
         {
             S             = M[i].Replace("=", "");
             kq[j].NoiDung = S.Trim();
             kq[j].TraLoi  = XuLyTraLoi.KhoiTao(M[i + 1]);
         }
     }
     return(kq);
 }