- Viết mã lệnh cho sự kiện kích chuột vào nút đếm từ trong xâu
private void bt_dem_Click(object sender, EventArgs e)
{
int d = 0;
for (int i = 0; i < st.Length; i++) if (st[i] == ' ') d++;
if (st!= "") d++;
lb_demtu.Text= "Xâu có " + d.ToString()+ " từ";
}
Có thể bạn quan tâm!
- Kết Quả Chạy Chương Trình Bài Tập Mẫu Về Mảng Hai Chiều
- Thực hành kỹ thuật lập trình - 13
- Kết Quả Chạy Chương Trình Kiểm Tra Xâu Đối Xứng
- Kết Quả Chạy Chương Trình Định Giá Biểu Thức Hậu Tố
- Kết Quả Thiết Kế Form Quản Lý Giáo Viên Tiểu Học
- Kết Quả Chạy Chương Trình Quản Lý Bán Xe Mô Tô
Xem toàn bộ 312 trang tài liệu này.
- 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. 78. Kết quả chạy chương trình chuẩn hóa và đếm từ trong xâu
1.4.3. Bài tập thực hành
Bài 1
Viết một chương trình thực hiện các công việc sau:
1. Thiết kế Form theo mẫu
Hình 1. 79. Chương trình xử lý chuỗi
Yêu cầu:
- Nhãn chương trình xử lý chuỗi: Font Time New Roman, chữ hoa, in đậm, cỡ chữ 16, căn giữa Form.
- GroupBox nhập và kết quả: Font Time New Roman, cỡ chữ 14.
- Điều khiển để nhập chuỗi A, chuỗi B và hiển thị kết quả là các RichTextBox.
- Các điều khiển “So sánh”, “Nối chuỗi”, “Chèn”, “Thêm chuỗi”, “Thay thế”, “Chuỗi hoa”, “Chuỗi thường”, ”Thoát” là các Button.
2. Lập trình cho các sự kiện:
- Khi Load Form:
+ RichTextBox nhập A và B sáng cho phép nhập xâu ký tự.
+ Các điều khiển khác vô hiệu hóa (nút “Thoát” luôn sáng, richTextBox kết quả luôn ẩn).
- Khi người dùng nhập xâu vào richTextBox nhập A hoặc B thì các button sẽ sáng lên.
- Khi người dùng kích vào nút “So sánh”:
+ Kiểm tra xem người dùng đã nhập xâu hay chưa? Nếu chưa thì đưa ra hộp thoại thông báo.
+ Thực hiện so sánh hai xâu theo thứ tự từ điển trong bảng mã ASCII.
+ Hiển thị kết quả ra richTextBox kết quả.
- Khi người dùng kích vào nút “Chèn”:
+ Kiểm tra xem người dùng đã nhập xâu A và xâu B hay chưa? Nếu chưa nhập đủ thì đưa ra hộp thoại thông báo.
+ Hiện lên cửa sổ cho phép nhập vào số nguyên dương n.
+ Thực hiện nối xâu B vào vị trí thứ n của xâu A.
+ Hiển thị xâu kết quả ra richTextBox kết quả.
- Khi người dùng kích vào nút “Nối chuỗi”:
+ Kiểm tra xem người dùng đã nhập xâu A và xâu B hay chưa? Nếu chưa nhập đủ thì đưa ra hộp thoại thông báo.
+ Thực hiện nối xâu B vào cuối xâu A.
+ Hiển thị xâu kết quả ra richTextBox kết quả.
- Khi người dùng kích vào nút “Thay thế”:
+ Kiểm tra xem người dùng đã nhập xâu A và xâu B hay chưa? Nếu chưa nhập đủ thì đưa ra hộp thoại thông báo.
+ Thực hiện thay thế xâu A bằng xâu B.
+ Hiển thị xâu kết quả ra richTextBox xâu A.
- Khi người dùng kích vào nút “Xâu hoa”:
+ Kiểm tra xem người dùng đã nhập xâu A và xâu B hay chưa? Nếu chưa nhập đủ thì đưa ra hộp thoại thông báo.
+ Thực hiện chuyển xâu A và xâu B về xâu chứa toàn ký tự hoa.
+ Hiển thị xâu kết quả ra richTextBox xâu A và richTextBox xâu B.
- Khi người dùng kích vào nút “Thoát”: thực hiện kết thúc chương trình.
Hướng dẫn thực hiện
1. Thiết kế Form như yêu cầu đề bài
2. Phân tích yêu cầu
Theo yêu cầu của bài toán thì phải có một Form chứa:
- Các đối tượng có nội dung “CHƯƠNG TRÌNH XỬ LÝ CHUỖI”, “Nhập chuỗi A”, “Nhập chuỗi B” là các Label.
- Đối tượng ô nhập xâu A, xâu B và kết quả là các RichTextBox.
- Đối tượng nhập và kết quả là các GroupBox.
- Các nút “So sánh”, “Nối chuỗi”, “ Chèn”, “Thay thế”, “ Chuỗi hoa”, “Thoát” là các Button.
3. Hướng dẫn thực hiện
- Thiết kế Form theo mẫu và gắn các điều khiển Bước 4. Kết quả thiết kế Form
Hình 1. 80. Kết quả thiết kế Form chương trình xử lý xâu
Viết mã lệnh cho các nút chức năng
- Viết mã lệnh cho sự kiện Form Load
private void Form1_Load(object sender, EventArgs e)
{
vohieuhoa(false); rtbox_A.ResetText(); rtbox_B.ResetText(); rtbox_A.Focus();
}
- Viết mã lệnh cho hàm vô hiệu hóa các button
void vohieuhoa(bool gt)
{
bt_chen.Enabled = gt; bt_chuoihoa.Enabled = gt; bt_noichuoi.Enabled = gt; bt_sosanh.Enabled = gt; bt_thaythe.Enabled = gt;
}
- Viết mã lệnh cho sự kiện TextChanged của richTextBox nhập xâu A
private void rtbox_A_TextChanged(object sender, EventArgs e)
{
vohieuhoa(true);
}
- Viết mã lệnh cho sự kiện TextChanged của richTextBox nhập xâu B
private void rtbox_B_TextChanged(object sender, EventArgs e)
{
vohieuhoa(true);
}
- Viết mã lệnh cho sự kiện kích chuột vào nút so sánh
private void bt_sosanh_Click(object sender, EventArgs e)
{
rtbox_ketqua.ResetText();
if (kiemtra(rtbox_A.Text) || kiemtra(rtbox_B.Text)) MessageBox.Show("Chưa nhập xâu", "Thông báo");
else if (string.Compare(rtbox_A.Text, rtbox_B.Text) == 0) rtbox_ketqua.Text = "Hai chuỗi giống nhau";
else if (string.Compare(rtbox_A.Text, rtbox_B.Text) <0) rtbox_ketqua.Text = "Chuỗi A nhỏ hơn chuỗi B";
else rtbox_ketqua.Text = "Chuỗi A lớn hơn chuỗi B";
}
- Viết mã lệnh cho hàm kiểm tra chuỗi rỗng
bool kiemtra(string st)
{
if (string.IsNullOrWhiteSpace(st)) return true; else return false;
}
- Viết mã lệnh cho sự kiện kích chuột vào nút nối chuỗi
private void bt_noichuoi_Click(object sender, EventArgs e)
{
rtbox_ketqua.ResetText();
if (kiemtra(rtbox_A.Text) || kiemtra(rtbox_B.Text)) MessageBox.Show("Chưa nhập xâu", "Thông báo");
else
{
string st, st1, st2; st1 = rtbox_A.Text; st2 = rtbox_B.Text;
st = string.Concat(st1, st2); rtbox_ketqua.Text = st;
}
}
- Viết mã lệnh cho sự kiện kích chuột vào nút chèn
private void bt_chen_Click(object sender, EventArgs e)
{
bool kt; int n; rtbox_ketqua.ResetText();
if (kiemtra(rtbox_A.Text) || kiemtra(rtbox_B.Text)) MessageBox.Show("Chưa nhập xâu", "Thông báo");
else
{
string st, st1, st2; st1 = rtbox_A.Text; st2 = rtbox_B.Text; do
{
kt = int.TryParse(Microsoft.VisualBasic.Interaction.InputBox("Nhập vị trí cần bổ sung n = "), out n);
} while (!kt || n < 1 || n > st1.Length);
st = st1.Insert(n, st2); rtbox_ketqua.Text = st;
}
}
- Viết mã lệnh cho sự kiện kích chuột vào nút thay thế
private void bt_thaythe_Click(object sender, EventArgs e)
{
if (kiemtra(rtbox_A.Text) || kiemtra(rtbox_B.Text)) MessageBox.Show("Chưa nhập xâu", "Thông báo");
else
{
string st1, st2;
st1 = rtbox_A.Text; st2 = rtbox_B.Text;
st1 = st1.Replace(st1, st2); rtbox_A.Text = st1;
}
}
- Viết mã lệnh cho sự kiện kích chuột vào nút chuỗi hoa
private void bt_chuoihoa_Click(object sender, EventArgs e)
{
rtbox_ketqua.ResetText();
if (kiemtra(rtbox_A.Text) || kiemtra(rtbox_B.Text)) MessageBox.Show("Chưa nhập xâu", "Thông báo");
else
{
string st1, st2;
st1 = rtbox_A.Text; st2 = rtbox_B.Text; st1 = st1.ToUpper(); st2 = st2.ToUpper(); rtbox_A.Text = st1; rtbox_B.Text = st2;
}
}
- 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. 81. Kết quả chạy chương trình xử lý xâu
Bài 2
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. 82. Chương trình định giá biểu thức hậu tố
Yêu cầu:
- Nhãn định giá biểu thức hậu tố: Font Time New Roman, chữ hoa, in đậm, cỡ chữ 16, căn giữa Form.
- Nhãn nhập biểu thức hậu tố, kết quả: Font Time New Roman, cỡ chữ 14
- Điều khiển để nhập biểu thức hậu tố và để hiển thị kết quả của biểu thức là các RichTextBox.
- Các điều khiển “Định giá”, ”Thoát” là các Button.
2. Lập trình cho các sự kiện:
- Khi Load Form:
+ richTextBox nhập biểu thức hậu tố sáng lên cho phép hoạt động.
+ Điều khiển “Định giá” vô hiệu hóa , nút “Thoát” luôn sáng, richTextBox kết quả luôn ẩn.
- Khi người dùng nhập biểu thức vào richTextBox nhập biểu thức hậu tố thì button định giá sáng lên.
- Khi người dùng kích vào nút “Định giá ”:
+ Kiểm tra xem người dùng đã nhập biểu thức hậu tố hay chưa? Nếu chưa thì đưa ra hộp thoại thông báo và yêu cầu nhập lại (lưu ý các phần tử cách nhau ít nhất một dấu cách).
+ richTextBox nhập biểu thức hậu tố vô hiệu hóa
+ Thực hiện định giá biểu thức và hiển thị kết quả ra richTextBox kết quả.
- Khi người dùng kích vào nút “Thoát”: thực hiện kết thúc chương trình.
Hướng dẫn thực hiện
1. Thiết kế Form như yêu cầu đề bài
2. Phân tích yêu cầu
Theo yêu cầu của bài toán thì phải có một Form chứa:
- Các đối tượng có nội dung “Định giá biểu thức”, “Nhập biểu thức hậu tố”, “Kết quả” là các Label.
- Đối tượng ô nhập biểu thức hậu tố và hiển thị kết quả định giá là các RichTextBox.
- Các nút “Định giá, “Thoát” là các Button.
3. Hướng dẫn thực hiện
Thiết kế Form theo mẫu và gắn các điều khiển
Hình 1. 83.Kết quả thiết kế Form định giá biểu thức hậu tố
Viết mã lệnh cho các sự kiện
- Viết mã lệnh cho sự kiện Form Load
private void Form1_Load(object sender, EventArgs e)
{
bt_dinhgia.Enabled = false; rtbox_kq.Enabled = false;
}
- Viết mã lệnh cho sự kiện TextChanged của richTextBox nhập biểu thức hậu tố
private void rtbox_hauto_TextChanged(object sender, EventArgs e)
{
bt_dinhgia.Enabled = true;
}
- 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 sự kiện kích chuột vào nút định giá
private void bt_dinhgia_Click(object sender, EventArgs e)
{
if (kiemtra(rtbox_hauto.Text))
{ MessageBox.Show("Bạn chưa nhập biểu thức", "Thông báo"); rtbox_hauto.Focus();
}
else
{
float[] S = new float[max]; int top = 0;
string st = rtbox_hauto.Text; int i = 0; float so1, so2, kq, gt; while (i < st.Length)
{
if (st[i] == ' ') i++;
else if (st[i] == '+')
{