Ich weiß nicht, wie ich den Benutzer bitten kann, eine beliebige Taste zu drücken, wenn er eine ungültige Eingabe eingibt.C# Wie fordere ich den Benutzer auf, eine beliebige Taste zum Beenden zu drücken, wenn er einen ungültigen Eingang eingibt?
Immer wenn ich versuche, Console.ReadKey
() zu setzen, läuft das Programm einfach weiter. Ich weiß nicht, wie ich es stoppen kann, wenn der Benutzer keine gültige Eingabe gemacht hat.
Hier ist der Code
/* Variable */
int height = 0; // stores user's height input
int weight = 0; // stores user's weight input
const int factorBMI = 703; // stores user's constant bmi which is 703
double bmi = 0.0; // stores user's calculated bmi
/* User's Input */
Console.WriteLine("************************************************************************************************************************");
Console.WriteLine(" Please enter the person's height in inches:"); // Ask user to enter their height in inches
if (Int32.TryParse(Console.ReadLine(), out height))
Convert.ToDecimal(height);
if (height > 120) // Print an error message stating that if user's input is over 120 then an error pops
Console.Write("\n height should be less than 120 inches, please press any key to exit:");
if (height < 5) // Print an error message stating that if user's input is less than 5 then an error pops
Console.Write("\n height should be greater than 5 inches and if you entered a letter, \n please enter a number next time:\n");
Console.WriteLine("\n Please enter the person's weight pounds:"); // Ask user to enter their weight in pounds
if (Int32.TryParse(Console.ReadLine(), out weight))
Convert.ToDecimal(weight);
if (weight >= 999) // Print an error message if the user's input is more than 999 lbs
Console.Write("\n weight should be less than 999 pounds, please exit the application");
if (weight <= 0.5) // Print an error message if the user's input is less than 0.5 lbs
Console.Write("\n weight should be greater than 0.5, \n if you did not enter a number, please enter a number next time:\n");
/* Processing */
bmi = Math.Round(weight/Math.Pow(height, 2) * factorBMI, 1); // Calculates the user's BMI based on their height and weight input
/* Output */
Console.WriteLine("************************************************************************************************************************");
Console.WriteLine("\n the BMI for a " + height + "\" tall person who weighs: " + weight + "lb. is " + bmi); // Print user's height, weight and calculated BMI
if (bmi < 16) // If BMI is less than 16 then print the message
Console.WriteLine("\n base on your BMI you are severly underweight");
else if (bmi <= 18) // If BMI is less than 18 then print the message
Console.WriteLine("\n base on your BMI you are underweight");
else if (bmi <= 25) // If BMI is less than 25 then print the message
Console.WriteLine("\n base on your BMI you are healthy");
else if (bmi <= 30) // If BMI is less than 30 then print the message
Console.WriteLine("\n base on your BMI you are overweight");
else if (bmi > 30) // If BMI is more than 30 then print the message
Console.WriteLine("\n base on your BMI you are obese");
/* Exit */
Console.WriteLine("\n\n Thanks for using our program, you may now exit this program by presing any key:");// Print message telling the user to press any keys to exit application
Console.ReadKey();
Poste bitte deinen Code. – A3006
Wenn der Benutzer zum Beenden nur "beliebige Taste" drücken muss, wie können sie der Konsole ungültige Eingaben geben? Kopieren Sie und fügen Sie Ihren Code direkt in die Frage ein. Skizzieren Sie, was Sie zu tun versuchen, was das unerwünschte Verhalten ist und was Sie bisher versucht haben. – Lodestone6
Willkommen bei Stack Overflow! Bitte sehen Sie [fragen] und [mcve]. – Mat