More actions
imported>Unknown No edit summary |
(Repair MoniWiki formatting after migration) |
||
| (One intermediate revision by the same user not shown) | |||
| Line 71: | Line 71: | ||
** 그 단어가 나온 라인 조사 하기 | ** 그 단어가 나온 라인 조사 하기 | ||
** 총 단어수 출력(중복 제외) | ** 총 단어수 출력(중복 제외) | ||
DeleteMe)참고 http://kldp.org/HOWTO/html/C++Programming-HOWTO/ --상민 | [[DeleteMe]])참고 http://kldp.org/HOWTO/html/C++Programming-HOWTO/ --상민 | ||
Latest revision as of 00:34, 29 March 2026
C++ 에서 문자열 다루기
- 1학년 여름 방학때 제로페이지에서 했었던 걸로 나름대로 재미도 있고 할만한거 같아서 이렇게 올렸습니다.
선행되어야 할 학습
- 클래스에 대한 이해(아마 1학년들은 클래스를 배우지 않았을거 같기 때문에)
- 클래스 생성
- 클래스에서 메소드 생성
- 기타 등등
- C++에서 연산자 재정의
과제
- 다음과 같은 기능을 가지는 String 클래스를 설계한다
- 문자열 길이를 알아내는 기능
- 문자열을 거꾸로 만들어 주는 기능
- 찾고자 하는 문자의 갯수를 알려 주는 기능
- 문자열에 있는 여백을 지워주는 기능
- 연산자 재정의
- + 연산자를 재정의 하여 문자열을 합치기
- << 연산자를 재정의하여 문자열 출력하기
소스
| 작성자 | 소스 |
| 세연 | StringOfCPlusPlus/세연 |
| 상협 | StringOfCPlusPlus/상협 |
| 영동 | StringOfCPlusPlus/영동 |
클래스 사용예
- 스트링 클래스를 실제로 만들어서 써먹을 수 있도록, 아래와 같이 써먹기 좋게 만들었으면 하는 작은 소망이 있습니다~
//usestring.cpp
#include <iostream>
using namespace std;
#include "String0.h"
int main()
{
String nam("nam sang boy");
String after=String(" is nice guy");
cout<<nam<<'\n';
cout<<after<<'\n'<<nam.nval()<<'\n';
String sum=nam+after;
cout<<sum<<'\n';
nam.reverse();//끝에것이 짤리고 뒤바뀌지 않는 문제
cout<<nam<<'\n';
cout<<"nam class 중 n의 갯수는 "<<nam.search('n')<<"개 \n";
nam.delspace();//끝에것이 짤리는 문제
cout<<nam<<'\n';
cout<<nam.nval()<<'\n';
String Test("The reverse function work well in English");
cout<<Test<<'\n';
Test.delspace();
cout<<Test<<'\n';
Test.reverse();
cout<<Test<<'\n';
return 0;
}
심화 문제
- 위의 과제를 만약 쉽게 해결하는 사람이 있다면 이런 심화 문제가 있을 것입니다.
- 문장을 파일로 입력 받기
- 그 문장에 있는 단어들을 순서 대로 배열하기
- 그 단어들의 반복 횟수 조사하기
- 그 단어가 나온 라인 조사 하기
- 총 단어수 출력(중복 제외)
DeleteMe)참고 http://kldp.org/HOWTO/html/C++Programming-HOWTO/ --상민