분류 전체보기 2427

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

[1번 문제]/*계산기 기능의 Calculator 클래스를 정의해보자. 기본적으로 지니는 기능은 덧셈, 뺄셈, 곱셈 그리고 나눗셈이며, 연산을 할 때마다 어떠한 연산을몇 번 수행했는지 기록되어야 한다. 아래의 main 함수와 실행의 예에 부함하는 Calculator 클래스를 정의하면 된다.단, 멤버변수는 private으로, 멤버함수는 public으로 선언하자.int main(void){Calculator cal;cal.Init();cout

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

/*2차원 평면상에서의 좌표를 표현할 수 있는 구조체를 다음과 같이 정의하였다struct Point{ int xpos; int ypos;};위의 구조체를 기반으로 다음의 함수를 정의하고자 한다(자세한 기능은 실행의 예를 통해서 확인)void MovePos(int x, int y); //점의 좌표이동void AddPoint(const Point &pos); //점의 좌표증가void ShowPosition(); //현재 x, y 좌표정보 출력 int main(void){ Point pos1={12, 4}; Point pos2={20, 30}; pos1.MovePos(-7, 10); pos1.ShowPosition(); //[5, 14] 출력 pos1.AddPoint(pos2); pos1.ShowPositio..

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

1. TCP보다 UDP가 빠른 이유는 무엇인가? 그리고 TCP는 데이터의 전송을 신뢰할 수 있지만 UDP는 신뢰할 수 없는 이유는 또 무엇인가? >UDP는 TCP와 달리 흐름제어를 하지 않기 때문에 TCP보다 빠르다. 이 흐름제어는 소켓의 연결과 종료, 그리고 데이터 송수신 전반에 걸쳐서 진행되기 때문에 TCP의 데이터 전송은 언제나 신뢰할 수 있다. 하지만, 이 흐름제어 때문에 속도는 UDP보다 느리다. 2. 다음 중 UDP의 특성인 아닌 것을 모두 고르면? >b. UDP 기반으로 데이터를 전송할 목적지가 두 군데라면, 총 두개의 소켓을 생성해야 한다 ->UDP 소켓이 하나 있다면 어디건 데이터를 전송할 수 있다. c. UDP 소켓은 TCP 소켓이 할당한 동일한 번호의 PORT에 재할당이 불가능하다. ..

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

[문제1]/*다음 표준함수를 호출하는 예제를 만들되, C++의 헤더를 선언해서 만들어보자.그리고 예제의 내용은 상관이 없지만, 아래의 함수들을 최소 1회 이상 호출해야 한다.참고로 다음 함수들은 C언어의 경우 에 선언되어 있다1.strlen 문자열의 길이 계산2.strcat 문자열의 뒤에 덧붙이기3.strcpy 문자열의 복사4.strcmp 문자열의 비교*/#include #include using namespace std; int main(void){ char str1[20] = "I like "; char str2[20] = "Gudetama"; char str3[20]; int length = strlen(str1); cout

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

/*구조체에 대한 복습을 겸할 수 있는 문제를 제시하겠다.2차원 평면상에서의 좌표를 표현할 수 있는 구조체를 다음과 같이 정의하였다typedef struct __Point{ int xpos; int ypos;}Point;위의 구조체를 기반으로 두 점의 합을 계산하는 함수를 다음의 형태로 정의하고(덧셈결과는 함수의 반환을 통해서 얻게 한다).Point& PntAdder(const Point &p1, const Point &p2);임의의 두점을 선언하여, 위 함수를 이용한 덧셈연산을 진행하는 main 함수를 정의해보자참고로 이 문제의 해결을 위해서는 다음 두 질문에 답을 할 수 있어야 한다1.동적할당 한 변수를 함수의 참조형 매개변수의 인자로 어떻게 전달해야 하는가?2.함수 내에 선언된 변수를 참조형으로 반..

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

/*const 포인터에 대한 복습을 겸할 수 있는 문제를 제시하겠다. 다음의 상수선언을 보자const int num=12;포인터 변수를 선언해서 위 변수를 가리키게 해보자. 그리고 이 포인터의 변수를 참조하는 참조자를 하나 선언하자마지막으로 이렇게 선언된 포인터 변수와 참조자를 이용해서 num에 저장된 값을 출력하는 예제를 만들자*/#include using namespace std; int main(void){ const int num = 12; const int *ptr = # //포인터 변수를 선언해서 변수 가리킴 const int *(&pointer) = ptr; //포인터의 변수를 참조하는 참조자 cout

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

[1번 문제]/*참조자를 이용해서 다음 요구사항에 부합하는 함수를 각각 정의하여라1.인자로 전달된 int형 변수의 값을 1씩 증가시키는 함수2.인자로 전달된 int형 변수의 부호를 바꾸는 함수*/#include using namespace std; void add(int &ptr) //참조자를 이용한 함수, 물론 포인터를 이용해도 된다{ ptr += 1;} void reverse(int &ptr){ ptr *= -1;} int main(void){ int num; cout > num; cout

OOP 단계별 프로젝트 1

/*우리가 구현하고자 하는 것은 '은행계좌 관리 프로그램'이다. 프로젝트 1단계에서는 C스타일로 구현하는 것을 목표로 한다구현할 기능은 다음과 같다1.계좌개설2.입금3.출금4.전체고객 잔액조회 프로그램을 간결하게 하기 위해서 몇가지 가정1.통장의 계좌번호는 중복되지 아니한다(중복검사 하지 않겠다는 뜻)2.입금 및 출금액은 무조건 0보다 크다(입금 및 출금액의 오류검사 않겠다는 뜻)3.고객의 계좌정보는 계좌번호, 고객이름, 고객의 잔액, 이렇게 세가지만 저장 및 관리한다4.둘 이상의 고객 정보 저장을 위해서 배열을 사용한다5.계좌번호는 정수의 형태이다*/#include #include using namespace::std; int Menu(void); //메뉴void MakeBankAccount(void)..

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

C++을 제대로 공부하려면 다음의 내용을 잘 알고 있어야 한다1.헤더파일의 의미와 정의 방법2.헤더파일에 삽입할 내용과 소스파일에 삽입할 내용을 구분하는 방법3.둘 이상의 헤더파일과 소스파일을 만들어서 하나의 실행파일로 컴파일하는 방법 파일분할과 관련된 감을 살리기 위해서 앞서 소개한 예제 NameSp2.cpp를 다음과 같이 총 3개의 파일로 분할해서 컴파일 해보자1.헤더파일 main함수를 제외한 나머지 두 함수의 선언을 삽입2.소스파일1 main 함수를 제외한 나머지 두 함수의 정의를 삽입3.소스파일2 main 함수만 삽입 [NameSp2.cpp 원본]#include namespace BestComImpl //이름공간안에 함수의 선언만 삽입되었다{ void SimpleFunc(void);} namesp..

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

/*예제 DefaultValue3.cpp에 정의된 함수 BoxVolume를 "매개변수의 디폴트 값 지정" 형태가 아닌, '함수 오버로딩'의 형태로 재 구현해보자.물론 main 함수는 변경하지 않아야 하며, 실행결과도 동일해야한다*/ /*DefulatValue3.cpp #include int BoxVolume(int length, int width = 1, int height = 1); //첫번째 매개변수에는 디폴트 값이 지정되지 않았으므로, BoxVolume 함수를 호출할 때는 반드시 하나 이상의 인자를 전달해야한다 int main(void){ std::cout