목록 (199) 썸네일형 리스트형 C++ 언어 연습문제16 [문제] 다음의 Point 클래스를 기반으로 하여 원을 의미하는 Circle 클래스를 정의하자. class Point { private: int xpos; int ypos; public: void Init(int x, int y) { xpos = x; ypos = y; } void ShowPointInfo()const { cout C++ 언어 연습문제15 [문제] 아래의 코드에서 사과의 구매를 목적으로 0보다 작은 수를 전달할 수 없었다. 이 제약사항을 항상 만족시킬 수 있도록 코드를 변경하고 안정성을 높일 수 있도록 일부 함수를 const로 선언하라. #include using namespace std; class FruitSeller { private: int APPLE_PRICE; int numOfApples; int myMoney; public: void InitMembers(int price, int num, int money) { APPLE_PRICE = price; numOfApples = num; myMoney = money; } int SaleApples(int money) { int num = money / APPLE_PRICE; num.. SPI 통신 1. 핀 정보 SPI 통신은 [그림1]처럼 기본적으로 4개의 선을 사용한다. 1) 데이터 선 SPI 통신은 데이터를 주고 받는 선과 Clock선, 이 두 가닥은 반드시 있어야 한다. 이때 데이터를 주고 받는 선을 한 선을 이용하냐 두 선을 이용하냐에 따라 차이점이 있다. [그림2]처럼 한 선을 이용할 때는 A가 말하고 있으면 전기적 전압이 가고, Clock도 같이 보낸다. 이때 B도 같이 말한다면 전기적 전압이 충돌하여 한 선에서 신호가 망가진다. 따라서 A가 데이터 선으로 전압을 내보낼 때 B는 말하면 안 된다. 결론적으로 한 선을 이용하려면 서로 이야기하는 순서를 지켜서 이야기해야 하는데 이러한 방식을 반이중방식이라 한다. 반이중방식과 달리 [그림3]처럼 A와 B가 말하는 선이 따로 있어 신호가 망가.. [C언어] Strcpy 함수 주의할 점 [strcpy 함수의 사용 예제] 아래의 코드를 보고 결과를 예측해보자. #include void main() { char ori_arr[] = "ABCDEFG"; char cpy_arr[] = "AAA"; strcpy(ori_arr, cpy_arr); printf("%s", ori_arr); return 0; } [실행 결과] AAA [예측] 코드를 보면 ori_arr이 cpy_arr보다 길이가 더 긴 물자열이다. 따라서 저렇게 복사하면 "AAADEFG"이 나올 것으로 예측하기 쉽다. [결론] strcpy는 문자열의 끝('\0')까지 복사를 한다. strcpy 함수를 통해서 ori_arr에 cpy_arr을 복사하게 되면, ori_arr은 메모리 상에서 아래와 같이 된다. "AAA\0EFG\0" 즉, s.. C++ 언어 연습문제14 [문제] 아래의 코드에는 두 가지 문제가 있다. 1) 점의 좌표는 0이상 100이하가 되어야 하는데, 잘못된 값이 들어오는 것을 막을 수 없다. 2) 직사각형을 의미하는 Rectangle 객체의 좌 상단과 우 하단의 좌표 값이 바뀌는 것에 대한 대책이 없다. 아래의 코드와 변경된 main문 그리고 실행결과를 참고하여 위의 두 가지 문제점을 해결하는 코드를 작성하라. 조건1) 파일을 Point.h, Point.cpp, Rectangle.h, Rectangle.cpp, main.cpp로 분활하라. 조건2) const 함수를 선언할 것 #include using namespace std; class Point { public: int x;// x좌표의 범위는 0이상 100이하 int y;// y좌표의 범위는 .. C++ 언어 연습문제13 [문제] 아래 코드를 보고 SaleApples, BuyApples 함수를 완성하라. #include using namespace std; class FruitSeller { private: int APPLE_PRICE; int numOfApples; int myMoney; public: void InitMembers(int price, int num, int money) { APPLE_PRICE = price; numOfApples = num; myMoney = money; } SaleApples() { } void ShowSaleResult() { cout C++ 언어 연습문제12 [문제] 아래의 코드에서 Break(), ShowCarState() 함수를 인라인 함수로 바꿔라. 1. Car.h #ifndef __CAR_H__ #define __CAR_H__ namespace CAR_CONST { enum { ID_LEN = 20, MAX_SPEED = 200, FUEL_STEP = 2, ACC_STEP = 10, BREAK_STEP = 10 }; } class Car { private: char gamerID[CAR_CONST::ID_LEN]; int fuelGauge; int curSpeed; public: void InitMembers(const char* ID, int fuel); void ShowCarState(); void Accel(); void Break(); }; #.. C++ 언어 연습문제11 [문제] 아래의 코드를 가지고 Car.h, Car.cpp, RacingMain.cpp로 파일을 나눠라. #include #include using namespace std; namespace CAR_CONST { enum { ID_LEN = 20, MAX_SPD = 200, FUEL_STEP = 2, ACC_STEP = 10, BRK_STEP = 10 }; } class Car { private: char gamerID[CAR_CONST::ID_LEN]; int fuelGauge; int curSpeed; public: void InitMembers(const char* ID, int fuel); void ShowCarState(); void Accel(); void Break(); }; void Car.. 이전 1 ··· 8 9 10 11 12 13 14 ··· 25 다음