Ich habe ein ziemlich einfaches Programm geschrieben, das ein Menü von Auswahlmöglichkeiten anzeigt und Berechnungen auf der Grundlage der Benutzereingabe durchführt. Ich möchte, dass sich das Programm so verhält, dass es den Benutzer fragt, ob er mit dem Menü fortfahren oder das Programm beenden möchte. Ich denke, dass es eine Schleife von irgendeiner Art erfordern könnte, aber ich bin unsicher, wie man es umsetzt.Wie kann der Benutzer wählen, ob das Programm fortsetzen oder beenden (C#)
Hier ist mein Code
using System;
namespace WarmUpCalculations
{
class Program
{
static void Main(string[] args)
{
Console.Clear();
Console.WriteLine("Welcome to the Chemistry Formula Calculator!\n\n\n");
Console.WriteLine("Press 1 for the Density Calculator");
Console.WriteLine("Press 2 for the Moles Calculator");
Console.WriteLine("Press 3 for the Energy of a Wave Calculator");
Console.WriteLine("Press 4 for the Ideal Gas Law Calculator\n\n");
Console.WriteLine("Please enter a Number from the Options above");
string choice = Console.ReadLine();
switch (choice)
{
case "1":
DensityCalculator();
break;
case "2":
MolesCalculator();
break;
case "3":
EnergyOfWaveCalculator();
break;
case "4":
IdealGasLawCalculator();
break;
}
}
static void DensityCalculator()
{
Console.Clear();
Console.WriteLine("Density Calaculator\n\n");
Console.WriteLine("Will this be for Grams or Kilograms?");
Console.WriteLine("Type 'g' for Grams or 'kg' for Kilograms");
string unitMass = Console.ReadLine();
Console.WriteLine("Please Enter Your Mass");
Decimal Mass = Convert.ToDecimal(Console.ReadLine());
Console.WriteLine("Enter units for Volume");
string unitVolume = Console.ReadLine();
Console.WriteLine("Please Enter Your Volume");
Decimal Volume = Convert.ToDecimal(Console.ReadLine());
Decimal Density = Mass/Volume;
Math.Round(Density, 4);
Console.Clear();
Console.WriteLine("Moles Calaculator\n\n");
Console.Write("Your Density is ");
Console.Write(Density);
Console.Write(unitMass);
Console.Write("/");
Console.WriteLine(unitVolume);
Console.Write(" \n\n");
}
static void MolesCalculator()
{
Console.Clear();
Console.WriteLine("Moles Calaculator\n\n");
Console.WriteLine("Please enter mass of sample");
Decimal Mass = Convert.ToDecimal(Console.ReadLine());
Console.WriteLine("Please Enter Your molar mass");
Decimal MolarMass = Convert.ToDecimal(Console.ReadLine());
Decimal Moles = Mass/MolarMass;
Console.Clear();
Console.WriteLine("Moles Calaculator\n\n");
Console.Write("Your sample has ");
Console.Write(Moles);
Console.Write(" moles\n\n");
}
static void EnergyOfWaveCalculator()
{
Console.Clear();
Console.WriteLine("Energy of Wave Calaculator\n\n");
Console.WriteLine("Please enter the frequency");
double Frequency = Convert.ToDouble(Console.ReadLine());
double PlancksConstant = 6.626e-34;
double Energy = PlancksConstant * Frequency;
Console.Clear();
Console.WriteLine("Energy of Wave Calaculator\n\n");
Console.Write("The answer is ");
Console.Write(Energy);
Console.Write(" \n\n");
}
static void IdealGasLawCalculator()
{
Console.Clear();
Console.WriteLine("Ideal Gas Law Calaculator\n\n");
Console.WriteLine("Would you like to solve the following equation for Pressure or Volume? Press v for Volume or p for Pressure");
string Frequency = Console.ReadLine();
if (Frequency == "v"){
Console.Clear();
Console.WriteLine("Ideal Gas Law Calaculator\n\n");
Console.WriteLine("Please enter the pressure");
decimal Pressure = Convert.ToDecimal(Console.ReadLine());
Console.WriteLine("Please enter the the number of moles");
decimal NumberOfMoles = Convert.ToDecimal(Console.ReadLine());
Console.WriteLine("Please enter the the temperature in degrees Kelvin");
decimal TemperatureKelvin = Convert.ToDecimal(Console.ReadLine());
decimal GasLawConstant = Convert.ToDecimal(8.314);
decimal IdealGasLaw = NumberOfMoles * GasLawConstant * TemperatureKelvin/Pressure;
Console.Clear();
Console.WriteLine("Energy of Wave Calaculator\n\n");
Console.Write("Your answer is ");
Console.Write(IdealGasLaw);
Console.Write(" \n\n");
}
else
{
Console.Clear();
Console.WriteLine("Ideal Gas Law Calaculator\n\n");
Console.WriteLine("Please enter the volume");
decimal Volume = Convert.ToDecimal(Console.ReadLine());
Console.WriteLine("Please enter the the number of moles");
decimal NumberOfMoles = Convert.ToDecimal(Console.ReadLine());
Console.WriteLine("Please enter the the temperature in degrees Kelvin");
decimal TemperatureKelvin = Convert.ToDecimal(Console.ReadLine());
decimal GasLawConstant = Convert.ToDecimal(8.314);
decimal IdealGasLaw = NumberOfMoles * GasLawConstant * TemperatureKelvin/Volume;
Console.Clear();
Console.WriteLine("Energy of Wave Calaculator\n\n");
Console.Write("Your answer is ");
Console.Write(IdealGasLaw);
Console.Write(" \n\n");
}
}
}
}
wo wollen Sie die Benutzer die Wahl haben? –
Das ist eine gute Frage Mikael, ich weiß nicht genau wo. I sie beenden ihre Berechnung von ihrer ersten Wahl, ich möchte, dass das Programm fragt, ob sie zum Menü zurückkehren möchten – Justin
Ok, ich denke, das beste wäre, eine neue Methode für das Berechnungsmenü zu machen, und es direkt von der auszuführen main-Methode, und verwenden Sie einen Aufruf dieser Methode als eine Auswahl am Ende der Berechnungen. Überprüfen Sie die Antwort –