프로그래밍

c언어 고수님덜 함수 질문 있습니다.

윤년인 년도만 쭈루룩 나오는 프로그램을 작성하는건데

 

int leap_year(int year) // 1번
{
 do
 {
  int start, end;
  printf("시작 년도 : ");
  scanf("%d", &start);
  printf("끝 년도 : ");
  scanf("%d", &end);
  if (start == 0 && end == 0)
   return 0;

  for (year = start; year <= end; year++)
  {
   if (year % 400 == 0)
    printf("%d\n", year);
   else if (year % 100 != 0)
   {
    if (year % 4 == 0)
     printf("%d\n", year);
   }

  }
 } while (1);

 return year;
}

int main(void)
{
 leap_year(0);
}

 

이런식으로 하긴 해서 제대로 나오긴 하는데

함수문을 쓴 의미가 없는 것 같음

 

int main(void) 문장에 다 지우고 그냥 저걸 적는거나 다름이 없어서;

내가 잘못한 것 같은 느낌이 팍팍뜸

어떤식으로 해야 아 이건 함수문을 썼다고 느낄 수 있음?

18개의 댓글

2019.05.22
[삭제 되었습니다]
2019.05.22
@댕떼닥추

그..위에 leap_year쓰고 밑에 main 함수 냅두면

main함수에서 변수 입력받으면

leap_year은 위에 위치 해 있으니까 초기화 되지 않은 지역변수라고 나옴

0
2019.05.22
@겨털
[삭제 되었습니다]
2019.05.23
@댕떼닥추

do while은 무한루프 돌리고 0 0 넣으면 종료하려구 넣었는뎅

0
2019.05.22
@겨털
[삭제 되었습니다]
2019.05.23
@댕떼닥추

그거 값을 정의하지 않았다는 말 아냐?.?

0
2019.05.22

함수 하나당 기능 하나 라고 생각하면 됨. 그래서 이렇게 단순한 기능을 구현하는 프로그래밍에서는 함수가 무의미함. 좀 더 복합적인 기능을 하는 프로그램 구현에 도전해보렴.

0
2019.05.22
@모쏠탈출

배우는 입장이라서... 이것도 하고 넘어가야 해..

0
2019.05.22
@겨털

그러면 이렇게 단계를 나눠봐. Input - Function - Output. 현재 단계에서는 Input에 대한 건 main에서 처리해주고 해당 Input들을 함수로 넘겨서 Output을 내는 거지.

0
2019.05.22

main은 무조건 while(1)입니다.

0
2019.05.22
@노농

무슨 소리 인지..??

0
2019.05.22
@겨털

지금은 배우는 단계니까 한번만 하면 되는데 프로그램이 한번만 시작하고 끝나는게 아니자나?

 

그러니 초기화 하고 그 뒤 동작은 while(1)로 무한루프 돌리는거지

0
2019.05.22
@겨털

그리고 지금 저거도 main에서 start, end를 scanf로 받고 함수에 start와 end를 argu로 던져도 되잖아?

 

굳이 year를 input으로 받을 필욘 없지

0
2019.05.22

int start, end;

printf("시작 년도 : ");

scanf("%d", &start);

printf("끝 년도 : ");

scanf("%d", &end);

를 메인으로 빼서 작성하면 됨

0
2019.05.23
@Tbps

요거 해봤는데 메인이 밑에줄에 와서 그런가

함수쪽에서 에러남

 

0
2019.05.23
@겨털

설마 진짜 고대로 옮기기만 한건 아니지??

 

입력받게할 변수을 전역변수로 하거나

 

입력받게할 변수를 전부 함수의 매개변수로 등록시켜야하는데

0

함수 쪼갤라면 인풋 계산 프린트를 다 함수로 하면되지

0
2019.05.23

함수에 넣는 인자에 대해서 제대로 이해하지 못한거같은데

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180521 [잡담] 왜 웹 발전은 거꾸로 가는가 1 노보케인 0 2 시간 전 93
180520 [컴퓨터] 이 정도면 이륙 가능함? 2 Cat드립미어캣 0 2 시간 전 33
180519 [컴퓨터] 씨퓨 온도상승으로 인한 쿨러작동 관련하여 질문드려용 ㅠㅠ 7 납븐연 0 3 시간 전 61
180518 [모바일] 뉴진스 혜린이 배경화면 Benetton 0 4 시간 전 129
180517 [모바일] 𝙄𝙑𝙀 배경화면 Benetton 0 4 시간 전 109
180516 [잡담] 개드립에올라왔던 새로운마우스 괴기 0 5 시간 전 109
180515 [컴퓨터] 외장 하드 추천좀 3 ㄴㅇㄹ 0 6 시간 전 62
180514 [프로그래밍] 의사는 뽑는 인원 제한하는데 부캠은 왜 제한 안 할까 5 조강현 0 6 시간 전 179
180513 [잡담] 제품좀 찾아줄 수 있음? 1 SNRB 0 6 시간 전 64
180512 [컴퓨터] 듀얼모니터 쓰는데 3 아잠시만내손으로... 0 7 시간 전 92
180511 [컴퓨터] 엠프리스 무접점 쓰다가 이번에 우연히 8bitdo 구매해서 쓰는데 울려대는사이렌 0 7 시간 전 88
180510 [컴퓨터] 아이맥 프로는 소리소문없이 사라졌네 chopin19 0 7 시간 전 86
180509 [컴퓨터] LTSC 쓰면 안됨? 3 가스가면스 0 7 시간 전 69
180508 [컴퓨터] 바브삼 개좋네 2 취업했다 0 9 시간 전 107
180507 [컴퓨터] 간만에 친구컴 조립 3 홍치 0 11 시간 전 164
180506 [컴퓨터] 유튜브 자동재생이 작동을 하지 않습니다. 3 프바이 0 12 시간 전 67
180505 [컴퓨터] 공유기 질문좀 5 그레이트닭 0 13 시간 전 87
180504 [모바일] 갤럭시 미세 팁) 알림 숫자에 조금이라도 덜 신경쓰고 싶을 때 최수연 0 13 시간 전 164
180503 [잡담] 이어폰연결하면 스피커로 잡히는현상 질문점용 6 Untitle 0 13 시간 전 58
180502 [컴퓨터] 수제 슬픈개구리, 빤쮸토끼 키보드 키캡 1 마두라지 1 14 시간 전 129