감사합니다. 도움이 많이 됐어요
앞으로 더욱 정진하겠습니닷.
박영목.월천 님이 쓰신 글 :
: 저도 잘 모르는 데... 소스도 올리시고 해서 함 보았습니다.
: 그냥 제가 아는 수준에서 약간 수정해 보았습니다. 참고하세요...
:
:
:
: Unit.h
: :
: :
: private: // User declarations
: double A,B,f; //이런 변수들은 왠만하면 Unit.h 파일 안에 private에 넣어 주세요...
: int i, c;
: AnsiString temp;
:
: //---------------------------------------------------------
:
: Unit.cpp
: :
: :
: :
:
: //double A=0,B=0,f=2; //이런 변수들은 왠만하면 Unit.h 파일 안에 private에 넣어 주세요...
: //int i, c=0;
: //AnsiString temp ;
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.dfm"
: TCalculator *Calculator;
: //---------------------------------------------------------------------------
: __fastcall TCalculator::TCalculator(TComponent* Owner)
: : TForm(Owner)
: {
: A = 0.0; //그리고 변수도 이렇게 하면 자신도 못 알아보니 double이면 dA, fA, iA 이런 식으로 하면 좋지요
: B = 0.0; //그리고 dA 이렇게 하면 double A라는 것은 아는 데... 프로그램 한참 하다보면 A가 뭔가? 그러니 dSum, dTotal
: f = 2.0; //뭐 이런씩으로 하면 프로그램이 쉬겠지요... ^^ 저도 프로그램 잘 못하는 데... 잘 하시는 것 같습니다.
: i = 0; //3년 정도 하시면 저보다 훨씬 잘 할 것 같습니다. 하이팅...
: c = 0; //현재 대학 교수님도 님같이 코딩하는 분이 많다는 사실 놀랍지요.
: //다른 것은 그대로 두고 자승 부분만 약간 손을 보았습니다. 제가 아는 수준에서... 혹 도움이 되었으면 합니다.
: temp = ""; //이런 것은 asTemp 이렇게 하면 쉽지요...
: } //그리고 줄 라인 깨끗하게... 코딩하셔야... 헷갈리지 않습니다.
: //void __fastcall TCalculator::selfClick(TObject *Sender) 이 부분만 참고하시고 다른 것은 하나 하나 해보세요.
: //프로그램은 중독성이 있습니다. 저도 중독자입니다. ㅋㅋㅋ
: //---------------------------------------------------------------------------
: :
: :
: :
: :
:
: //double *d = new double;
: //delete d 혹 이런 것이 사용하고자 하더라도 double d; 사용하세요 &d는 double *d 이것과 같으니까요? ^^
: //그래도 double 를 여러개 확보할 떄는 double *d = new double[100]; 이런 식으로 하고 해제할 때는 delete []d; 하시면 됩니다.
:
: //자승은 금방 예외가 발생하니 Debug모드에서 하지 마시고 Build하고 탐색기에서 실행하세요...
:
: void __fastcall TCalculator::selfClick(TObject *Sender)
: {
: double C;
:
: if(view->Text=="")
: {
: ShowMessage("Input Number!");
: return;
: }
: //----------------------------------------------------------------------------
:
: A=StrToFloat(view->Text);
:
: if( iText);
:
: view->Clear();
:
: try
: {
: C = A*A;
: view->Text = C;
: }
: catch(...)
: {
: view->Text = A;
: }
: }
:
: }
: //---------------------------------------------------------------------------
:
:
:
:
: 止水 님이 쓰신 글 :
: : 이거 뭐 어떻게 글을 올려야 하는지가 더욱 문제군요;;;
: :
: : 간단한 계산기를 만들고 추가로 자승기? 를 만드는 도중
: :
: : 버튼 클릭 수 만큼 자승(제곱)을 시키고 싶은데.
: :
: : 2제곱 까지는 문제 없습니다.
: :
: : 단지 3제곱부터 요상한 출력이...
: :
: : 뭐가 잘못됐는지 모르겠네요 ㅠ
: :
: : .......공부좀 할라고 하면 여기저기서 태클이니...ㅋㅋㅋㅋ
: :
: : ......코드 올립니다.
: :
: : #include
: : #pragma hdrstop
: :
: : #include "Unit1.h"
: : double A=0,B=0,i=0;
: : AnsiString temp ;
: : //---------------------------------------------------------------------------
: : void __fastcall TCalculator::selfClick(TObject *Sender)
: : {
: : double C, j, z;
: : double *d = new double;
: : if(view->Text==""){
: : ShowMessage("Input Number!");
: : }else if(i!=1){
: : A=StrToFloat(view->Text);
: : i=1;
: : view->Clear();
: : C=A*A;
: : view->Text = C;
: : }else{
: : view->Clear();
: : for(j=0;jText = z;
: : i++;
: : }
: : delete d;
: : }
: :
: :
: : 다른것보다 메모리 동적할당을 해서 한번 잡고 놓는게 말이 되는 듯 해서 질러봤는데
: :
: : .....영 모르겠습니다.
: :
: : 이거 전에 했던 방법은
: :
: : 숫자를 바꿔서 자승시켜도 전에 계산되었던게 나와서 ㅈㅈ....
: :
: : 이것도 지금 보니까 말이 안되는군요 i != 1 이라면서 밑에 i++....
: :
: : 누가 대책좀 세워줘요!
: :
: : 참 첨부파일은 이 이후에 수정좀 하다가 땔친 상태입니다.
: :
: :
: : ....이거 코드가 이상하게 올라가네요?
: :
: : .....첨부파일 참조 해 주시길 바랍니다...orz