Tạo ứng dụng Giải phương trình bậc nhất C# Winform

0

Thiết kế Form thực hiện bài toán giải phương trình bậc 1

Yêu cầu:

  • Khi form hiện lên thì nút Giải và nút Xóa bị mờ (Enabled=false). Nếu dữ liệu nhập không hợp lệ thì thông báo lỗi (dùng errorProvider). Sau khi nhập dữ liệu hợp lệ và đầy đủ thì nút Giải có tác dụng (Enabled=true).
  • Khi nhấn nút Tính: tính nghiệm phương trình (xét tất cả các trường hợp xảy ra: PT có 1 nghiệm, vô nghiệm, vô số nghiệm) và hiện kết quả vào Nghiệm PT. Khi đó nút Xóa có tác dụng, nút Tính bị mờ.
  • Khi nhấn nút Xóa: xóa các Textbox và Label, đặt con trỏ vào Textbox A, nút Xóa bị mờ
  • Khi nhấn nút Thoát: xác nhận người dùng có chắc chắn thoát khỏi ứng dụng hay không?

Code

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace b1_ptbacnhat
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

        }
        public void input1_TextChanged(object sender, EventArgs e)
        {
             if (input1.Text== "") //nếu ô input1 rỗng -->báo lỗi + tắt nút "Giải"
             {

                errorProvider1.SetError(input1, "Không được để trống !,hãy nhập số ");
                nutgiai.Enabled = false;
             }
             else // nếu ô input1 không rỗng-->có dữ liệu-->xét tiếp nếu ô input2 cũng có DL -->Đủ Đ.Kiện để bật nút Giải
             {
                errorProvider1.Clear();// không báo lỗi
                if(input2.Text != "")
                {
                    nutgiai.Enabled = true;
                }

             }
        }
        
        private void input2_TextChanged_1(object sender, EventArgs e)
        {
            
            if (input2.Text == "")//nếu ô input2 rỗng -->báo lỗi + tắt nút "Giải"
            {
                errorProvider2.SetError(input2, "Không được để trống ! hãy nhập số ");
                nutgiai.Enabled = false;
            }
            else// nếu ô input2 không rỗng-->có dữ liệu-->xét tiếp nếu ô input1 cũng có DL -->Đủ Đ.Kiện để bật nút Giải
            {
                errorProvider2.Clear();// tắt báo lỗi
                if(input1.Text !="")
                {
                    nutgiai.Enabled = true;
                }
            }
        }
   
        private void nutgiai_Click_1(object sender, EventArgs e)
        {
          //Ben Console:  float bien = float.Parse(Console.ReadLine());
          //COVER TU DANG CHUOI NHAP VAO ==>SANG DANG SO THI MOI TINH TOAN DUOC
            float a = float.Parse(input1.Text);
            float b = float.Parse(input2.Text);

            if(a==0)
            {
                // Xét tiếp trường hợp nếu a=0 và b=0
                if(b==0)
                {
                    nghiempt.Text = "Phương trình vô số nghiệm";
                }
                //ngược lại:a=0 nhưng b khác 0
                else
                {
                    nghiempt.Text = "Phương trình vô nghiệm";
                }
            }
            else
            {
                float x = (-b / a);//
                nghiempt.Text = x.ToString();// sau khi tinh xong===>Cover lai sang dang chuoi de in ra


                nghiempt.Text = "Phương trình có nghiệm duy nhất x= "+x;
            }
            nutxoa.Enabled = true;
            nutgiai.Enabled = false;
            
        }

        private void nutxoa_Click(object sender, EventArgs e)
        {
            
            input1.Clear();
            input2.Clear();
            nghiempt.Clear();

            //input1.Focus();
            nutgiai.Enabled = false;
            nutxoa.Enabled = false;
            
        }

        private void nutthoat_Click(object sender, EventArgs e)
        {
            DialogResult thoat;
            thoat = MessageBox.Show("Bạn có chắc chắn muốn thoát không ?","Thoát",
                    MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button1);

            //Nếu bấm Yes-->đóng chương trình
            if(thoat == DialogResult.Yes)
            {
                this.Close();
            }

        }

        
    }
}
Leave A Reply

Your email address will not be published.