C++ 프로그래밍(5부 함수)

3751 단어 cppbeginners
이 재생 그룹은 기능이라고 하는 제어 변경 메커니즘의 또 다른 흐름을 설명합니다. 함수는 호출할 수 있는 명명된 코드 블록이며 제어 흐름이 해당 코드로 이동합니다.

함수를 호출할 때 일부 데이터가 함수에 전달될 수 있고(매개변수라고 함) 함수가 완료되면 데이터 조각을 반환할 수 있습니다(반환 값이라고 함). 나는 '값에 의한' 데이터와 '참조에 의한' 데이터 전달에 대해 논의합니다. 나는 모든 변수가 메모리 또는 범위에 있는 제한된 수명을 가지고 있음을 보여줍니다.
  • Functions
  • Value returning functions
  • Functions with parameters
  • Passing parameters by reference
  • The scope of variables
  • Prime number function
  • Passing arrays to functions

  • 행동을 요구하다



    가이드 코드 연습을 검토했으므로 이제 몇 가지 프로그램을 작성해 보시기 바랍니다.

    문제 1



    문제 1은 이전 게시물에서 소수 문제를 확장하도록 요청합니다. 범위의 모든 소수를 인쇄하는 함수를 포함하는 프로그램을 작성하십시오. 프로그램은 하한과 상한을 요청하고 해당 범위의 모든 소수를 인쇄합니다.

    문제 2



    문제 2는 정수 연도를 사용하고 해당 연도가 윤년인지 여부에 관계없이 bool를 반환하는 함수를 작성하도록 요청합니다. 윤년 계산은 다음과 같습니다.
  • 4로 균등하게 나누어지는 해는 대부분 윤년입니다.
  • 1800 또는 1900과 같이 1년이 4로 나뉘고 100년이면 윤년이 아닙니다
  • .
  • 2000년이나 2400년과 같이 1세기 연도가 400으로 나누어 떨어지는 경우도 윤년입니다
  • .

    함수는 다음과 같아야 합니다.

    bool isLeapYear(int year)
    {
        //calculate if it is leap year or not and return true or false
    }
    


    문제 3



    문제 3은 1월 1일이 해당되는 날을 기준으로 1년 전체의 달력을 인쇄하는 프로그램을 작성하도록 요청합니다. 프로그램은 1월 1일이 속하는 날과 연도를 묻는 메시지를 표시합니다. 해당 연도의 12개월 전체에 대한 달력을 인쇄해야 합니다. 연도의 첫 번째 날에 대한 옵션은 일요일('sun')부터 토요일('sat')까지의 7일 각각의 처음 세 글자로 입력됩니다.

    연도는 검증할 필요가 없지만 요일은 검증해야 합니다. 'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat' 이외의 값을 입력할 수 없습니다.

    캘린더 형식은 아래 예와 매우 유사해야 합니다. 기본 기능 외에 하나 이상의 기능을 사용해야 합니다. 함수 간에 데이터를 전달하고 전역 변수를 사용하지 마십시오.

    마지막 요구 사항은 프로그램이 한 번에 한 달만 표시한 다음 계속하기 전에 일부 사용자 입력을 기다려야 한다는 것입니다.

    코딩을 시작하기 전에 이 프로그램을 해결할 계획을 세우는 것이 매우 중요합니다(모든 프로그램이 그렇듯이). 한 달의 달력이 시작되는 날짜를 기준으로 한 달의 달력을 인쇄하는 방법을 생각해 보십시오.

    샘플 출력:

    What year do you want the calendar for?
    2003
    
    What day of the week does January 1st fall on (sun for Sunday, mon for Monday, etc..)?
    s
    Invalid Entry- please enter the first three letters of the day
    
    What day of the week does January 1st fall on (sun for Sunday, mon for Monday, etc..)?
    wed
    
        January 2003
     S  M  T  W  T  F  S
    ---------------------
              1  2  3  4
     5  6  7  8  9 10 11
    12 13 14 15 16 17 18
    19 20 21 22 23 24 25
    26 27 28 29 30 31
    
    Do you want to continue? y
    
       February 2003
     S  M  T  W  T  F  S
    ---------------------
                       1
     2  3  4  5  6  7  8
     9 10 11 12 13 14 15
    16 17 18 19 20 21 22
    23 24 25 26 27 28
    
    Do you want to continue? y
    ...
    ...
    


    의견 및 피드백



    이 모든 코드 재생은 내 무료 '책'An Animated Introduction to Programming in C++에서 찾을 수 있습니다. 나는 항상 피드백을 찾고 있으므로 언제든지 여기에 댓글을 달거나 메시지를 보내주십시오. 당신은 트위터에서 나를 따라갈 수 있습니다.

    좋은 웹페이지 즐겨찾기