본문 바로가기

C++ 언어/연습문제

(34)
C++ 언어 연습문제10 [문제] 아래의 코드를 보고 빈 곳을 채워라. 조건1) enum을 사용할 것 - 아이디 길이 = 20, 최대 속도 = 200, 연료 단계 = 2, 엑셀 단계 = 10, 브레이크 단계 = 10 조건2) 클래스의 멤버 변수는 아이디, 연료량, 현재속도로 할 것 조건3) 엑셀 함수를 완성할 것 - 엑셀을 밟을 때마다 연료 단계만큼 연료량이 감소하고, 엑셀 단계만큼 현재 속도가 증가할 것 - 현재 속도가 최대 속도를 넘지 못하게 할 것 - 연료가 없으면 속도 증가가 안되도록 할 것 조건4) 브레이크 함수를 완성할 것 - 브레이크를 밟을 때마다 브레이크 단계만큼 속도가 감소할 것 - 브레이크 단계보다 현재 속도가 작으면 현재 속도는 0으로 할 것 #include #include using namespace std..
C++ 언어 연습문제9 [문제] 2차원 평면상에서의 좌표를 표현할 수 있는 구조체를 다음과 같이 정의하였다. typedef struct __Point { int xpos; int ypos; }Point; 위의 구조체를 기반으로 두 점의 합을 계산하는 함수를 다음의 형태로 정의하고(덧셈결과는 함수의 반환을 통해서 얻게 한다), Point& PntAdder(const Point &p1, const Point &p2); 두 점([3,30], [70,7])을 선언하여, 위 함수를 이용한 덧셈연산을 진행하는 main 함수를 정의해보자. 단, 구조체 Point 관련 변수의 선언은 무조건 new 연산자를 이용해서 진행해야 하며, 할당된 메모리 공간의 소멸도 철저해야 한다. [실행결과] [73, 37] [코드] #include using n..
C++ 언어 연습문제8 [문제] 문제의 제시에 앞서 먼저 다음 코드를 보자. int main(void) { int num1 = 5; int *ptr1 = &num1; int num2 = 10; int *ptr2 = &num2; } 위의 코드를 보면 ptr1과 ptr2가 각각 num1과 num2를 가리키고 있다. 이때 ptr1과 ptr2를 대상으로 다음과 같이 함수를 호출하고 나면, SwapPointer(ptr1, ptr2); ptr1과 ptr2가 가리키는 대상이 서로 바뀌도록 SwapPointer 함수를 정의해 보자. [실행결과] 5 10 10 5 [코드] #include using namespace std; void SwapPointer(int* (&pref1), int* (&pref2)); int main() { int n..
C++ 언어 연습문제7 [문제] 참조자를 이용해서 다음 요구사항에 부합하는 함수를 각각 정의하여라. 조건1) 인자로 전달된 int형 변수의 값을 1씩 증가시키는 함수 조건2) 인자로 전달된 int형 변수의 부호를 바꾸는 함수 그리고 위의 각 함수를 호출하여 그 결과를 확인하는 main 함수까지 작성하여라. [실행결과] 21 -21 [코드] #include using namespace std; void IncreOne(int& num); void InverSign(int& num); int main() { int val = 20; IncreOne(val); cout
C++ 언어 연습문제6(R) [문제] 판매원들의 급여 계산 프로그램을 작성해 보자. 이 회사는 모든 판매원에게 매달 50만원의 기본 급여와 물품 판매 가격의 12%에 해당하는 돈을 지급한다. 예를 들어서 민수라는 친구의 이번 달 물품 판매 금액이 100만원이라면, 50 + 100 * 0.12 = 62, 따라서 62만원을 급여로 지급 받는다. 단, 아래의 실행결과에서 보이듯이 이러한 급여의 계산은 -1이 입력될 때까지 계속 되어야 한다. 조건1) 급여 계산 함수를 만들 것 [실행결과] 판매 금액을 만원 단위로 입력(-1 to end): 100 이번 달 급여: 62만원 판매 금액을 만원 단위로 입력(-1 to end): 200 이번 달 급여: 74만원 판매 금액을 만원 단위로 입력(-1 to end): -1 프로그램을 종료합니다. [코..
C++ 언어 연습문제5 [문제] 사용자로부터 총 5개의 정수를 입력 받아서, 그 합을 출력하는 프로그램을 작성하라. [실행결과] 1번째 정수 입력: 1 2번째 정수 입력: 2 3번째 정수 입력: 3 4번째 정수 입력: 4 5번째 정수 입력: 5 합계: 15 [코드] #include int main() { int num; int sum = 0; for (int i = 0; i < 5; i++) { std::cout num; sum += num; } std::cout
C++ 언어 연습문제4(R) [문제] 배열을 선언하여 아래의 출력 결과를 내도록 하라. [실행결과] 이름은 무엇입니까? OH 좋아하는 프로그래밍 언어는 무엇인가요? C++ 내 이름은 OH입니다. 제일 좋아하는 언어는 C++입니다. [코드] #include int main() { char name[10], language[10]; std::cout > name; std::cout > language; std::cout
C++ 언어 연습문제3 [문제] 두 개의 정수를 입력 받아서 그 사이에 존재하는 정수들의 합을 계산하여 출력하라. [실행결과] 두 개의 숫자입력: 3 7 두 수 사이의 정수 합: 15 [코드] #include int main() { int num1, num2; int sum = 0; std::cout > num1 >> num2; if (num1 < num2) { for (int i = num1 + 1; i < num2; i++) sum += i; } else { for (int i = num2 + 1; i < num1; i++) sum += i; } std::cout