Hellu flashbackare!
Jag har skrivit lite kod, som ska försöka föreställa en lättare miniräknare. Jag har lite problem med mitt case 5 då jag inte är nöjd över syntaxen, tycker det är allt för mycket kod, men jag har försökt bryta ut till med funktioner men utan resultat.
Jag har också lite problem med IEnumerator, om jag har förstått rätt så används den för att det ska vara möjligt att foreach loopa ut object från en list?
Övrigt är alla synpunkter uppskattade, jag vet att flashbackare gillar att köra över folk! Men ärligt så är jag noob inom kodning men har lärt mig se det roliga i att försöka skriva snygg kod.
Väl mött!
Jag har skrivit lite kod, som ska försöka föreställa en lättare miniräknare. Jag har lite problem med mitt case 5 då jag inte är nöjd över syntaxen, tycker det är allt för mycket kod, men jag har försökt bryta ut till med funktioner men utan resultat.
Jag har också lite problem med IEnumerator, om jag har förstått rätt så används den för att det ska vara möjligt att foreach loopa ut object från en list?
Övrigt är alla synpunkter uppskattade, jag vet att flashbackare gillar att köra över folk! Men ärligt så är jag noob inom kodning men har lärt mig se det roliga i att försöka skriva snygg kod.
Väl mött!

Kod:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System.IO;
namespace ConsoleApplicationEASTER
{
class ClassFunctions {
public int substraktion(int tal1, int tal2)
{
int results = tal1 - tal2;
return results;
}
public int multiplikation(int tal1, int tal2)
{
int results = tal1 * tal2;
return results;
}
public int addition(int tal1, int tal2)
{
int results = tal1 + tal2;
return results;
}
public int division(int tal1, int tal2)
{
int results = tal1 / tal2;
return results;
}
}
class userActivity
{
public int inData1 { get; set; }
public int inData2 { get; set; }
}
class Program
{
static void menu(){
Console.WriteLine("1. Multiplikation" + Environment.NewLine +
"2. Additation" + Environment.NewLine + "3. Division" +
Environment.NewLine + "4. Substraktion" +
Environment.NewLine + "5. Multi list" +
Environment.NewLine + "6. Exit");
}
static string tal1() {
return "Tal 1: ";
}
static string tal2()
{
return "Tal 2: ";
}
static void Main(string[] args)
{
Console.Clear();
menu();
int selector = 0;
bool good = false;
good = int.TryParse(Console.ReadLine(), out selector);
if (good)
{
Console.Clear();
Console.WriteLine("**En simpel miniräknare**");
//Get instance
ClassFunctions callFunction = new ClassFunctions();
userActivity userInput = new userActivity();
Console.WriteLine("");
switch (selector)
{
case 1:
Console.WriteLine("Case1 - Multiplikation" +
Environment.NewLine + "Skriv in två heltal.");
Console.Write(tal1());
userInput.inData1 = Convert.ToInt32(Console.ReadLine());
Console.Write(tal2());
userInput.inData2 = Convert.ToInt32(Console.ReadLine());
Console.Write("Svar: {0} * {1} = ", userInput.inData1,userInput.inData2);
Console.WriteLine(callFunction.multiplikation(userInput.inData1,userInput.inData2));
Console.ReadLine();
Main(args);
break;
case 2:
Console.WriteLine("Case2 - Additation"+
Environment.NewLine +
"Skriv in 2 heltal");
Console.Write(tal1());
userInput.inData1 = Convert.ToInt32(Console.ReadLine());
Console.Write(tal2());
userInput.inData2 = Convert.ToInt32(Console.ReadLine());
Console.Write("Svar: {0} + {1} = ", userInput.inData1, userInput.inData2);
Console.WriteLine(callFunction.addition(userInput.inData1, userInput.inData2));
Console.ReadLine();
Main(args);
break;
case 3:
Console.WriteLine("Case3 - Division");
Console.Write(tal1());
userInput.inData1 = Convert.ToInt32(Console.ReadLine());
Console.Write(tal2());
userInput.inData2 = Convert.ToInt32(Console.ReadLine());
Console.Write("Svar: ");
Console.WriteLine(callFunction.division(userInput.inData1, userInput.inData2));
Console.ReadLine();
Main(args);
break;
case 4:
Console.WriteLine("Case4 - Substraktion");
Console.Write(tal1());
userInput.inData1 = Convert.ToInt32(Console.ReadLine());
Console.Write(tal2());
userInput.inData2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(callFunction.substraktion(userInput.inData1, userInput.inData2));
Console.ReadLine();
Main(args);
break;
case 5:
Console.WriteLine("MULTI = Addition - Substraktion, Press Q for menu.");
Console.WriteLine();
multipleIncome listIncome = new multipleIncome();
int uInt;
//Do while if readline is not null or "q"
do
{
string uInput = Console.ReadLine();
if (uInput.Contains("q") == true)
{
Main(args);
}
if (int.TryParse(uInput, out uInt))
{
listIncome.AddTal(uInt);
}
else {
Console.WriteLine("Endast siffror!");
}
int summaObject = 0;
Console.WriteLine("*******");
foreach (int obj in listIncome)
{
summaObject += obj;
Console.Write(" + {0}", obj);
}
Console.WriteLine("");
Console.WriteLine("summaObject = {0}", summaObject);
} while (uInt != null);
break;
case 6:
Console.WriteLine("Du har tryckt noll!");
Environment.Exit(0);
break;
}
}
else
{
Console.WriteLine("Wrong selection" + Environment.NewLine + "Press any key to exit");
Console.ReadKey();
}
Console.ReadKey();
}
}
//https://msdn.microsoft.com/en-us/library/dscyy5s0.aspx
// Collection of tal objects. This class
// implements IEnumerable so that it can be used
// with ForEach syntax.
class multipleIncome {
// Private members.
private List<userActivity> tal5 = new List<userActivity>();
// Public methods. //Add to list
public void AddTal(int name)
{
tal5.Add(new userActivity { inData1 = name });
}
public IEnumerator GetEnumerator()
{
foreach (userActivity theAnimal in tal5)
{
yield return theAnimal.inData1;
}
}
}
}