Cấp bậc tác giả:

DOTNET

Viết chương trình tính số nhiên liệu tiêu thụ trung bình(sử dụng bẫy lỗi)

Được viết bởi QuangIT ngày 23/09/2012 lúc 03:16 PM
Viết chương trình tính số nhiên liệu tiêu thụ trung bình theo giao diện sau Phải bắt lỗi chặc chẽ các trường hợp sau: - Số dặm đường, số gallon tiêu thụ là số dương. - Lỗi tràn số - Lỗi chia cho số 0 - …
  • 0
  • 8317

Viết chương trình tính số nhiên liệu tiêu thụ trung bình(sử dụng bẫy lỗi)

Mục đích:

Sử dụng lớp Exception đề bẩy lỗi chương trình.

Sử dụng MessageBox để hiển thị thông báo lỗi

Yêu cầu:

Viết chương trình tính số nhiên liệu tiêu thụ trung bình theo giao diện sau

Phải bắt lỗi chặc chẽ các trường hợp sau:

- Số dặm đường, số gallon tiêu thụ là số dương.

- Lỗi tràn số

- Lỗi chia cho số 0

- …


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;


using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Bai01

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

int miles, galon;

private void btnCalculate_Click(object sender, EventArgs e)

{

miles = int.Parse(txtMilesDriven.Text);

galon = int.Parse(txtGallonsOfGasUsed.Text);

lblEfficiency.Text = ((float)miles / galon).ToString();

}

private void txtMilesDriven_Validating(object sender, CancelEventArgs e)

{

//kiem tra nhap du lieu vao textbox

TextBox txt = (TextBox)sender;

try

{

//1. neu textbox rỗng

if (txt.Text == "")

{

//thong bao chua nhap du lieu

errorProvider1.SetError(txt, "chua nhap du lieu");

//giu con tro

e.Cancel = true;

}

else//2. da nhap du lieu

{

try

{

//2.2 tao bien tam x va kiem tra

int x = int.Parse(txt.Text);

//3. so nho hon 0

if (x < 0)

{

throw new ArithmeticException();

}

else//4. du lieu nhap > 0

{

errorProvider1.SetError(txt, "");

}

}

//tràn số

catch (OverflowException)

{

errorProvider1.SetError(txt, "so lon wa");

e.Cancel = true;

}

}


}

//2.1 du lieu ko phai la số

catch (FormatException)

{

//2.1.1 thong bao

errorProvider1.SetError(txt, "nhap so nguyen");

//2.1.2 giu con tro

e.Cancel = true;

}

//3.1 bat su kien so nho hon 0

catch (ArithmeticException)

{

//3.1.1 thong bao

errorProvider1.SetError(txt, "so phai >0");

//3.1.2 giu con tro

e.Cancel = true;

}

//5. cac truong hop loi khac

catch (Exception ex)

{

errorProvider1.SetError(txt, ex.Message.ToString());

e.Cancel = true;

}

}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)

{

if (MessageBox.Show("thoat y/n?", "thong bao 22222", MessageBoxButtons.YesNo) == DialogResult.Yes)

{

e.Cancel = false;

}

else

{

e.Cancel = true;

}

}

private void button1_Click(object sender, EventArgs e)

{

this.Close();

}

}

}

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML