My calculator is looping

Det är precis vad den gör så här tidigt på morron.
Fortsätter med loopar idag också vilket för framtidens arbete kommer att ha en himla massa loopar i sig.

Det jag skall göra nu är följande:

Skriv ett program som från konsolen möjliggör input av 3 numeriska värden och en operator.
De 2 första värdena skall ex. summeras, subtraheras.. beroende på inskickad operator.
3:e värdet skall ange hur många gånger programmet skall loopa.
Ex. värde1=2 värde2=5 värde3=4 operator=+
2+5=7
2+5=7
2+5=7
2+5=7

Min kod vart följande:

Program.cs

int value1, value2, loopvalue;
string result, CalcThis;

Console.WriteLine("Vänligen ange 2 tal som du vill räkna ut.");
Console.Write("Tal 1: ");
value1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Tal 2: ");
value2 = Convert.ToInt32(Console.ReadLine());
Console.Write("Hur många gånger vill du loopa uträkningen? ");
loopvalue = Convert.ToInt32(Console.ReadLine());
Console.Write("vad för räknesätt? (+, - , * eller /) :");
CalcThis = Console.ReadLine();
result = FredrikBLL.BLL.Functions.LoopMyCalculator(value1, value2, loopvalue, CalcThis);

Console.WriteLine("Resultatet finner du nedan :");
Console.WriteLine(result);
Console.ReadLine();


Functions.cs

/// <summary>
/// Räknar ut värde 1 och 2 med hjälp av en operator och ett värde om hur många gånger programmet skall loopa.
/// </summary>
/// <param name="value1">Tal1</param>
/// <param name="value2">Tal2</param>
/// <param name="loopvalue">Ange hur många gånger programmet skall loopa</param>
/// <param name="CalcThis">Operatorn: +,-,* eller /</param>
/// <returns>Returnerar värdet från tal 1 (operator) tal 2 = svaret och loppar svaret antal gånger man anger det.</returns>
public static string LoopMyCalculator(int value1, int value2, int loopvalue, string CalcThis)
{
string result = "";
int i = 0;

while (i < loopvalue)                                   // Kontrollerar om i = antalet loopar man vill göra
{
if (CalcThis == "+")
result += value1 +  "+ " + value2 + " = " + Convert.ToString(value1 + value2) + "\n";
else if (CalcThis == "-")
result += value1 + " - " + value2 + " = " + Convert.ToString(value1 - value2) + "\n";
else if (CalcThis == "*")
result += value1 + " * " + value2 + " = " + Convert.ToString(value1 * value2) + "\n";
else if (CalcThis == "/")
result += value1 + " / " + value2 + " = " + Convert.ToString(value1 / value2) + "\n";
else
throw new ApplicationException("Fel värde");

i++;

}
return result; // returnerar resultatet.



Exempel:

Vänligen ange 2 tal som du vill räkna ut.
Tal 1: 5
Tal 2: 5
Hur många gånger vill du loopa uträkningen? 10
vad för räknesätt? (+, - , * eller /) :*

Resultatet finner du nedan :
5 * 5 = 25
5 * 5 = 25
5 * 5 = 25
5 * 5 = 25
5 * 5 = 25
5 * 5 = 25
5 * 5 = 25
5 * 5 = 25
5 * 5 = 25
5 * 5 = 25


En riktigt bra början på min dag, helt klart!

EDIT:

Insåg att jag hade ett litet fel gällande utärkningen för dividera.
Eftersom svaret inte alltid är heltal där även om input är det så blir svaret 0 om man använder den som int.
Dvs, jag måste antingen hantera alla tal som decimaler vilket jag nog inte just nu tänker göra utan görom det enbart för just dividera..

Gör en liten ändring i Functions.cs som resulterar till detta:

public static string LoopMyCalculator(int value1, int value2, int loopvalue, string CalcThis)
{
string result = "";
decimal tempresult;
int i = 0;

while (i < loopvalue)                                   // Kontrollerar om i = antalet loopar man vill göra
{
if (CalcThis == "+")
{
tempresult = value1 + value2;
result += value1 +  "+ " + value2 + " = " + Convert.ToString(tempresult) + "\n";
}

else if (CalcThis == "-")
{
tempresult = value1 - value2;
result += value1 + " - " + value2 + " = " + Convert.ToString(tempresult) + "\n";
}

else if (CalcThis == "*")
{
tempresult = value1 * value2;
result += value1 + " * " + value2 + " = " + Convert.ToString(tempresult) + "\n";
}

else if (CalcThis == "/")
{
tempresult = (decimal)value1 / (decimal)value2;
result += value1 + " / " + value2 + " = " + Convert.ToString(tempresult) + "\n";
}

else
throw new ApplicationException("Fel värde");

i++;

}
return result; // returnerar resultatet.

Kommentarer

Kommentera inlägget här:

Namn:
Kom ihåg mig?

E-postadress: (publiceras ej)

URL/Bloggadress:

Kommentar:

Trackback
RSS 2.0