close

LABORATORY

검색 :
  • 블로그
  • 커버
  • 위치별 글
  • 태그 구름
  • 방명록
  • 관리자
  • 글쓰기
RSS 구독 : 글 / 댓글 / 트랙백 / 글+트랙백

교양 C언어 프로그래밍 과제..

LABORATORY
Studys/Computer
2009/05/21 11:58, 글쓴이 Prime's
 
 
 
 



교양수업인 컴퓨터 프로그래밍의 과제입니다..^^;;
마름모.. 정말 힘들었어요.. 그래서.. 마름모.. 다른거 참고하면서 했습니다.

===============
숙제 : 마름모를 찍어내야합니다.
조건 : 음수입력시, 짝수입력시, 출력하는 오류메시지를 따로 구성하세요..
===============

강평 1 : 비주얼 스튜디오 6.0 왜 자꾸 컴파일할때 죽을까요??_-;; 진짜로 죽여주길 바라는걸까요??
          이래서 리눅스에서 컴파일 하는걸 좋아합니다..
강평 2 : 만약, 한두번 에러검사후 음수를 넣어버리면 안되니까.. 제대로 된 수를 넣을때까지 계속 에러를 내뱉으라고 while문으로 돌렸습니다.. 착하죠?
강평 3 : 주석과 가독성이 중요하다고 합니다.. 그래서 주석처리도 좀 했구요..
강평 4 : 사용자 정의 함수에 (int n)처럼 넣으려니까 안되네요.. type이 먼저 지정되어 있다나.. 사실, 정수로 받은 n을 다시 정수 n으로 넣는것이잖아요?? 그래서 그냥 n을 입력했더니 잘 됩니다.^^;; 소스가 어떻건 간에. 프로그램이 제대로 돌아가기면 하면 되는것이니까요..
강평 5 : 여름방학때 C언어를 집중적으로 배워볼려구요.. 저의 꿈은, 수학계산프로그램을 만드는 겁니다. 제일 먼저 determinant를 구하는  것을 만들고 싶네요.. n by n과, n by m 두가지 경우가 있으니.. 복잡하겠군요..^^


====================================================

#include <stdio.h>
#include <math.h>
//마름모 찍기
//
//3이상의 수를 입력받아야 함.
//////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////

//----------------------------------------------------------------------별찍기 함수 시작.

int rhombus(int n)
{
 int i, j, tmp;
 tmp = n / 2;//높이 나누기 2값을 저장

 for(i=0; i<n; i++) //---------------------------전체 높이만큼 실행
  {
         for(j=0; j<n; j++)//-----------------각 줄마다 실행.
                {
                        if(j >= abs(tmp - i) && j < n - abs(tmp -i))
      {//--------------------------별표찍기 검산.
       //한 줄에서, 별표는, (전체줄수-1)/2의 값에 해당 줄 수를 뺀 값보다 큰곳, 전체줄수에서 (전체줄수-1)/2를 뺀 곳에 찍힌다.
       //위에서, n = 5이고, i = 0이라면, 첫번째 줄에서 별을 찍는것이며,
       //첫번째줄에서는 별이 제일 가운데 한개 찍혀야만 한다.
       //(5-1)/2 = 2이고, 별은 2보다 크거나 같거나, 5 - 2 = 3번째보다 작은곳에 찍힌다. 별은 2번째 줄에 찍히는데,
       //처음 시작을 0부터 했으므로, 별은 2 + 1인 3번째에 찍힌다.
       printf("*");
      }
                        else//--------------------------별표가 아닌곳은 전부 공백처리
      {
       printf(" ");
      }
                }
                printf("\n");//한줄이 끝나면 다음 줄로 바꾼다.
        }

        printf("\n");//모양이 이쁘게 하기 위해..

 //printf("%d \n", n); //코딩할때 숫자 보려고 쓴것..
 //printf("%d \n", tmp);//역시나 숫자 확인용..

  return 0;
}
//----------------------------------------별찍기 함수 끝
//////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////

//----------------------------------------------------------------------메인 함수 시작.
int main()
{
 int n;
 
 printf("마름모의 높이를 입력해 주세요. 높이는 1이상의 홀수입니다. :");
 scanf("%d", &n);//n : 입력받는 수
 
 while( n <= 1 || n % 2 == 0)//전체적으로 n이 1보다 작거나 같은경우, 혹은 n이 짝수인 모든 경우에 대해서 검산
 {
  if( n <= 1)//n이 1보다 작은경우
  {
   if( n = 0)//그중 n이 0으로 입력된 경우
   {
    printf("0이 입력될 수는 없습니다. 다시 입력해 주세요. :");
    scanf("%d", n);
   }
   if( n < 0)//n이 음수인 경우
   {
    printf("음수를 입력하셨습니다. 양수로 다시 입력해 주세요. :");
    scanf("%d", &n);
   }
   //////위의 경우의 수를 제외한 나머지. 여기서는 n = 1인경우 하나만 존재.
   printf("마름모의 높이는 1 보다 큰 양의 홀수입니다. 다시 입력해 주세요. :");
   scanf("%d", &n);
   
  }
  if( n > 1)//n이 1보다 클 경우. n이 짝수인지만 검산하면 된다.
  {
   if( n % 2 == 0)//n이 짝수인 경우를 검산.
   {
   
     printf("짝수를 입력하셨습니다. \n");
     printf("마름모의 높이는 홀수만 가능합니다. 다시 입력해 주세요. :");
     scanf("%d", &n);
   
   }
  }
 }
/////////////////////////////////////////////검산 완료
//----------------------------------------------------------------------별찍기 함수 도입.

 rhombus(n);//rhombus는 마름모라는 뜻.. 사용자 정의 함수 도입. int n으로 하지 않은 이유는, n이 정수형으로 선언되어 있음.
 //int n으로 하면 에러가 납니다.^ ^


 
 return 0;

}
       

크리에이티브 커먼즈 라이센스
Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
Prime's
2009/05/21 11:58 2009/05/21 11:58

맨 위로

태그 : c++, C언어, 과제

피드백 : 트랙백 없음 | 댓글 없음

이 글에 대한 피드백 구독 : 트랙백+댓글 | 트랙백 | 댓글

이 글의 트랙백 주소
http://tolovemeca.net/tt/trackback/562
◀ recent | 1 | ... 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | ... 512 | previous ▶

이 블로그에 대해

logoImage
LABORATORY

LABORATORY - 최근 공지

  • 이미지 무단 링크에 대한 조치.
  • 갑자기 많으분들이 오시는것 같습니다.ㅠㅠ
  • 블로그 운영 방침.
  • 자료 펌에 대해서..
  • 플러그인 추가!

더 많은 글 읽기

최근 글

  • TREK AMERICA 여행기 : 여행에 앞서..
  • 이번에는 어제 저녁에 간 Tennessee...
  • 여기는 Lousiana주의 New Orleans입...
  • 여기는 New Orleans 근처의 어느 국...
  • 블로그가 제대로 동작하지 않습니다.
  • 미국여행 D-1
  • D-2. 여행가방을 챙기다!
  • 미국여행 D-n..

월별 글

  • 2010/02 (1)
  • 2010/01 (7)
  • 2009/12 (2)
  • 2009/11 (3)
  • 2009/09 (2)

분류별 글

전체 (512)
Diary (203)
UPdate! (53)
Personality's (150)
Personality (120)
Music (9)
Tarot (1)
Computers (64)
OS (12)
Hardwear (23)
Softwear (3)
Programming (7)
Downloads (2)
Bloging (9)
Love (43)
Studys (29)
Physics (17)
Chemical (0)
Computer (1)
Mathematics (1)
CCNA (9)
Animation (1)
Writings (26)
Poem (0)
Essay (4)
잡다한생각 (21)
Picture&Travel (14)
제2의군생활 (11)

피드백

댓글

  • 아 쪽지로 추천하면 되는군... Prime's
  • 흠. 도아님에게 쪽지로 하는... 복어군
  • 아. 죄송합니다. 회원추천은... Prime's
  • 관리자만 볼 수 있는 댓글입... 비밀방문자
  • 무엇을 어떻게 해서 자격증... pre-CCNA
  • 엠앤캐스트... 망해버렸는데... 마의검사
  • 수신카드없이 HDTV를 본다! ... 쿨티비
  • 재밌는당 이군여 montreal florist

트랙백

  • 티로긴(Tlogin) 사용기 - KTX 열차를 타...
    Bluesky
  • 즐겁고 풍요한 한가위 되시기 바랍니다.
    도아의 세상사는 이야기
  • 참 대단한 신종 레퍼러 스팸
    도아의 세상사는 이야기
  • 텍스트큐브,태터툴즈 리퍼러 스팸 관련 ...
    텍스트큐브 공지사항

Copyright © by Prime's

Textcube 1.8.2 : Secondary dominant | mindFULL.design | 총 304390명 방문(오늘 125명, 어제 95명)