C++ 중간고사 정리

niraaah·2023년 6월 30일
0

혼자하는 스터디

목록 보기
24/25
  1. 챕터 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);
}
  1. 챕터 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();
} //0~32767 사이의 난수
int Random::nextInRange(int a, int b) {
	return rand() % (b - a + 1) + a;
} //a~b 사이의 난수
int main() { //난수 10개 생성
	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;

}
  1. 챕터 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;
}
profile
코딩천재

0개의 댓글