C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[76142] 소스코드 질문 있습니다.
개발배우는중 [] 1068 읽음    2021-07-29 10:12

아래 소스코드에서 계산할때 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;
}
//---------------------------------------------------------------------------

+ -

관련 글 리스트
76142 소스코드 질문 있습니다. 개발배우는중 1068 2021/07/29
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.