Question: C# Temp Converter Program. I don't know what's wrong with my application. I'm suppose to satisfy these 4 conditions but it's not working. Please help
C# Temp Converter Program.
I don't know what's wrong with my application. I'm suppose to satisfy these 4 conditions but it's not working. Please help me fix it.
1: User enters data inside both Celsius and fahrenheit text boxes: You should enter data in only one textbox. Press Clear to start over.
2: User leaves text boxes empty and tries to convert: You must enter the temperature that you want to convert. Press Clear to start over.
3: User enters any character that is not a number: "Characters are invalid. Press clear to start over."
4: User enters data below absolute zero (If the Celsius temperature is less than -273.15, Fahrenheit less than -459.67): "You entered an invalid data. Press clear to start over."
Below is the code I have done so far.
public partial class Form1 : Form { double celsius; double fahrenheit; int flag;
public Form1() { InitializeComponent(); } public void ToCelsius(double fah) { celsius = (fah - 32) * 5 / 9; celsiusTextBox.Text = celsius.ToString("N2"); } public void ToFahrenheit(double cel) { fahrenheit = (cel * 9 / 5) + 32; fahrenheitTextBox.Text = fahrenheit.ToString("N2"); }
private void convertButton_Click(object sender, EventArgs e) {
if (celsiusTextBox.Text != "")
{
if (fahrenheitTextBox.Text != "")
{
messageLabel.Text = "You should enter data in only one textbox. Press Clear to start over.";
}
}
if (string.IsNullOrEmpty(celsiusTextBox.Text) && string.IsNullOrEmpty(fahrenheitTextBox.Text))
{
messageLabel.Text = "You must enter the temperature that you want to convert. Press Clear to start over.";
}
if (celsiusTextBox.Text != "")
{ long number = 0; bool canConvertNum = long.TryParse(celsiusTextBox.Text, out number); if (canConvertNum == false) {
messageLabel.Text = "Characters are invalid. Press clear to start over.";
}
if (fahrenheitTextBox.Text != "")
{ long number = 0; bool canConvertNum = long.TryParse(fahrenheitTextBox.Text, out number); if (canConvertNum == false) {
messageLabel.Text = "Characters are invalid. Press clear to start over."; }
}
if { long valueCelsius = 0; long valueFahrenheit = 0;
bool canConvertNumCel = long.TryParse(celsiusTextBox.Text, out valueCelsius);
bool canConvertNumFah = long.TryParse(fahrenheitTextBox.Text, out valueFahrenheit);
if (canConvertNumCel == true && valueCelsius < -273.15) {
messageLabel.Text = "You entered an invalid data. Press clear to start over."
}
if (canConvertNumFah == true && valueFahrenheit < -459.67) {
messageLabel.Text = "You entered an invalid data. Press clear to start over."
} }
if (flag == 1) { celsius = Convert.ToDouble(celsiusTextBox.Text); ToFahrenheit(celsius); } else if (flag == 0) { fahrenheit = Convert.ToDouble(fahrenheitTextBox.Text); ToCelsius(fahrenheit); } }
private void clearButton_Click(object sender, EventArgs e) { celsiusTextBox.Text = ""; fahrenheitTextBox.Text = ""; }
private void exitButton_Click(object sender, EventArgs e) { this.Close(); }
private void celsiusTextBox_TextChanged(object sender, EventArgs e) { flag = 1; }
private void fahrenheitTextBox_TextChanged(object sender, EventArgs e) { flag = 0; } } }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
