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

C/C++ Q/A
[33] Re:매직스퀘어 다했는데 텍스트파일로 출력하는 방법~글구
박지훈.임프 [cbuilder] 3497 읽음    2001-11-24 03:02
초보라고 하셨는데.. 작성하신 코드가 훌륭하군요. 짝짝짝~~
그럼 약간의 힌트만 드리면 되겠습니다.

화면으로 출력하고 있는 것을 파일로 출력하려면,
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 매직스퀘어 다했는데 텍스트파일로 출력하는 방법~글구 황정옥 2902 2001/11/24
33     Re:매직스퀘어 다했는데 텍스트파일로 출력하는 방법~글구 박지훈.임프 3497 2001/11/24
35         Re:Re:매직스퀘어 다했는데 텍스트파일로 출력하는 방법~글구 태즈 3408 2001/11/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.