Gå til innhold

C#: Forslag til øvingsprogrammer/oppgaver


Anbefalte innlegg

Jeg har et forslag som bygger på det MailMan13 sa:

Func<Decimal, Decimal, Decimal> current_op;
Decimal accumulator;

private string Number;

public Program()
{
 InitializeComponent();
 plusop.Tag = (Func<Decimal, Decimal, Decimal>)(a, b) => a + b;
 minusop.Tag = (Func<Decimal, Decimal, Decimal>)(a, b) => a - b;
 mulop.Tag = (Func<Decimal, Decimal, Decimal>)(a, b) => a * b;
 divop.Tag = (Func<Decimal, Decimal, Decimal>)(a, b) => a / b;
}

private void Number_Click(object sender, EventArgs e)
{
 Number.Text = (sender as Control).Text + Number.Text;
}

private void Operator_Click(object sender, EventArgs e)
{
 Decimal val;
 if(Decimal.TryParse(Number, out val))
 {
   if(current_op != null)
   {
     accumulator = current_op(accumulator, val);
   }
   current_op = (sender as Control).Tag as Func<Decimal, Decimal, Decimal>;
   Number = ""; 
 }
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...