본문 바로가기

공부/C++

Exercise 17-4 절대 경로의 디렉토리 부분만 출력하기 절대경로의 디렉토리 부분만 출력하기. 틀림그림 찾기 개발팀에서 그림 파일들을 관리하는 프로그램을 작성 중인데, 그 때문에 파일의 절대 경로에서 디렉토리 부분만 추출하는 함수가 필요하다고 한다. 사용자로부터 파일의 절대 경로를 입력받은 후에 디렉토리 부분만 출력하는 프로그램을 작성해보자. 아래 입력과 출력의 예가 있다. d:\My Library\Temp\test.jpg d:\My Library\Temp\ -------------------------------------------- 해결방안. find를 사용하면 가장 처음.. 에 온 것의 자리값을 반환한다.(뒤에 검색되는것들을 알려주지 않는다.) 즉 제일 뒤에 있는 \\ 를 반환하려면 원래의 문장을 뒤집어서 찾아내야 하고 또 이 찾은 숫자도 결국 뒤집어서.. 더보기
Exercise 17-2 욕 판별 함수 작성하기. Exercise 17-2 욕 판별 함수 작성하기. 윷놀이 게임 개발팀에서 채팅 내용이 욕인지 구별하는 함수의 작성을 요청해왔다. 아래는 함수의 원형과 사용이 금지된 욕의 리스트가 있다. 인자로 넘겨진 문자열이 욕 리스트에 있는 문자열과 일치하는 경우 true를 반환하도록 구현해보자. bool IsTermOfAbuse (const char* pChatMessage );바보, 병신, 나쁜, 미친 #include #include void IsTermOfAbuse(string sentance);//비속어가 들어가면 경고하고, 아닌경우 sentance를 출력. void main() { string bad1 = "뭔데";//욕이 들어간 문자열 string bad2 = "병신아";//욕이 들어간 문자열 string .. 더보기
Exercise 16-2 문자열 이동하기 페이지 405 동적 메모리 할당의 응용 예제 코드 #include #include using namespace std; //문자열을 뒤집어서 복사해주는 함수 char* ReverseString(const char* src, int len) { //새로운 문자열을 보관할 메모리를 할당한다. char* reverse = new char [len + 1]; //문자열을 역순으로 복사한다. for(int i = 0; i < len; ++i) reverse[i] = src[len -1-i]; //새 문자열의 끝에 null을 넣는다. reverse[len] = NULL; //새 문자열을 반환한다. return reverse; } int main() { //문자열을 하나 만든다. char original[] = "N.. 더보기
정수의 배열에서 두번째로 큰 숫자를 출력하는 문제 프로그래밍 문제 제공/풀이 사이트인 http://www.try-cat.ch 에서 풀어본 문제의 자작 코드. 하지만 틀림... 이유는...문제가 예제를 입력하는게 아니고 문제상의 설명이 너무 간략해서.. 예제에 쓰여있는 배열을 넣으라는건줄 알고 짜서 입니다. 그리고 전 책으로만 배운터라.. 코딩도 책처럼 해버리죠 우왕. #include using namespace std; int main() { int gogi[10] = {9,5,2,7,7,8}; //문제의 입력 배열 예제 int i, temp = 0,max =0; //최대값과 임시저장값을 0으로. for(i=0; i max) //해당 배열의 값이 최대값보다 크면 변경 { temp = max; //현재의 최대값은 임시저장으로 넣어두고 max = gogi[.. 더보기
숫자 야구게임 C++ 이래저래 혼자 짜보려다가 인터넷에서 검색하던중 가장 나은 코드가 있어서 퍼올림.. #include #include // srand(), rand(), system() #include // _getch() #include // time() #include // isdigit() void PrintTitle(void); void CreateNum(int *pComp); void InputNum(int *pUser); void CountSnB(const int *pComp, const int *pUser, int *nStrike, int *nBall); void PrintMessage(const int *pComp, int nStrike); #define N 4 // 숫자의 갯수 #define LIMIT 20.. 더보기