분류 전체보기 2432

열혈 C++ 프로그래밍 8-1 문제

/*예제 EmployeeManager4.cpp를 확장하여 다음 특성에 해당하는 ForeignSalesWorker 클래스를 추가로 정의해보자"영업직 직원 중 일부는 오지산간으로 시장개척을 진행하고 있다. 일부는 아마존에서, 또 일부는 테러의 위험이 있는지역에서 영업활동을 진행 중에 있다. 따라서 이러한 직원들을 대상으로 별도의 위험수당을 지급하고자 한다." 위험수당의 지급방식은 위험의 노출도에 따라서 다음과 같이 나뉘며, 한번 결정된 직원의 '위험 노출도'는 변경되지 않는다고 가정한다(const)1.리스크 A:영업직의 기본급여와 인센티브 합계 총액의 30%를 추가로 지급한다2.리스크 B:영업직의 기본급여와 인센티브 합계 총액의 20%를 추가로 지급한다3.리스크 C:영업직의 기본급여와 인센티브 합계 총액의 ..

OOP 단계별 프로젝트 5

/*우리가 구현하고 있는 Banking System의 주요기능은 다음과 같다1.계좌개설2.입금3.출금4.계좌정보 전체 출력이러한 기능은 전역함수를 통해서 구현되어있다. 그러나 객체 지향에는 '전역'이라는 개념이 존재하지 않는다.비록 C++에서는 전역함수와 전역변수의 선언을 허용하고 있지만, 이는 객체지향 프로그래밍을 위한 것은 아니니 가급적 사용하지 않는 것이 좋다기능적 성격이 강한 컨트롤 클래스를 등장시키면, 우리가 구현하고 있는 단계별 프로젝트에서 전역함수들을 없앨 수 있다.이들을 하나의 컨트롤 클래스로 묶을 수 있기 때문이다.이렇게 되면 컨트롤 클래스는 프로그램의 기능적 측면을 담당하게 되므로, 컨트롤 클래스의 성격에도 부합한다.그럼 이번 단계에서 구현해야 할 컨트롤 클래스의 구현방법에 대해서 간단..

열혈 C++ 프로그래밍 7-2 문제

[1번 문제]/*정사각형을 의미하는 Square 클래스와 직사각형을 의미하는 Rectangle 클래스를 정의하고자 한다.그런데 정사각형은 직사각형의 일종이므로, 다음의 형태로 클래스의 상속관계를 구성하고자 한다class Rectangle{ }; class Square :public Rectangle{ };이에 다음 main 함수와 함께 실행이 가능하도록 위의 클래스를 완성해보자int main(void){ Rectangle rec(4, 3); rec.ShowAreaInfo(); Square sqr(7); sqr.ShowAreaInfo(); return 0;} */#include using namespace std; class Rectangle{private: int row; int column;public..

열혈 C++ 프로그래밍 7-1 문제

[1번 문제]/*앞서 상속관계에 놓여있는 클래스의 생성자 정의 및 호출 방식에 대해 설명하였다.이 내용을 바탕으로 다음 클래스에 적절한 생성자를 삽입해보자.그리고 이의 확인을 위한 main 함수를 적절히 정의해보자class Car //기본 연료 자동차{private:i nt gasolineGauge;public: int GetGasGauge() { return gasolineGauge; }}; class HybridCar :public Car //하이브리드 자동차{private: int electricGauge;public: int GetElecGauge() { return electricGauge; }}; class HybridWaterCar :public HybridCar //하이브리드 워터카{pri..

TCP/IP 소켓 프로그래밍 7장 내용 확인문제

1. TCP에서의 스트림 형성이 의미하는 바가 무엇인지 설명해보자. 그리고 UDP에서도 스트림이 형성되었다고 할 수 있는 요소가 있는지 없는지 말해보고, 그 이유에 대해서도 설명해보자 >TCP에서의 스트림 형성은 두 소켓이 서로 연결되어서 데이터를 송수신할 수 있게 된 상태를 의미한다. 반면, UDP의 경우는 스트림 형성과정이 존재하지 않는다. 두 소켓이 서로 연결되어있는 상태에 놓이지 않기 때문이다. 2. 리눅스에서의 close 함수 또는 윈도우에서의 closesocket 함수 호출은 일방적인 종료로써 상황에 따라서 문제가 되기도 한다. 그렇다면 일반적인 종료가 의미하는 바는 무엇이며, 어떠한 상황에서 문제가 되는지 설명해 보자. >일반적인 종료는 소켓을 완전히 종료시켜서 데이터의 송수신이 모두 불가능..

OOP 단계별 프로젝트 4

/*BankAccount 클래스의 멤버함수 중 일부를 const로 선언하면서 Banking System의 버전을 0.3에서 0.4으로 업그레이드 시키겠다.const로 선언이 가능한 모든 멤버함수를 const로 선언하자*/#include #include using namespace::std; int Menu(void); //메뉴void MakeBankAccount(void); //계좌 개설void Deposit(int money); //입금void Withdraw(int money); //출금void ShowAccountInfo(void); //전체고객 잔액조회 class BankAccount{private: int AccountNumber; //계좌 번호 char *Name; //고객 이름 int Mon..

명품 C언어 프로젝트 2.3장 연습문제

[문제 1]/*[예제 2.3.2]를 참고하여 현재의 연도와 월을 반환하는 int 형 함수 year와 month를 작성하시오*/#include #include int year(struct tm *d){ return d->tm_year + 1900;} int month(struct tm *d){ return d->tm_mon + 1;} int main(void){ time_t curr; struct tm *d; curr = time(NULL); d = localtime(&curr); printf("현재의 연도:%d\n", year(d)); printf("현재의 월:%d\n", month(d)); return 0; } [문제 2]/*[예제 2.3.2]를 참고하여 현재의 시간과 분을 반환하는 int형 함수 ho..

[C언어] 시간과 날짜와 관련된 함수들

아래 함수들은 헤더파일 를 필요 시간 계산 time_t time(time_t *timeptr); 1970년 1월 1일 자정부터 경과된 현재 시간을 초단위로 계산 시간을 문자열로 변환 char *asctime(struct tm *time); 구조체 tm 형식의 시간을 문자열로 변환 char *ctime(time_t *time); 함수 time으로부터 계산된 현재 시간을 문자열로 변환 시간을 구조체로 변환 struct tm *localtime(time_t *time); 지역시간(local time)을 구조체 tm의 형식으로 가져오는 함수 struct tm *gmtime(time_t *time); Greenwich Mean Time(GMT)을 구조체 tm 형식으로 가져옴 시간 차이 계산 clock_t cloc..

명품 C언어 프로젝트 2.2장 연습문제

[1번 문제]/*자신이 사용하는 컴파일러에서 소수 이하 몇 자리까지 유효한지를 확인하시오*/#include int main(void){ double num = 0.111111111111111111111111111111111111111111111111111111111111111111111; //소수를 길게 선언한다 printf("소수 출력 결과:%.16lf\n", num);//16자리까지 유효하다 printf("소수 출력 결과:%.17lf\n", num);//17번째부터 다른 숫자가 출력 return 0;} [2번 문제]간지 1 2 3 4 5 6 7 8 9 10 11 12 10간 신 임 계 갑 을 병 정 무 기 경 12지 자 축 인 묘 진 사 오 미 신 유 술 해 띠 쥐 소 호랑이 토끼 용 뱀 말 양 원숭..

OOP 단계별 프로젝트 3

/*BankAccount 클래스에 깊은 복사를 진행하는 복사 생성자를 정의하면서, Banking System의 버전을0.2에서 0.3으로 업그레이드 시켜보겠다.비록, 복사생성자가 호출되지는 않지만, 깊은 복사를 원칙으로 정하고 이를 위해서 복사 생성자를 추가하기로 하겠다.복사생성자 추가 외에는 프로젝트 2와 똑같다.*/#include #include using namespace::std; int Menu(void); //메뉴void MakeBankAccount(void); //계좌 개설void Deposit(int money); //입금void Withdraw(int money); //출금void ShowAccountInfo(void); //전체고객 잔액조회 class BankAccount{private..