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

C/C++ Q/A
[35] Re:Re:매직스퀘어 다했는데 텍스트파일로 출력하는 방법~글구
태즈 [taz1000] 3407 읽음    2001-11-25 02:35
회사에... 학교에.. 수고하십니다... 짝짝..

직접적으로 이 문제에 도움이 되는 글은 아님을 미리 말씀 드리며..

일단 급한 불을 끄시고 나시면... '디버깅' 하는 법을 약간 공부해보세요.
사용하시는 툴에 따라 약간씩 다르긴 하겠지만, 기본적인 방법은 비슷하니..

프로그래밍이 복잡해질수록, 점점 디버깅의 중요성은 커집니다. 어디서
문제가 생기는지, 예외상황이 발생하는지 등을 정확하게 알아야 제대로 된
프로그램을 짤 수가 있게 되거든요.

어떤 프로그래밍 툴을 쓰시는지는 잘 모르겠지만, 메뉴에 보면 'compile'
'make' 등등의 메뉴가 있고, 잘 찾아보면 'debug | step into' 'step out'
'step over' 등과 비스무리한 것들이 좀 있을 겁니다. 가장 기본적인
디버깅 메뉴인데, step into, out같은 것은 이문제에는 해당사항이 없으니
일단 넘어가고 'step over'를 사용해보세요. 메뉴옆에 보면 해당하는
단축키가 있으니 그것을 쓰시는게 편리하실거고요.

이게 뭘 하는것인가 하면.. 프로그램을 한줄씩 한줄씩 진행해 나가는 겁니다.
직접 보시면 금방 아시게 될겁니다. 한번 누를때마다 한줄씩 진행하죠.

그래놓고는, 값을 알고 싶은 변수명위에 마우스 커서를 올려가면
그 변수의 값을 볼 수가 있으실 겁니다. 이렇게 하면 과연 원하는대로
프로그램이 진행하는지를 간단하게 확인을 할 수 있죠.

사실 말로 적으면 좀.. 설명이 어려운데. 직접 보시면 간단합니다.

수업이 끝난후 교수님을 따라가서 직접 물어보시는 등 아는 사람을 찾아서
배우는것도 좋습니다...

대학이라는 곳. 활동적인 사람에게 모든것이 돌아옵니다. 모르는거 있으면
열~~심히 물어보고.

정말 '1회성 과목'이 아니라면 숙제를 제출하는 것도 중요하지만, '제대로'
아는 것이 정말 중요합니다. 학교다니고 이럴때에는 그런게 차이가
별로 없어 보이지만, 나중에 정말 심각하게 이야기를 해보면 이 사람이
'제대로' 아는지, 대강 겉만 훑어본 정도인지 쉽게 뽀록납니다. ㅎㅎ.

아참.. 그리고..
아래와 같이 질문 자~~세하게 올리시는 분... 너무 좋습니다.
""나름대로 바쁘다는 핑계""로 질문답란에 답변을 많이 하지 않는 임프님
(ㅎㅎ.. 애교입니다.... 언제 짜장면 얻어먹지.... 서울을 가야되는데..)
이 답변을 하신건, 님의 이러한 정성을 알기에...

다른 열렬초극고수님들도 비슷하시리라 생각합니다. 아무리 간단하고
초보적인 질문이라도, 그 글에서 '하고자 하는 의지'가 느껴지면
어떻게 해서라도 도와주고 싶어지는게.....

즐거운 프로그래밍 하시고요..
하시다가 또 막히는 것 있으면 올리세요..

수고 !!!.


박지훈.임프 님이 쓰신 글 :
: 초보라고 하셨는데.. 작성하신 코드가 훌륭하군요. 짝짝짝~~
: 그럼 약간의 힌트만 드리면 되겠습니다.
:
: 화면으로 출력하고 있는 것을 파일로 출력하려면,
: 1. 먼저 fopen() 함수로 파일스트림을 생성합니다.
: 2. 생성된 파일스트림을 인자로 넘기면서 fprintf()를 호출합니다.
: 3. fclose()로 파일스트림을 닫습니다.
:
: 볼랜드 C++을 쓰신다고 하셨으니, 각각의 함수에 대해서는 볼랜드 C++에서 함수 이름 쓰고 F1만 치면
: 아주 친절하고 자세한 헬프가 나오니 참고하세요.
:
: 그럼...
:
:
: 황정옥 님이 쓰신 글 :
: : 리포트인데 마감일이 지났는데두 아직두 못내구 있네여.
: : 제실력으로는...ㅠ.ㅠ 혼자 해볼려구 했는데 안되네여 도와주세요...
: : 볼렌드 c++로 수업하거든여 매직 스퀘어인데..
: : #include<stdio.h>
: :  
: :   #define MaxSize 77               //최대 스퀘어 크기 지정
: :   int square[MaxSize][MaxSize];
: :   void main()
: :   {
: :
: :     int n,k,l,j,key;          //변수 지정
: :
: :                 //아래코드는 신상정보 표시
: :     printf("____________________________________________________________________________\n");
: :     printf("\n                                 자료구조\n");
: :     printf("                                         동의공업대학 인터넷정보과\n");
: :     printf("                                                     200153319 황정옥”);
: :     printf("\n___________________________________________________________________________\n");
: :     printf("매직 스퀘어 크기 입력 [01-77] : ");
: :     scanf("%d",&n);
: :
: :     if ((n>(MaxSize))||(n<1)) {        //범위가 넘었을때 메세지
: :         printf("\n[도우미] : 범위가 넘었습니다.\n");
: :         printf("           범위는 1에서 77까지입니다.\n");
: :         }
: :
: :     else if (!(n%2)) {                 //짝수일때 메세지
: :         printf("\n[도우미] : 짝수입니다. \n");
: :         printf("           짝수는 매직스퀘어 형식에 안 맞아요.\n" );
: :         }
: :     else {
: :
: :         for (int i=0;i< n;i++)             //변수 i 초기화
: :                 for(int j=0;j< n;j++)
: :             square[i][j]=0;
: :     square[0][(n-1)/2]=1;   //맨처음위치. 즉 맨위가운데 시작위치.
: :
: :     key=2;
: :     i=0;
: :     j=(n-1)/2;
: :     while(key<=n*n){
: :                 if (i-1< 0) k=n-1;else k=i-1;    //현 위치에서 왼쪽위로 옮김
: :                 if (j-1< 0) l=n-1;else l=j-1;
: :         if (square[k][l]) i=(i+1)%n;   //만일 왼쪽위에 값이 있으면 아래로 옮김
: :         else {
: :             i=k;
: :             j=l;
: :         }
: :         square[i][j]=key;      //실제로 대입될 수
: :         key++;
: :         }
: :
: :     printf("\n매직 스퀘어 결과 출력   \n\n");   //출력화면
: :         for (i=0;i< n;i++){
: :                 for (j=0;j< n;j++)
: :             if (square[i][j] < 10) printf("  %d  ",square[i][j]);  //화면맞추기위해
: :             else if (square[i][j] < 100) printf(" %d  ",square[i][j]);  //화면맞추기위해
: :             else printf("%d  ",square[i][j]);
: :
: :             if (!(j%n)) printf("\n");
: :
: :
: :     }
: :      }
: :    printf("\n아무키를 누르시면 끝나요.");
: :  
: :   }
: :
: : 이까지했는데 이걸 파일로 출력하려면 fprintf 이걸 쓰라구 하던데, 아직 그건안배웠거든여  그리고 지금 소스는 결과값이 합계가 안나와요! 이렇게 나와야 하는데..
: : 3x3의 경우
: :                      합
: :          값1 값2 값3 합
: :          값4 값5 값6 합
: :          값7 값8 값9 합
: :          합  합  합  합     이런식으로 나와야 하거든여 그럼 어케 고쳐야하나여? 이시간까지 눈빠져라 이러구 있습니다.. 낮에는 회사서 일하고, 밤에는 학교가고 ~ 무자게 힘드네여...아직 씨에는 무지 초보라서 잘아시는분들 갈켜주세여~
: : 제발 ㅠ.ㅠ
: :

+ -

관련 글 리스트
32 매직스퀘어 다했는데 텍스트파일로 출력하는 방법~글구 황정옥 2901 2001/11/24
33     Re:매직스퀘어 다했는데 텍스트파일로 출력하는 방법~글구 박지훈.임프 3497 2001/11/24
35         Re:Re:매직스퀘어 다했는데 텍스트파일로 출력하는 방법~글구 태즈 3407 2001/11/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.