기록은 기억을 이기고 시간보다 오래 남는다.

프로그래밍 언어/c++

[C/C++]c++ ESPRESSO 5장 코딩 문제(연습문제)

준_준 2022. 5. 2. 01:30

1번. 

 

#include<iostream>
using namespace std;

class Rectangle
{
private:
int width;
int length;
public:
Rectangle(int x, int y);
~Rectangle();
void Input(int x,int y);
void calArea();
};
Rectangle::Rectangle(int x, int y)
:length(x), width(y)
{

}
Rectangle::~Rectangle()
{

}

void Rectangle::Input(int x, int y)
{
this->width = x;
this->length = y;
}

void Rectangle::calArea()
{
int wide;
wide = this->width * this->length;
cout << wide << endl;
}
int main()
{

Rectangle x(100,100);
x.calArea();
return 0;

}

==========================================

2번.

 

#include<iostream>
using namespace std;

class Book
{
private:
string title;
string author;
public:
Book();
Book(string x, string y);
~Book();
void setBook(string x, string y);
void getBook();
};
Book::Book()
:title(" "), author(" ")
{

}
Book::Book(string x, string y)
:title(" "), author(" ")
{
this->title = x;
this->author = y;
}

Book::~Book()
{
}
void Book::setBook(string x, string y)
{
this->title = x;
this->author = y;
}
void Book::getBook()
{
cout <<"Title: " <<this->title;
cout << " Author: " << this->author << endl;
}

int main()
{
Book FirstBook;
Book Book2("python", "june");
FirstBook.setBook("Great c++", "bob");
FirstBook.getBook();
Book2.getBook();
return 0;
}

=========================================

3번.

class Dice
{
private:
int face;
public:
Dice();
~Dice();
void Role();
};
Dice::Dice()
:face(0)
{

}
Dice::~Dice()
{

}
void Dice::Role()
{
srand(time(NULL));
this->face = ((int)(rand)() %6 +1);
cout << this->face << endl;
}
int main()
{
Dice First;
First.Role();
return 0;
}

==========================

4번.

#include<iostream>
using namespace std;

class Employee
{
private:
string name;
int number;
int salary;
public:
Employee();
~Employee();
void setName(string x);
void getName();
void setNumber(int x);
void getNumber();
void setSalary(int x);
void getSalary();
};
Employee::Employee()
:name(" "), number(0), salary(0)
{
}
Employee::~Employee()
{
}
void Employee::setName(string x)
{
this->name = x;
}
void Employee::getName()
{
cout << this->name << endl;
}
void Employee::setNumber(int x)
{
this->number = x;
}
void Employee::getNumber()
{
cout << this->number << endl;
}
void Employee::getSalary()
{
cout << this->salary << endl;
}
void Employee::setSalary(int x)
{
this->salary = x;
}
int main()
{
Employee human;
human.setName("YANG");
human.setNumber(77778888);
human.setSalary(200);
human.getName();
human.getNumber();
human.getSalary();
return 0;
}

====================================

5번.

핸드폰을 나타내는 cellphone 클래스를 자성하여 보자. 핸드폰의 상태는 모델명, 제조사, 전원, 카메라 장착 여부로        나타낸다. 이것들을 멤버 변수로 정의하고 각 멤버 변수에 대하여 접근자와 설정자를 작성한다. 전원을 끄고 겨는          멤버 한수도 추가하여 보자. CellPhone 객체를 생성하여 테스트하라.

#include<iostream>
using namespace std;

class CellPhone
{
private:
string Model;
string Company;
int Power;
int Camera;
public:
CellPhone();
~CellPhone();
void SetModel(string x);
void SetCompany(string x);
void SetPower(int x);
void SetCamera(int x);
void GetModel();
void GetCompany();
void GetPower();
void GetCamera();

};
CellPhone::CellPhone()
:Model(""),Company(""),Power(0),Camera(0)
{}
CellPhone::~CellPhone()
{}
void CellPhone::SetModel(string x)
{
this->Model = x;
}
void CellPhone::SetCompany(string x)
{
this->Company = x;
}
void CellPhone::SetPower(int x)
{
this->Power = x;
}
void CellPhone::SetCamera(int x)
{
this->Camera = x;
}
void CellPhone::GetModel()
{
cout << this->Model << endl;
}
void CellPhone::GetCompany()
{

cout << this->Company << endl;
}
void CellPhone::GetPower()
{
if (this->Power == 0)
{
cout << "전원이 꺼졌습니다." << endl;
}
else
{
cout << "전원이 켜졌습니다." << endl;
}

}
void CellPhone::GetCamera()
{
if (this->Camera == 0)
{
cout << "카메라가 없습니다." << endl;
}
else
{
cout << "카메라가 있습니다." << endl;
}
}
int main()
{
CellPhone phone;
phone.SetCamera(0); //0: 없음 1:있음
phone.SetCompany("SANSUNG");
phone.SetModel("GALAXY");
phone.SetPower(1); //0: 없음 1:있음
phone.GetCompany();
phone.GetModel();
phone.GetCamera();
phone.GetPower();
return 0;
}

=================================

6번. 복소수를 나타내는 Compex 클래스를 작성하라. 복소스는 실수부와 허수부로 이루어지다. 필요한 멤버 변수와              접근자와 설정자 함수를 정의하라. 복소수를 12.0+17.9i와 같이 출력하는 print() 멤버 함수를 정의하라. 복소수에          대한 덧셈 연산과 뺄셈 연산을 정의하라. Complex 객체를 생성하여 테스트하라

#include<iostream>
using namespace std;

class Complex
{
private:
float RealNumber;
float ImaginaryNumber;
float ComplexNumber;
public:
Complex();
~Complex();
void setRealNumber(float x);
void setImaginaryNumber(float x);
void print();

};
Complex::Complex()
:RealNumber(0), ImaginaryNumber(0), ComplexNumber(0)
{
}
Complex::~Complex()
{}
void Complex::setRealNumber(float x)
{
this->RealNumber = x;
}
void Complex::setImaginaryNumber(float x)
{
this->ImaginaryNumber = x;
}
void Complex::print()
{
ComplexNumber = this->RealNumber + this->ImaginaryNumber;
cout << "복소수는 " << ComplexNumber << "i 입니다." << endl;
}
int main()
{
Complex number;
number.setImaginaryNumber(.4);
number.setRealNumber(12.0);
number.print();
return 0;
}

======================================

7번.

========================================

8번.

======================================

9번.

========================================

10번.

MyArray라는 이름의 클래스를 작성하여 보자. MyArray는 정수들을 저장하는 동적 배열을 구성한다. 멤버 변수로는 배열의 크기를 나타내는 size와 정수들이 실제로 저장된 메모리를 가지는 ptr을 가진다. 멤버한수로는 정수를 추가하는 append(), 마지막 정수를 삭제하는 delete(), 배열 안의 정수를 출력하는 print()등을 가진다. myArray 객체를 생성하여 테스트하라.

 

 

 

반응형