Kết Quả Chạy Chương Trình Chuẩn Hóa Và Đếm Từ Trong Xâu



- 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!

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 1

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 2

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 3

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 4

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á 5

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 6

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] == '+')

{

Xem toàn bộ nội dung bài viết ᛨ

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 16/07/2022