Krok 1 - založení aplikace
Vytvořte nový projekt typu
Windows Forms Application a pojmenujte ho Kalkulacka.
Krok 2 - uživatelské rozhraní aplikace
Vytvořte grafické uživatelské prostředí obsahující textové pole a tlačítka. Inspirujte se kalkulačkou ve Windows. Použijte pro tlačítka ovládací prvky
Button a pro display ovládací prvek
TextBox. Tento texbox pojmenujte
display (vlastnost Name tlačítka)
. Vlastnost
TextAlign displaye nastavte na hodnotu
Right.
Krok 3 - deklarace proměnných
Nadeklarujte potřebné proměnné.Proměnné budou atributy třídy, nebudou deklarovány uvnitř žádné metody jako lokální proměnné metody, protože je chceme využít v různých metodách . Jejich inicializaci (počáteční přiřazení) můžeme provést například v konstruktoru formuláře.
public ref class Form1 : public System::Windows::Forms::Form
{
private:
double operand1;
double operand2;
char znamenko;
bool novy;
public:
Form1(void)
{
InitializeComponent();
operand1 = 0; //reálné číslo 1. operand
operand2 = 0; //reálné číslo 2. operand
znamenko = '?';//znak operátoru - nějaký znak mimo +-*/=
novy = true;
}
...další kód
Krok 4 - zadávání čísel na display
Naprogramujte metodu CisliceKlik, která umožní zadávat číslice na display. Tuto metodu přidejte všem tlačítkům s číslicí (tlačítka 0 až 9).
private: System::Void CisliceKlik(System::Object^ sender, System::EventArgs^ e)
{
System::Windows::Forms::Button^ tlacitko
= (System::Windows::Forms::Button^)sender;
if (!novy) //!novy provede totéž jako novy==false
display->Text += tlacitko->Text;
else
{
novy = false;
display->Text = tlacitko->Text;
}
}
Krok 5 - aritmetické operace
Naprogramujte metodu OperaceKlik, která bude obsahovat výpočet. Tuto metodu přidejte pěti tlačítkům ( + - * / = )
private: System::Void OperaceKlik(System::Object^ sender, System::EventArgs^ e)
{
System::Windows::Forms::Button^ tlacitko
=(System::Windows::Forms::Button^)sender;
operand2 = double::Parse(display->Text);
novy = true;
switch (znamenko)
{
case '+': operand2 = operand1 + operand2; break;
case '-': operand2 = operand1 - operand2; break;
case '*': operand2 = operand1 * operand2; break;
case '/': operand2 = operand1 / operand2; break;
}
operand1 = operand2;
display->Text = operand2.ToString();
znamenko = tlacitko->Text[0];
}
Samostatná práce
- Desetinná čárka
tomuto tlačítku přidejte metodu CisliceKlik. Při stisku na tuto klávesu je třeba tlačítko znepřístupnit a naopak při zadávání nového čísla povolit
(vlastnost tlačítka Enabled)
- Tlačítka +/-, sqrt, 1/x
obsah displaye uložte do pomocné proměnné, proveďte příslušnou operaci a výpočtenou hodnotu vložte na display
odmocninu můžete vypočítat pomocí funkce Pow nebo Sqrt
Math::Pow(hodnota,0.5);
Math::Sqrt(hodnota)
- Tlačítka pro práci s pamětí: MS M+ MR MC
- Tlačítka Zpět CE C