Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C++ by asd ( 6 years ago )
#include <iostream>
#include <vector>
#include "stdafx.h"
using namespace std;
struct LottoNum
{
unsigned int num[6];
LottoNum()
{
memset(num, 0, sizeof(unsigned int) * 6);
}
};
class LottoNumGenereator
{
public:
virtual LottoNum GetNumber() = 0;
};
class AutoNumGenerator : public LottoNumGenereator
{
public:
LottoNum GetNumber() override;
};
LottoNum AutoNumGenerator::GetNumber()
{
int index = 0;
LottoNum result;
for (int i = 0; i < 6; ++i)
{
result.num[i] = rand() % 45 + 1;
}
return result;
}
class ManualNumGenerator : public LottoNumGenereator
{
public :
LottoNum GetNumber() override;
};
LottoNum ManualNumGenerator::GetNumber()
{
int index = 0;
int num = 0;
LottoNum result;
for (int i = 0; i < 6; ++i)
{
cout << "번호를 입력하세요 : ";
cin >> num;
while(num < 1 || num > 45)
{
cout << "번호를 다시 입력하세요 : ";
cin >> num;
}
result.num[i] = num;
}
return result;
}
class Lotto
{
LottoNumGenereator * mLottoNumGenerator;
public:
void SetLottoNumGenerator(LottoNumGenereator * lottoNumGenerator)
{
mLottoNumGenerator = lottoNumGenerator;
}
LottoNum GetNumber()
{
return mLottoNumGenerator->GetNumber();
}
};
int main()
{
Lotto lotto;
AutoNumGenerator autoNumGenerator;
ManualNumGenerator manualNumgenerator;
lotto.SetLottoNumGenerator(&autoNumGenerator);
lotto.GetNumber();
lotto.SetLottoNumGenerator(&manualNumgenerator);
lotto.GetNumber();
return 0;
}
Revise this Paste