- 챕터 3의 실습문제 2: find substr stoi 쓰는 법
Date::Date(string s) {
int index = s.find('/');
year = stoi(s.substr(0, index));
s = s.substr(index + 1);
index = s.find('/');
month= stoi(s.substr(0, index));
s = s.substr(index + 1);
day = stoi(s);
}
- 챕터 3의 실습문제 5: 일정 범위 내의 난수 생성
- cstdlib ctime 포함시키기
- srand((unsigned)time(0)); 으로 시드 초기화
- rand() 로 난수 생성
- a~b사이: rand() % (b - a + 1) + a
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
class Random {
public:
Random();
int next();
int nextInRange(int, int);
};
Random::Random() {
srand((unsigned)time(0));
}
int Random::next() {
return rand();
}
int Random::nextInRange(int a, int b) {
return rand() % (b - a + 1) + a;
}
int main() {
Random r;
for (int i = 0; i < 10; i++) {
cout << r.next() << ' ';
}
cout << endl;
for (int i = 0; i < 10; i++) {
cout << r.nextInRange(2, 4) << ' ';
}
cout << endl;
}
- 챕터 4의 실습문제 3(2): find 함수 사용하기
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
int count = 0;
cout << "문자열 입력>>";
getline(cin, str);
int found = str.find('a');
while (found != -1) {
count++;
found = str.find('a', found + 1);
}
cout << "문자 a는 " << count << "개 있습니다." << endl;
return 0;
}