là số thực). Nếu giá trị nhập vào không hợp lệ thì hiện lên hộp thoại thông báo và yêu cầu nhập lại.
+ Nhãn kết quả hiện lên.
+ Kiểm tra xem độ dài 3 cạnh nhập vào ở 3 textbox tương ứng có lập thành tam giác không? Nếu có thì thực hiện tính diện tích tam giác và hiển thị kết quả ra nhãn kết quả. Nếu không thì thông báo lên nhãn kết quả là ba cạnh không lập thành tam giác.
- Khi người kích chọn radio button tính chu vi tam giác:
+ Nút “Nhập” và các textbox vô hiệu hóa.
+ Thực hiện kiểm tra xem người dùng đã nhập đủ dữ liệu vào các textbox chưa? Nếu chưa thì hiện lên hộp thoại thông báo và cho phép nhập lại. Nếu dữ liệu đã nhập đủ thì thực hiện kiểm tra xem dữ liệu nhập vào có hợp lệ không? (giá trị nhập vào phải là số thực). Nếu giá trị nhập vào không hợp lệ thì hiện lên hộp thoại thông báo và yêu cầu nhập lại.
+ Nhãn kết quả hiện lên.
+ Kiểm tra xem độ dài 3 cạnh nhập vào ở 3 textbox tương ứng có lập thành tam giác không? Nếu có thì thực hiện tính chu vi tam giác và hiển thị kết quả ra nhãn kết quả. Nếu không thì thông báo lên nhãn kết quả là ba cạnh không lập thành tam giác.
Có thể bạn quan tâm!
- Thực hành kỹ thuật lập trình - 1
- Thực hành kỹ thuật lập trình - 2
- Kết Quả Thiết Kế Form Tìm Ucln Và Bcnn
- Kết Quả Chạy Chương Trình Tính Tổng
- Form Thực Hiện Các Phép Toán Cơ Bản Với Hai Toán Hạng
- Kết Quả Chạy Chương Trình Giải Hệ Phương Trình Bậc Nhất
Xem toàn bộ 312 trang tài liệu này.
- Khi người dùng kích vào nút “Thoát”: thực hiện đóng chương trình.
Hướng dẫn thực hiện:
1. Thiết kế Form theo yêu cầu đề bài
2. Phân tích yêu cầu:
Theo yêu cầu trên thì phải có một form chứa:
- Các đối tượng có nội dung “TÍNH DIỆN TÍCH VÀ CHU VI TAM GIÁC”, “Nhập cạnh thứ 1”, “Nhập cạnh thứ 2”, “Nhập cạnh thứ 3”, “Kết quả” là các Label.
- Các đối tượng ô nhập cạnh thứ 1, cạnh thứ 2, cạnh thứ 3 là các Textbox.
- Các nút “Nhập”, “Thoát” là các Button.
- Đối tượng “Nhập dữ liệu” và “Tính” là các GroupBox.
3. Các bước thực hiện
Thiết kế Form theo mẫu và gắn các điều khiển
- Để tạo điểu khiển TÍNH DIỆN TÍCH VÀ CHU VI TAM GIÁC theo yêu cầu cần thực hiện:
+ Kéo điều khiển Label từ cửa sổ Toolbox
+ Kích phải chuột vào Label chọn Properties và thiết lập các thuộc tính cho Label như sau:
Text: TÍNH DIỆN TÍCH VÀ CHU VI TAM GIÁC
Font: Time New Roman
Size: 16
Font style: True
Trên menu chọn Format/Center in form/Horizontally để căn giữa.
Thực hiện thao tác tương tự với Label nhập cạnh thứ 1, nhập cạnh thứ 2, nhập cạnh thứ 3, nhãn kết quả.
- Để tạo điều khiển txt_canh1 tương ứng với nhãn nhập cạnh thứ nhất theo yêu cầu cần thực hiện:
+ Kéo điểu khiển Textbox từ cửa sổ Toolbox vào Form.
+ Kích phải chuột vào Textbox chọn Properties và thiết lập các thuộc tính cho Textbox như sau:
Name: txt_canh1
Font: Time New Roman Size: 14
Thực hiện tương tự với các textbox để nhập cạnh thứ 2 và 3.
- Tạo điều khiển “Nhập” như sau:
+ Kéo điều khiển Button từ cửa sổ Toolbox vào Form.
+ Kích phải chuột vào Button và thiết lập các thuộc tính cho Button này: Name: bt_nhap
Text: Nhập
Font: Time New Roman Size: 14
Thực hiện tương tự với nút “Thoát”.
- Để tạo điều khiển GroupBox nhập dữ liệu cần thực hiện các thao tác:
+ Kéo điều khiển GroupBox từ cửa sổ Toolbox vào Form.
+ Kích phải chuột vào GroupBox và thiết lập các thuộc tính cho GroupBox này: Text: Nhập dữ liệu
Font: Time New Roman Size: 14
Thực hiện tương tự với GroupBox “Tính”.
Kết quả thiết kế Form
Hình 1. 21. Kết quả thiết kế Form tính diện tích và chu vi tam giác
Viết mã lệnh cho các sự kiện
- Viết mã lệnh cho sự kiện Load Form
private void Form2_Load(object sender, EventArgs e)
{
txt_canh1.Enabled = false; txt_canh2.Enabled = false; txt_canh3.Enabled = false; group_tinh.Enabled = false; lb_ketqua.Visible = false;
}
- Viết mã lệnh cho hàm kiểm tra chuỗi rỗng
bool kiemtra(string s)
{
if (string.IsNullOrWhiteSpace(s)) return true; else return false;
}
- Viết mã lệnh cho hàm kiểm tra sự hợp lệ của dữ liệu nhập vào
bool kiemtra_dulieu()
{
double n;
if (kiemtra(txt_canh1.Text) || kiemtra(txt_canh2.Text)||kiemtra(txt_canh3.Text)) return false;
if (!double.TryParse(txt_canh1.Text, out n) || n < 0) return false; if (!double.TryParse(txt_canh2.Text, out n) || n < 0) return false; if (!double.TryParse(txt_canh3.Text, out n) || n < 0) return false; return true;
}
- Viết mã lệnh cho sự kiện kích chuột vào nút nhập
private void bt_nhap_Click(object sender, EventArgs e)
{
txt_canh1.Enabled = true; txt_canh2.Enabled = true; txt_canh3.Enabled = true; group_tinh.Enabled = true; txt_canh1.Focus();
}
- Viết mã lệnh cho hàm kiểm tra 3 số thực có lập thành tam giác không?
bool kt_tamgiac(double a, double b, double c)
{
if (a + b > c && a + c > b && b + c > a) return true; else return false;
}
- Viết mã lệnh cho sự kiện chọn radio button tính diện tích
private void radio_dientich_CheckedChanged(object sender, EventArgs e)
{
txt_canh1.Enabled = false; txt_canh2.Enabled = false; txt_canh3.Enabled = false; bt_nhap.Enabled = false; lb_ketqua.Visible = true; if (kiemtra_dulieu())
{
double a, b,c;
a= double.Parse(txt_canh1.Text); b= double.Parse(txt_canh2.Text); c=double.Parse(txt_canh3.Text); if (kt_tamgiac(a, b, c))
{
Double p = (a + b + c) / 2;
lb_ketqua.Text = "Diện tích của tam giác:" + Math.Sqrt(p * (p - a) * (p - b) * (p - c)).ToString("F3");
}
else lb_ketqua.Text = "Ba cạnh không lập thành tam giác";
}
else MessageBox.Show("Dữ liệu chưa hợp lệ", "Thông báo");
}
- Viết mã lệnh cho sự kiện chọn radio button tính chu vi
private void radio_chuvi_CheckedChanged(object sender, EventArgs e)
{
txt_canh1.Enabled = false; txt_canh2.Enabled = false; txt_canh3.Enabled = false; bt_nhap.Enabled = false; lb_ketqua.Visible = true; if (kiemtra_dulieu())
{
double a, b, c;
a = double.Parse(txt_canh1.Text); b = double.Parse(txt_canh2.Text); c = double.Parse(txt_canh3.Text); if (kt_tamgiac(a, b, c))
lb_ketqua.Text = "Chu vi của tam giác:" + (a+b+c).ToString("F3");
else lb_ketqua.Text = "Ba cạnh không lập thành tam giác";
}
else MessageBox.Show("Dữ liệu chưa hợp lệ", "Thông báo");
}
- Viết mã lệnh cho sự kiện kích chuột vào nút thoát
private void bt_thoat_Click(object sender, EventArgs e)
{
this.Close();
}
Kết quả chạy chương trình
Hình 1. 22. Kết quả chạy chương trình tính diện tích và chu vi tam giác
Bài tập 4 Viết chương trình thực hiện các công việc sau:
1. Thiết kế Form như hình sau:
Hình 1. 23. Form chương trình tính tổng
Yêu cầu:
Form.
- Nhãn tính tổng: Font Time New Roman, chữ hoa, in đậm, size 16, căn giữa
- Các nhãn nhập số n, kết quả: Font Time New Roman, size 14, màu đen.
- Điều khiển để nhập n là textbox.
- Điều khiển để lựa chọn công việc tính tổng chữ số của n hoặc tính tổng là các radiobutton.
- Điều khiển “Lựa chọn” là GroupBox.
2. Lập trình cho các sự kiện:
- Khi Load Form: con trỏ đặt tại textbox nhập n, nhãn kết quả và Groupbox lựa chọn vô hiệu hóa.
- Khi người dùng nhập dữ liệu vào textbox nhập n thì GroupBox lựa chọn sáng lên cho phép hoạt động.
- Khi người kích chọn radio button tính tổng chữ số của n:
+ Thực hiện kiểm tra xem người dùng đã nhập số n chưa? Nếu chưa thì hiện lên hộp thoại thông báo và cho phép nhập lại. Nếu dữ liệu đã nhập đủ thì thực hiện kiểm tra xem dữ liệu nhập vào có hợp lệ không? (giá trị nhập vào phải là số nguyên dương). Nếu giá trị nhập vào không hợp lệ thì hiện lên hộp thoại thông báo và yêu cầu nhập lại.
+ Nhãn kết quả hiện lên.
+ Thực hiện tính tổng các chữ số của n và hiển tổng ra nhãn kết quả.
- Khi người kích chọn radio button tính
+ Thực hiện kiểm tra xem người dùng đã nhập số n chưa? Nếu chưa thì hiện lên hộp thoại thông báo và cho phép nhập lại. Nếu dữ liệu đã nhập đủ thì thực hiện kiểm tra xem dữ liệu nhập vào có hợp lệ không? (giá trị nhập vào phải là số nguyên dương). Nếu giá trị nhập vào không hợp lệ thì hiện lên hộp thoại thông báo và yêu cầu nhập lại.
+ Nhãn kết quả hiện lên.
+ Thực hiện tính tổng và hiển tổng ra nhãn kết quả.
Hướng dẫn thực hiện:
1. Thiết kế Form theo yêu cầu đề bài
2. Phân tích yêu cầu:
Theo yêu cầu trên thì phải có một form chứa:
- Các đối tượng có nội dung “Tính tổng”, “Nhập n”, kết quả là các Label.
- Đối tượng ô để nhập n là Textbox.
- Điều khiển để lựa chọn tính tổng các chữ số của n và tính là các radiobutton.
- Đối tượng “Lựa chọn” là GroupBox.
3. Các bước thực hiện
Thiết kế Form theo mẫu và gắn các điều khiển
- Để tạo điểu khiển TÍNH TỔNG theo yêu cầu cần thực hiện:
+ Kéo điều khiển Label từ cửa sổ Toolbox
+ Kích phải chuột vào Label chọn Properties và thiết lập các thuộc tính cho Label như sau:
Text: TÍNH TỔNG
Font: Time New Roman Size: 16
Font style: True
Trên menu chọn Format/Center in form/Horizontally để căn giữa. Thực hiện thao tác tương tự với nhãn nhập n và kết quả.
- Để tạo điều khiển txt_n tương ứng với nhãn n theo yêu cầu cần thực hiện:
+ Kéo điểu khiển Textbox từ cửa sổ Toolbox vào Form.
+ Kích phải chuột vào Textbox chọn Properties và thiết lập các thuộc tính cho Textbox như sau:
Name: txt_n
Font: Time New Roman Size: 14
- Để tạo điều khiển GroupBox lựa chọn theo yêu cầu cần thực hiện các thao tác sau:
+ Kéo điều khiển GroupBox từ cửa sổ Toolbox vào Form.
+ Kích phải chuột vào GroupBox và thiết lập các thuộc tính cho GroupBox này: Name:group_luachon
Text: Lựa chọn
Font: Time New Roman Size: 14
- Để tạo điều khiển radiobutton tính tổng các chữ số của n theo yêu cầu cần thực hiện các thao tác sau:
+ Kéo điều khiển radiobutton từ cửa sổ Toolbox vào Form.
+ Kích phải chuột vào radiobutton và thiết lập các thuộc tính cho GroupBox: Name: radio_tongn
Kết quả thiết kế Form
Hình 1. 24 - Kết quả thiết kế Form tính tổng
Viết mã lệnh cho các sự kiện
- Viết mã lệnh cho các sự kiện Load Form
private void Form3_Load(object sender, EventArgs e)
{
group_luachon.Enabled = false; lb_ketqua.Enabled = false;
}
- Viết mã lệnh cho hàm kiểm tra chuỗi rỗng
bool kiemtra(string s)
{
if (string.IsNullOrWhiteSpace(s)) return true; else return false;
}
- Viết mã lệnh cho hàm kiểm tra sự hợp lệ của dữ liệu nhập vào
bool kiemtra_dulieu()
{
int n;
if (kiemtra(txt_n.Text)) return false;
if (!int.TryParse(txt_n.Text, out n) || n <= 0) return false; return true;
}
- Viết mã lệnh cho sự kiện textbox nhập thay đổi thì groupbox lựa chọn cho
phép hoạt động
private void txt_n_TextChanged(object sender, EventArgs e)
{
group_luachon.Enabled = true;
}
- Viết mã lệnh cho sự kiện chọn radiobutton tính tổng các chữ số của n
private void radio_tongn_CheckedChanged(object sender, EventArgs e)
{
if (kiemtra_dulieu())
{
int S = 0, r; lb_ketqua.Enabled = true; int n = int.Parse(txt_n.Text);
while (n != 0)
{ r = n% 10; S += r;
n = n / 10;
}
lb_ketqua.Text = "Tổng các chữ số của n là : " + S.ToString();
}
else
{ MessageBox.Show("Nhập sai n", "Thông báo"); txt_n.Focus();
}
}