C++ 프로그래밍(5부 함수)
함수를 호출할 때 일부 데이터가 함수에 전달될 수 있고(매개변수라고 함) 함수가 완료되면 데이터 조각을 반환할 수 있습니다(반환 값이라고 함). 나는 '값에 의한' 데이터와 '참조에 의한' 데이터 전달에 대해 논의합니다. 나는 모든 변수가 메모리 또는 범위에 있는 제한된 수명을 가지고 있음을 보여줍니다.
행동을 요구하다
가이드 코드 연습을 검토했으므로 이제 몇 가지 프로그램을 작성해 보시기 바랍니다.
문제 1
문제 1은 이전 게시물에서 소수 문제를 확장하도록 요청합니다. 범위의 모든 소수를 인쇄하는 함수를 포함하는 프로그램을 작성하십시오. 프로그램은 하한과 상한을 요청하고 해당 범위의 모든 소수를 인쇄합니다.
문제 2
문제 2는 정수 연도를 사용하고 해당 연도가 윤년인지 여부에 관계없이
bool
를 반환하는 함수를 작성하도록 요청합니다. 윤년 계산은 다음과 같습니다.함수는 다음과 같아야 합니다.
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++에서 찾을 수 있습니다. 나는 항상 피드백을 찾고 있으므로 언제든지 여기에 댓글을 달거나 메시지를 보내주십시오. 당신은 트위터에서 나를 따라갈 수 있습니다.
Reference
이 문제에 관하여(C++ 프로그래밍(5부 함수)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/markm208/programming-in-c-part-5-functions-1n2i텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)