csharp
==========================================================================
Khi nhóm khách hàng vào quán cafe sẽ được chọn 1 trong các loại cafe. Giá cho từng loại cafe tương ứng như sau:
- Cafe đen: 20k
- Cafe đá: 25k
- Cafe sữa: 25k
- Cafe sữa đá: 30k
- Cafe kem: 35k
Khi khách hàng gọi tính tiên, thu ngân sẽ nhập thông tin tên khách hàng và tùy vài loại cafe thì sẽ có giá tương ứng (Lưu ý: Nếu khách hàng là sinh viên – Check vào checkbox Sinh viên sẽ được giảm giá 20%). Cuối cùng thu ngân sẽ tính tổng số người trong nhóm và thanh toán tiền)
Chương trình thực hiện:
- Form_Load: con trỏ văn bản đặt vào ô tên khách hàng, các button TinhTien, NhapLai, ThanhToan bị mờ (enable=false). Thực hiện nhập tên khách hàng ) tên khách hàng không được để trống). Check vào checkbox Sinh Viên nếu khách hàng là Sinh Viên, chọn loại cafe mà khách hàng đã gọi. Khi nhập vào đầy đủ thông tin thì btnTinhTien có tác dụng.
- btnNhapLai_Click: khởi tạo lại trạng thái ban đầu của Form, btnNhapLai bị mờ.
- btnThanhToan_Click: Ghi lại thông tin tổng số khách và tổng số tiền Thanh toán vào các label tương ứng, đồng thời khởi tạo lại giá trị tổng số khách hàng =0, tổng tiền thanh toán=0, sẵn sàng cho việc nhập nhóm khách hàng mới, btnThanhToan bị mờ.
- btnThoat_Click: Hỏi người dùng có chắc chắn thoát khỏi chương trình hay không? Yes/No
==========================================================================
[code language=”csharp”]using System;
using System.Windows.Forms;namespace WinformTutorialBasic
{
public partial class Bai11CoffeePaymentProg : Form
{
private int _tongtien;
private int _tongkhach;
private RadioButton _loaicafe;
public Bai11CoffeePaymentProg()
{
InitializeComponent();
}private void Bai11CoffeePaymentProg_Load(object sender, EventArgs e)
{
errorProvider1.Clear();
txtTenKhachHang.Focus();
btnTinhTien.Enabled = btnNhapLai.Enabled = btnThanhToan.Enabled = false;
_loaicafe = radioButton1;
radioButton1.Checked = true;
chkSinhvien.Checked = false;
}private void btnThoat_Click(object sender, EventArgs e)
{
Close();
}private void frmBaiTap11_FormClosing(object sender, FormClosingEventArgs e)
{
var r = MessageBox.Show(@"Bạn có chắc chắn muốn thoát không ??",@"Exit",
MessageBoxButtons.YesNo,MessageBoxIcon.Question,
MessageBoxDefaultButton.Button1);
e.Cancel = (r == DialogResult.No);
}private void btnTinhTien_Click(object sender, EventArgs e)
{
_tongkhach++;
if (chkSinhvien.Checked)
{
_tongtien += Convert.ToInt32(_loaicafe.Tag.ToString()) * 8 /10;
MessageBox.Show(_loaicafe.Text + @"-" + Convert.ToInt32(_loaicafe.Tag.ToString()) * 8 / 10 + @" VND", @"Thông báo");
}
else
{
_tongtien += Convert.ToInt32(_loaicafe.Tag.ToString());
MessageBox.Show(_loaicafe.Text + @"-" + _loaicafe.Tag + @" VND", @"Thông báo");
}
btnNhapLai.Enabled = btnThanhToan.Enabled = true;
btnTinhTien.Enabled = false;
}private void radio_CheckedChanged(object sender, EventArgs e)
{
RadioButton rad = (RadioButton)sender;
if (rad.Checked)
_loaicafe = rad;
}private void txtTenKhachHang_TextChanged(object sender, EventArgs e)
{
Control ctr = (Control)sender;
if ((ctr.Text.Length > 0 && Char.IsDigit(ctr.Text[ctr.Text.Length – 1])))
{
errorProvider1.SetError(ctr, "Bạn phải nhập chữ");
}
else
{
if (ctr.Text.Trim().Length == 0)
errorProvider1.SetError(ctr, "Tên khách hàng không được để trống!!!");
else
{
errorProvider1.Clear();
btnTinhTien.Enabled = true;
}
}
}private void btnNhapLai_Click(object sender, EventArgs e)
{
txtTenKhachHang.Clear();
Bai11CoffeePaymentProg_Load(sender, e);
}private void btnThanhToan_Click(object sender, EventArgs e)
{
txtTongKhachHang.Text = _tongkhach.ToString();
txtTongTienThanhToan.Text = _tongtien.ToString()+@" VND";
_tongtien = _tongkhach = 0;
btnThanhToan.Enabled = false;
}
}
}
[/code]
