Io ho fatto la stessa cosa per scuola in Delphi. Magari la mia soluzione non è elegantissima però funzionava.
Allora: ti servono 2 variabili globali, una per salvare il numero sullo schermo, l'altra per l'operatore.
Assumiamo che i numeri che tratta la calcolatrice siano double, così non hai problemi a salvare praticamente nessun numero.
Per gli operatori usiamo delle costanti numeriche. Se preferisci puoi usare anche un'enumerazione, che in effetti è più elegante, scegli te.
codice:
double primoNumero;
byte operatore;
const byte costSomma = 0;
const byte costDifferenza = 1;
const byte costDivisione = 2;
const byte costMoltiplicazione = 3;
Ora, quando l'utente o chi per lui preme il tasto di un operatore, basta fare questo
codice:
private void btnSomma_Click(...)
{
operatore = costSomma;
primoNumero = double.Parse(txtSchermo.Text);
}
E fai delle procedure analoghe per le altre operazioni.
In questo modo quando premi il tasto con un operatore il display non si cancella