기금넷 공식사이트 - 복권 조회 - 무릎을 꿇고 c++ 프로그래밍 제목을 구하고 스포츠 복권과 추첨 프로그램을 설계하다.
무릎을 꿇고 c++ 프로그래밍 제목을 구하고 스포츠 복권과 추첨 프로그램을 설계하다.
스포츠 복권에 당첨되는 과정을 설계하다.
스포츠 복권 당첨 등급은 특등상 (7 자리 모두 일치) 과 1 등상 (6 자리 연속 일치) 으로 나뉜다.
2 등상 (5 연호 일치), 3 등상 (4 연호 일치), 위로상 (2 연호 일치)
보상 규칙을 수립하고 각 등급의 보너스 액수를 사용자 정의하십시오.
입력의 번거로움을 피하기 위해서, 나는 이미 너의 각급 상금액과 시뮬레이션 매개변수를 상자에 저장했다.
시뮬레이션 결과를 Output.txt 파일에 저장합니다.
Set.set 파일에 대한 쓰기 규칙은 다음과 같습니다.
첫 번째 동작 시뮬레이션 매개변수, 첫 번째 숫자는 시뮬레이션 횟수, 두 번째와 세 번째 숫자는 가장 작은 숫자입니다.
값과 최대값, 네 번째 숫자는 베팅 및 포상 프로세스 (0 은 아니오, 1 은 예) 를 표시할지 여부 (0 은 아니오,1은 예) 이며 각 숫자는 공백으로 구분됩니다.
두 번째 줄은 각 상에 대한 보너스 액수로, 각 숫자는 공백으로 구분된다.
예를 들면 다음과 같습니다.
1000000191
1000000 50000 5000100 5
Set.set 파일은 영어 반각 입력기 편집을 사용하여 ANSI 인코딩으로 저장해야 합니다.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
# include & ltiostream & gt
# include & ltfstream & gt
# include & ltstdlib.h & gt
# include & lttime.h & gt
네임스페이스 STD 사용
학급 추첨
{
개인:
Int simuCount// 시뮬레이션 수
총 int nCodes// 숫자 수
Int minCode// 최소 수량
Int maxCode// 최대 수량
Int countCode// 숫자당 선택 수
Bool bDisplay// 프로세스 표시 여부 ?
쌍상 [6]; //보상 당 보너스 금액
공용:
//각 매개 변수를 초기화합니다.
Void InitLottery ()
{
Int I;;
Fstream 문서 세트;
FileSet.open("Set.set ",IOs _ base:: in);
If(fileSet.is_open ())
{
설명서 세트> & gtsimucount & gt & gtmincode & gt & gtmax code & gt>b 표시;
상 [5] = 0.0; //5 등상을 설정해도 당첨되지 않습니다.
For(I = 0;; 나<5; I++)
{
문서 세트>& gt 상 [I];
Cout & lt& lt 나<& lt' 1 등상: "
}
}
기타
{
Cout & lt& lt”Set.set 가 없습니다. 기본 매개변수로 시뮬레이션됩니다. \ n;
Simucount =1000000;
Mincode =1; Maxcode = 9;
BDisplay = true
보상 [0] =100000;
상 [1] = 50000;
상 [2] = 5000;
상 [3] =100;
상 [4] = 5;
Awards [5] = 0;
}
Fileset.close ();
Cout & lt& lt "시뮬레이션 시간:"
Cout & lt& lt "최소 수량:"
Cout & lt& lt "프로세스 표시:"
Cout & lt& lt "보상당 보너스 금액: \ n;
For(I = 0;; 나<5; I++)
{
Cout & lt& lt 나<& lt' 1 등상: "
}
Srand (시간 (0));
}
//7 개의 고유한 숫자를 무작위로 생성합니다.
Void GenerateCodes(int code[]) 입니다
{
Int n, I, j;
Int m = maxCode-minCode;;
코드 [0] = rand ()% m+mincode;
For (I =1; 나<7; I++)
{
N = rand ()% m+mincode;
For(j = 0;; J< 나; J++)
{
If (n = = 코드 [j])
{
N = rand ()% m+mincode;
J =-1;
}
}
코드 [I] = n;
}
}
//숫자를 비교해서 자신이 얼마나 많은 상을 받았는지 판단하다.
Int CompareCodes(int rightCode[], int myCode[])
{
Int I, j, n;
N = 0;;
For(I = 0;; 나<7; I++)
{
For(j = 0;; J<7; J++)
{
If(myCode[i]==rightCode[j])
{
N++;+;
}
}
}
스위치 (n)
{
시나리오 7:
0 을 반환합니다 //대상 (7 자리 일치)
시나리오 6:
1; //1 등상 (연속 6 자리 일치)
시나리오 5:
Return 2;; //2 등상 (연속 5 자리 일치)
시나리오 4:
반환 3; //3 등상 (연속 4 자리 일치)
사례 3:
사례 2:
반환 4; //위로상 (두 개 이상의 연속 번호가 일치)
기본값:
반환 5; //나머지는 당첨되지 않습니다
}
반환 5;
}
//시뮬레이션 수행
Void 시뮬레이션 ()
{
이중 소품 [6];
Int NP [6];
Intright _ code [7];
Intmy _ code [7];
Int c, l, I;
For(c = 0;; C<6; C++)
{
Np [c] = 0;
}
//시뮬레이션 시작
For(c = 0;; C & ltsimuCountc++)
{
Generate codes (my _ code);
Generate codes (right _ code);
L=CompareCodes (오른쪽 _ 코드, 내 _ 코드);
(l>= 0 & amp& ampl & lt6) 인 경우
{
Np [l]++;
}
If(b 디스플레이)
{
Cout & lt& lt "베팅 번호:";
For(I = 0;; 나<6; I++)
{
Cout & lt & ltmy _ code [I] < & lt ",";
}
Cout & lt& lt "복권 번호:";
For(I = 0;; 나<6; I++)
{
Cout & lt & ltright _ code [I] < & lt ",";
}
Cout & lt& lt "네가 이겼어"
}
}
//통계 결과
Fstream 파일 출력;
FileOut.open("Output.txt ",IOs _ base:: out);
Cout & lt& lt "시뮬레이션 결과: \ n";
FileOut & lt& lt "시뮬레이션 결과: \ n";
For(c = 0;; C<6; C++)
{
Prop [c] =1.0 * NP [c]/simucount;
Cout & lt& LTC<& lt' 1 등상 당첨 확률: "<< prop [c] *100<<"% \ n
FileOut & lt& LTC<& lt "1 등상 당첨 확률:" << prop [c] *100<< "%\
}
Fileout.close ();
}
}
주 ()
{
Cout & lt& lt' 스포츠 복권 투척 및 당첨 과정 시뮬레이션 \ n”;
추첨 섹터
많이. Initlottery ();
많이. Simulate ();
}
- 관련 기사
- 학생당 학습은 자매체 무료 학습 사이트를 운영할 수 있다.
- 민생과 국악의 무대를 어디서 찾을 수 있습니까?
- 고전 농담
- 복색구 역사상 09101819 28 29 # 01을 기록한 번호가 있나요?
- 202 1 광시에서 산 집은 얼마의 세금을 환급받을 수 있습니까?
- 스크레이퍼를 결혼식의 한 형태로 받아들이는 것이 가능합니까?
- 20 19 운세가 쌍둥이자리의 아름다운 미래를 먼저 볼 수 있을까?
- 광둥 휴대폰 앱 불만은 어디에 있습니까?
- 꿈에서 사엽초를 보는 것은 무슨 징조입니까?
- 광서원보 앞에는 20 자가 있는데, 다른 글자는 읽을 수 없다. 뒷면에는 숫자가 20 인 용이 있다. 나머지는 모두 영어입니다. 현재 액면가는 얼마입니까? QQ3 ...