반응형
열혈 c++ Chapter02 문제02-3
#include <iostream>
using namespace std;
typedef struct __point
{
int xpos;
int ypos;
}point;
point& pntadder(const point& p1, const point& p2)
{
point* pptr = new point;
pptr->xpos = p1.xpos + p2.xpos;
pptr->ypos = p1.ypos + p2.ypos;
return *pptr;
}
int main()
{
point* pptr1 = new point;
pptr1->xpos = 3;
pptr1->ypos = 30;
point* pptr2 = new point;
pptr2->xpos = 70;
pptr2->ypos = 7;
point& pref = pntadder(*pptr1, *pptr2);
cout << "[" << pref.xpos << "," << pref.ypos << "]" << endl;
delete pptr1;
delete pptr2;
delete& pref;
return 0;
}
02-4 문제1
#include <iostream>
using namespace std;
typedef struct __point
{
int xpos;
int ypos;
}point;
point& pntadder(const point& p1, const point& p2)
{
point* pptr = new point;
pptr->xpos = p1.xpos + p2.xpos;
pptr->ypos = p1.ypos + p2.ypos;
return *pptr;
}
int main()
{
point* pptr1 = new point;
pptr1->xpos = 3;
pptr1->ypos = 30;
point* pptr2 = new point;
pptr2->xpos = 70;
pptr2->ypos = 7;
point& pref = pntadder(*pptr1, *pptr2);
cout << "[" << pref.xpos << "," << pref.ypos << "]" << endl;
delete pptr1;
delete pptr2;
delete& pref;
return 0;
}
문제2
#define _CRT_SECURE_NO_WANRINGS
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
srand(time(NULL));
int num = 0;
for (int i = 1; i <= 5; i++)
{
num = rand() % 100;
cout << i << "번째난수: " << num << endl;
}
return 0;
}
Chapter03 예제 (참조자,상수값)
#include <iostream>
using namespace std;
#define ID_LEN 20
#define MAX_SPD 200
#define FUEL_STEP 2
#define ACC_STEP 10
#define BRK_STEP 10
struct Car
{
char gamerID[ID_LEN];
int fuelGauge;
int curSpeed;
};
void ShowCarState(const Car& car) //이 함수는 보여주는 용도의 함수이기때문에 이함수내에서 값을 변경해서는 안된다 그러므로 const 사용
{
cout << "소유자ID: " << car.gamerID << endl;
cout << "연료량: " << car.fuelGauge << "%" << endl;
cout << "현재속도:" << car.curSpeed << "km/s" << endl << endl;
}
void Accel(Car& car) // 구조체 안의 3개의 값들을 참조자를 통해서 한번에 매개변수로활용
{
if (car.fuelGauge <= 0)
return; //그냥 넘어감
else
car.fuelGauge -= FUEL_STEP;
if (car.curSpeed + ACC_STEP >= MAX_SPD)
{
car.curSpeed = MAX_SPD;
return;
}
car.curSpeed += ACC_STEP;
}
void Break(Car& car)
{
if (car.curSpeed < BRK_STEP)
{
car.curSpeed = 0;
return;
}
car.curSpeed -= BRK_STEP;
}
int main()
{
Car run99 = { "run99",100,0 };
Accel(run99);
Accel(run99);
ShowCarState(run99);
Break(run99);
ShowCarState(run99);
Car sped77 = { "sped77",100,0 };
Accel(sped77);
Break(sped77);
ShowCarState(sped77);
return 0;
}
반응형
'Programming > C++' 카테고리의 다른 글
열혈c++ Chapter01 프로젝트 1단계 정답 (윤성우의 열혈c++ Chapter01 ) (0) | 2021.08.15 |
---|---|
c++ call-by-reference , 열혈c++ Chapter2 문제1, 문제3, 문제02-2 (0) | 2021.08.15 |
c++ namespace 활용 및 구조체 내의 함수 예시 , 열혈c++ Chapter 03 문제 03-1 (0) | 2021.08.15 |
열혈c++ Chapter03 문제03-2 1번 2번 (0) | 2021.08.15 |
열혈c++ 문제 4-1 , 4-2 (0) | 2021.08.15 |