난수만들기
random number만들기
컴퓨터는 랜덤숫자를 만들 수 없다.

 

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <random>

using namespace std;

int main()
{
	//시드넘버
	srand(5324);
	//시드넘버변경하기
	srand(static_cast<unsigned int>(time(0)));
	for (int i = 1; i <= 100; i++) {
		cout << rand() <<"\t";
		if (i % 5 == 0) {
			cout << endl;
		}
	}

	random_device rd;
	mt19937 ran(rd());
	uniform_int_distribution<> dice(1, 32);

	for (int a = 0; a < 5; a++) {
		cout << a << " : ";
		for (int i = 0; i < 6; i++) {
			cout << dice(ran);
			if (i == 5) {
				cout << endl;
			}
			else {
				cout << "\t";
			}
		}
	}
	
	return 0;
}

cin은 console에서 text입력받을때 사용한다.

ignore는 첫번째 버퍼에 값만 사용한다.
즉 2 3 4 여러개 입력해도 2만 입력이된다.
사용법 : cin.ignore(32767,'\n');

cin에서 변수형에 맞춰 입력이 틀렸을 경우 fail로 사용할 수 있다.

cin 올바른 사용예

#include <iostream>

using namespace std;

int main()
{
	int a;
	while (true) {

		cin >> a;
		
		if (cin.fail()) {
			cin.clear();
			cin.ignore(32767, '\n');
			cout << "다시입력" << endl;
		}
		else {
			break;
		}

	}
	cout << "a : " << a << endl;
	return 0;
}

+ Recent posts