예제 #1
0
 private TracNghiemCollection TaoDanhSachCauTraLoi(TuVungCollection tuvunglambantest, TracNghiemCollection CauHoicoll)
 {
     int i = 0;
     while (i < CauHoicoll.Count)
     {
         int ques_pos = 1;
         while (ques_pos < 4)
         {
             //Chọn ngẫu nhiên 1 trả lời trong tuvunglambaitest
             int stt = RandomTuVung(tuvunglambantest.Count);
             TuVungBO temp = tuvunglambantest.Index(stt);
             //Kiểm tra câu trả lời đã có trong danh sách trả lời chưa
             //Nếu có rồi: Tạo lại -->Kiểm tra
             //Nếu chưa: Add vào --> i++
             while (KiemTraTrungCauTraLoi(CauHoicoll.Index(i).Choices, temp, ques_pos) == true)
             {
                 stt = RandomTuVung(tuvunglambantest.Count);
                  temp = tuvunglambantest.Index(stt);
             }
             CauHoicoll.Index(i).Choices[ques_pos] = temp;
             ques_pos++;
         }
         i++;
     }
     return CauHoicoll;
 }
예제 #2
0
 private bool KiemTraTrungCauHoi(TracNghiemCollection cauhoiColl, TuVungBO tv)
 {
     foreach (TracNghiemBO tn in cauhoiColl)
     {
         if (tv.TuVungID == tn.Choices[0].TuVungID)
             return true;
     }
     return false;
 }
예제 #3
0
 /// /////////////////////////////tạo và làm bài [TRẮC NGHIỆM HIỂU TỪ]/////////////////////////
 #region Trắc nghiệm
 protected void TracNghiemBatDauButton_Click(object sender, EventArgs e)
 {
     int socauhoi = Convert.ToInt32(SoCauTiengAnhTextBox.Text);
     if (TVLambai.Count != 0)
     {
         tracnghiemColl = new TracNghiemCollection();
         tracnghiemColl = tracnghiemBUS.TaoBai_TracNghiem(TVLambai, socauhoi);
         //Load câu hỏi và 4 lựa chọn
         STT_cauhoi = 0;
         LoadCau(0);
         Load4LuaChon(0);
     }
     //reset lại tất cả control
     TracNghiemCauSoLabel.Text = "Câu số 1:";
     TracNghiemDungLabel.Text = "0";
     TracNghiemSaiLabel.Text = "0";
     ModalPopupExtender1.Show();
 }
예제 #4
0
 private TracNghiemCollection TaoDanhSachCauHoi_HinhAnh(TuVungCollection tuvunglambantest, int socauhoilambai)
 {
     TracNghiemCollection CauHoiColl = new TracNghiemCollection();
     int i = 0;
     while (i < socauhoilambai)
     {
         //Chọn ngẫu nhiên 1 câu hỏi trong tuvunglambaitest
         int stt = RandomTuVung(tuvunglambantest.Count);
         TuVungBO temp = tuvunglambantest.Index(stt);
         //Kiểm tra câu hỏi đã có trong danh sách chưa
         //Nếu có rồi: Tạo lại -->Kiểm tra
         //Nếu chưa: Add vào --> i++
         while (KiemTraTrungCauHoi(CauHoiColl, temp) == true || temp.HinhAnh.Trim() == "")
         {
             stt = RandomTuVung(tuvunglambantest.Count);
             temp = tuvunglambantest.Index(stt);
         }
         TracNghiemBO tnBO = new TracNghiemBO();
         tnBO.Choices[0] = temp;
         CauHoiColl.Add(tnBO);
         i++;
     }
     return CauHoiColl;
 }
예제 #5
0
 protected void HinhAnhThoatButton_Click(object sender, EventArgs e)
 {
     Timer2.Enabled = false;
     ModalPopupExtender2.Hide();
     //reset các control
     tracnghiemColl = null;
     HinhAnhCauTraLoiRadioList.Items.Clear();
     HinhAnhCauHoiImage.ImageUrl = "~/images/no_image.jpg";
     HinhAnhCauSoLabel.Text = "Câu số 0:";
     HinhAnhDungLabel.Text = "0";
     HinhAnhSaiLabel.Text = "0";
 } 
예제 #6
0
 protected void Timer2_Tick(object sender, EventArgs e)
 {
     //đánh dấu đáp án đúng       
     if (STT_cauhoi < tracnghiemColl.Count - 1)
     {
         STT_cauhoi++;
         LoadHinhAnh(STT_cauhoi);
         Load4LuaChonHinhAnh(STT_cauhoi);
         HinhAnhCauSoLabel.Text = "Câu số " + (STT_cauhoi + 1).ToString() + ":";
     }
     else
     {
         //reset các control
         tracnghiemColl = null;
         HinhAnhCauTraLoiRadioList.Items.Clear();
         HinhAnhCauHoiImage.ImageUrl = "~/images/youdidit.jpg";
         HinhAnhCauSoLabel.Text = "Câu số 0:";
         /*       HinhAnhDungLabel.Text = "0";
                HinhAnhSaiLabel.Text = "0";*/
     }
     ModalPopupExtender2.Show();
     Timer2.Enabled = false;
 }
예제 #7
0
    protected void TracNghiemThoatButton_Click(object sender, EventArgs e)
    {
        Timer1.Enabled = false;
        ModalPopupExtender1.Hide();
        //reset các control
        tracnghiemColl = null;
        TracNghiemCauTraLoiListBox.Items.Clear();
        TracNghiemCauHoiTextBox.Text = "";
        TracNghiemCauSoLabel.Text = "Câu số 0:";
        TracNghiemDungLabel.Text = "0";
        TracNghiemSaiLabel.Text = "0";

    } 
예제 #8
0
    protected void Timer1_Tick(object sender, EventArgs e)
    {
        //đánh dấu đáp án đúng       
        if (STT_cauhoi < tracnghiemColl.Count - 1)
        {
            STT_cauhoi++;
            LoadCau(STT_cauhoi);
            Load4LuaChon(STT_cauhoi);
            TracNghiemCauSoLabel.Text = "Câu số " + (STT_cauhoi + 1).ToString() + ":";
        }
        else
        {
            //reset các control
            tracnghiemColl = null;
            TracNghiemCauTraLoiListBox.Items.Clear();
            TracNghiemCauHoiTextBox.Text = "CHÚC MỪNG BẠN ĐÃ HÒAN THÀNH. KẾT QUẢ: \r\n - Đúng: " + TracNghiemDungLabel.Text + "\r\n - Sai: " + TracNghiemSaiLabel.Text;
            TracNghiemCauSoLabel.Text = "Câu số 0:";
            /*     TracNghiemDungLabel.Text = "0";
                 TracNghiemSaiLabel.Text = "0";*/

        }
        ModalPopupExtender1.Show();
        Timer1.Enabled = false;
    }
예제 #9
0
        //HÀM TẠO RA BÀI HÌNH ẢNH     
        public TracNghiemCollection TaoBai_Hinhanh(TuVungCollection tuvungColl, int socauhoi)
        {
            try
            {
                TracNghiemCollection DanhsachCauHoi = new TracNghiemCollection();
                TracNghiemCollection DanhsachCauTraLoi = new TracNghiemCollection();
                TracNghiemCollection baitracnghiem = new TracNghiemCollection();
                DanhsachCauHoi = TaoDanhSachCauHoi_HinhAnh(tuvungColl, socauhoi);
                DanhsachCauTraLoi = TaoDanhSachCauTraLoi(tuvungColl, DanhsachCauHoi);
                baitracnghiem = SapXepNgauNhien(DanhsachCauTraLoi);
                return baitracnghiem;
            }
            catch
            {
                return null;
            }

        }
예제 #10
0
        private TracNghiemCollection SapXepNgauNhien(TracNghiemCollection CauTraLoiColl)
        {
            TracNghiemCollection BaiTest = new TracNghiemCollection();

            for (int i = 0; i < CauTraLoiColl.Count; i++)
            {
                int new_pos = -1;
                new_pos = RandomTuVung(4);
                if (i > 1)
                {
                    while (new_pos == CauTraLoiColl.Index(i - 2).CauTraLoiDung)
                    {
                        new_pos = RandomTuVung(4);
                    }
                }
                CauTraLoiColl.Index(i).CauTraLoiDung = new_pos;
                //Hóan vị câu trả lới đúng với câu trả lời bất kỳ
                TuVungBO oldtv = CauTraLoiColl.Index(i).Choices[0];
                TuVungBO newtv = CauTraLoiColl.Index(i).Choices[new_pos];
                CauTraLoiColl.Index(i).Choices[0] = newtv;
                CauTraLoiColl.Index(i).Choices[new_pos] = oldtv;
            }
            BaiTest = CauTraLoiColl;
            return BaiTest;
        }