본문 바로가기

목록

(199)
C++ 언어 연습문제10 [문제] 아래의 코드를 보고 빈 곳을 채워라. 조건1) enum을 사용할 것 - 아이디 길이 = 20, 최대 속도 = 200, 연료 단계 = 2, 엑셀 단계 = 10, 브레이크 단계 = 10 조건2) 클래스의 멤버 변수는 아이디, 연료량, 현재속도로 할 것 조건3) 엑셀 함수를 완성할 것 - 엑셀을 밟을 때마다 연료 단계만큼 연료량이 감소하고, 엑셀 단계만큼 현재 속도가 증가할 것 - 현재 속도가 최대 속도를 넘지 못하게 할 것 - 연료가 없으면 속도 증가가 안되도록 할 것 조건4) 브레이크 함수를 완성할 것 - 브레이크를 밟을 때마다 브레이크 단계만큼 속도가 감소할 것 - 브레이크 단계보다 현재 속도가 작으면 현재 속도는 0으로 할 것 #include #include using namespace std..
IO Board와 USB to RS232컨버터 연결하기 1. 보드 확인 보드에 적힌 RS232-RX, RS232-TX가 받는 입장(보드)인지 주는 입장(PC)인지 회로도를 보고 판단해야 한다. 2. 회로도 확인 위의 회로도를 보면 왼쪽에 232RXD가 MCU로 들어오고 232TXD가 MCU에서 나가는 것을 확인할 수 있다. 따라서 보드에 적힌 232RXD, 232TXD는 보드 입장이다. 3. USB to RS232 컨버터 확인 RS232 통신을 위해서는 RXD, TXD, GND를 알아야 한다. 따라서 위 그림에서 2번, 3번, 5번을 연결해야 한다. 4. 연결 1,2번에서 보드에 적힌 RS232-RX와 RS232-TX는 보드 입장이라는 것을 알았다. 따라서 연결할 때는 PC에서 주는 TXD가 받는 입장인 보드에서 RS232-RX와 연결, 보드에서 주는 RS2..
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..
은행계좌 관리 프로그램 버전1 프로그램 설명 1. 기능 1) 계좌개설 2) 입금 3) 출금 4) 전체고객 잔액조회 2. 조건 1) 통장의 계좌번호는 중복되지 아니한다(중복검사는 하지 않음). 2) 입금 및 출금액은 무조건 0보다 크다(입금 및 출금액의 오류검사는 하지 않음). 3) 고객의 계좌정보는 계좌번호, 고객이름, 고객의 잔액, 이렇게 세가지만 저장 및 관리한다. 4) 둘 이상의 고객 정보 저장을 위해서 배열을 사용한다. 5) 계좌번호는 정수의 형태이다. 실행결과 코드 #include #include using namespace std; const int NAME_LEN = 20; void ShowMenu(void);//메뉴출력 void MakeAccount(void);//계좌개설을 위한 함수 void DepositMoney(v..
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