hjælp til en C# begynder med lommeregner

Tags:    c#

Hej.

Jeg er fuldstændig nybegynder i programmering. Og er som mit første projekt gået igang med at lave en konsol lommeregner i C#.
Mit problem lige nu er at jeg gerne vil kunne indtaste regne stykket på en linje, modsat nu hvor jeg er nød til at indtaste det således:

1 (enter)
+ (enter)
1 (enter)
resultat

istedet vil jeg gerne kunne skrive:
1+1 (enter)
resultat.

Koden ligger her:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Addition
{
class plusogminus
{
static void Main(string[] args)
{

subrutine1();

}
static void subrutine1() {

double _1,_2;


string fortegn;

double resultat;

Console.BackgroundColor = ConsoleColor.Blue;

Console.WriteLine("indtast værdierne:");

_1 = Convert.ToDouble(Console.ReadLine());

fortegn = Console.ReadLine();

_2 = Convert.ToDouble(Console.ReadLine());

switch (fortegn)
{
case "+":
resultat = _1 + _2;
break;

case "-":
resultat = _1 - _2;
break;

case "/":
resultat = _1 / _2;
break;

case "*":
resultat = _1 * _2;
break;

default:
resultat = 0;
break;
}
Console.WriteLine(_1.ToString() + " " + fortegn.ToString() + " " + _2.ToString() + " = " + resultat.ToString());


subrutine1();

}
} }

Har ledt nettet tyndt, men kan ikke rigtig finde noget, måske fordi jeg ikke ved hvad begrebet jeg leder efter hedder :)



3 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 11 karma
Sorter efter stemmer Sorter efter dato
Problemet er at du læser en hel linje 3 gange i stedet for en linje en enkelt gang. Så du skal læse en enkelt linje og prøve at trække data ud derfra - dvs. parse inputtet.

Tag dette input "11 + 34". Man kan sige den har dette format "TAL OPERATOR TAL". Læg mærke til de er adskilt af mellemrum. Hvis vi nu opdeler tekststykket hvor der er mellemrum får vi "TAL", "OPERATOR" og "TAL". Heldigvis er der en metode på strings der kan lave sådan en opdeling kaldet Split. Så en måde at gøre det på (antager du kender til arrays):
Fold kodeboks ind/udCSharp kode 




Indlæg senest redigeret d. 15.04.2012 13:41 af Bruger #14645
For at gøre det skal du lære at parse inputtet.

Tag at kig på det her http://stackoverflow.com/questions/2859111/c-sharp-math-calculator



Tusind tak begge to :) jeg vil lige rode lidt med det :)



t