반응형
1.다음 로봇 명세를 보고 프로그램을 작성하시오.
이름 | 신장(m) | 무게(T) | 마력 |
태권브이 | 18 | 80 | 3000 |
마징가 | 17 | 70 | 2500 |
메칸더브이 | 20 | 90 | 3500 |
그랜다이져 | 22 | 100 | 5000 |
(1) 로봇을 나타내는 클래스 CRobot을 설계하시오. 명세를 입력할 수 있는 멤버 함수 Set과 명세를 출력하는 멤버 함수 Print가 있다.
(2)클래스 CRobot을 이용하여 모든 로봇의 명세를 출력하는 프로그램을 작성하시오.
#include <iostream>
#include <iomanip>
using namespace std;
int cnt = 0;
class CRobot{
public:
int m_height[4],m_weight[4],m_power[4];
void set(int x, int y, int z){
m_height[cnt]=x;
m_weight[cnt]=y;
m_power[cnt]=z;
}
void print(int cnt){
cout << m_name[cnt] << " " << m_height[cnt] << setw(4) << m_weight[cnt] << setw(4) << m_power[cnt] << endl;
}
char* m_name[4] = {"태권브이", "마징가" , "매칸더브이", "그랜다이져"};
};
int main(void){
CRobot r;
for(int i = 0; i < 4; i++){
int height,weight,power;
cout << r.m_name[cnt] << "의 신장, 무게 , 마력을 각각 입력하세요." << endl;
cin >> height >> weight >> power;
r.set(height, weight, power);
cnt++;
}
cout << "이름 신장 무게 마력" << endl;
cnt = 0;
while(cnt < 4){
r.print(cnt);
cnt++;
}
}
(3) 타입 정적 멤버s_Value를 가지는 class CTest를 정의하고, s_Value에 1을 대입한 뒤에 출력하는 프로그램을 작성하시오.
#include <iostream>
using namespace std;
class CTest{
public:
static int s_Value;
};
int CTest :: s_Value = 1;
int main(void){
CTest t1;
cout << t1.s_Value;
}
(4) 다음 프로그램은 자정부터 지나간 포를 입력받은 후 시,분,초를 출력한다.
프로그램이 완성될 수 있도록 클래스 CTime을 작성하시오.
#include <iostream>
using namespace std;
class CTime{
public:
void setElapsed(int t){
m_h = t/3600;
m_m = (t - (m_h*3600)) / 60;
m_s = (t - (m_h*3600)) % 60;
}
void PrintTime(){
cout << m_h << "시간 " << m_m << "분 " << m_s << "초 ";
}
int m_h,m_m,m_s;
};
int main(void){
cout << "자정부터 지나간 초를 입력하세요" << endl;
int Elapsed;
cin >> Elapsed;
CTime t;
t.setElapsed(Elapsed);
t.PrintTime();
}
설명은 생략하겠습니다~~
'Algorithm > 기본개념과 원리로 배우는C++' 카테고리의 다른 글
기본 개념과 핵심 원리로 배우는 C++ 프로그래밍 10장 프로그래밍 문제 (1) | 2023.10.31 |
---|---|
개념과 핵심원리로 배우는 C++ 프로그래밍 6장 프로그래밍 문제 (0) | 2023.10.31 |
개념과 핵심원리로 배우는 C++ 프로그래밍 5장 프로그래밍 문제 (0) | 2023.10.31 |
개념과 핵심원리로 배우는 C++ 프로그래밍 4장 프로그래밍 문제 (0) | 2023.10.31 |
개념과 핵심원리로 배우는 C++ 프로그래밍 3장 프로그래밍 문제 (0) | 2023.10.31 |