아래 소스코드에서 계산할때 3.0 + 4.0 = 7.0과 같은 식으로 나오게 어떤식으로 코딩을 해야될까요?
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <math.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
:TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button14Click(TObject *Sender)
{
num = ((TButton *)Sender) -> Tag;
if(Edit1 -> Text == "0")
{
Edit1 -> Text = "";
}
if(n == true)
{
Edit1 -> Text = "";
n=true; // = 눌렀을때 값 계속 받지 않기 위함
}
if(k==true)
{
num1=false;
k=false;
}
Edit1 -> Text =Edit1->Text + num;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
n = true;
if(k==true)
{
num1=false;
k=false;
}
if(num1==false)
{
numText1=Edit1 -> Text;
Edit2 -> Text = numText1;
numData1 = numText1.ToDouble();
num1=true;
}
else
{
numText2=Edit1 -> Text;
Edit3 -> Text = numText2;
numData2 = numText2.ToDouble();
num2=true;
}
if((num1==true)&(num2==true))
{
Count(Sender);
numData1 = resultData;
}
i = ((TButton *)Sender) -> Tag;
}
void __fastcall TForm1::Count(TObject *Sender)
{
switch(i)
{
case 0:
{
numText = Edit1 -> Text;
resultData = numText.ToDouble();
break;
}
case 1:
{
resultData = numData1 + numData2;
break;
}
case 2:
{
resultData = numData1 - numData2;
break;
}
case 3:
{
resultData = numData1 * numData2;
break;
}
case 4:
{
resultData = numData1 / numData2;
break;
}
}
numText3 = resultData;
Edit1 -> Text = numText3;
}
//-------------------------------------------------------------------------
void __fastcall TForm1::Button40Click(TObject *Sender)
{
if((num1 == true)&(n==false))
{
numText1=Edit1 -> Text;
Edit2 -> Text = numText1;
numData1 = numText1.ToDouble();
num1=true;
}
if(n==true)
{
numText2=Edit1 -> Text;
Edit3 -> Text = numText2;
numData2 = numText2.ToDouble();
num2=true; // 2번째 입력수에 대한 bool 자료형
}
Count(Sender);
numData1 = resultData;
n=true;
k=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Edit1 -> Text = "0";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
num1 = false; // 1번째 입력수에 대한 bool 자료형
num2 = false; // 2번째 입력수에 대한 bool 자료형
n = false;
k = false;
numData1=0;
numData2=0;
numText1=0;
numText2=0;
numText3=0;
resultData=0;
i=0;
num=0;
Edit1 -> Text = "0" ;
Edit2 -> Text = "0" ;
Edit3 -> Text = "0" ;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button7Click(TObject *Sender)
{
//백스페이스
if(Edit1->Text.IsEmpty()) return;
WideString wsValue = Edit1->Text;
wsValue.Delete(wsValue.Length(),1);
Edit1->Text = wsValue;
}
//---------------------------------------------------------------------------
|