<style type="text/css"> p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #e47c48; background-color: #000000} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ff2c38; background-color: #000000} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ffffff; background-color: #000000; min-height: 13.0px} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ffffff; background-color: #000000} p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #23ff83; background-color: #000000} p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #41cc45; background-color: #000000} p.p7 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #d31895; background-color: #000000} span.s1 {color: #ff2c38} span.s2 {color: #e47c48} span.s3 {color: #786dff} span.s4 {color: #41cc45} span.s5 {color: #d31895} span.s6 {color: #ffffff} span.s7 {color: #00a0ff} span.s8 {color: #23ff83} </style>
#include
#include
#include
#define trycount 10 //입력할 숫자의 개수
#define numberRange 30 //추첨될 숫자의 범위 + 1
int randNum;
int correctSeed;
int correctScore,fairCount;
int dummyNum;
int userAns;
int comp_num[trycount];
int user_num[trycount];
void num_set(void);
void num_set_user(void);
void repeat_program(void);
void execute_array(void);
int main(void) {
repeat_program();
return 0;
}
//-------------------------------------------------
void repeat_program(void){
srand((unsigned)time(NULL));
num_set_user();
num_set();
puts("");
printf("-=당신의 숫자=-\n");
for(int p = 0 ; p < trycount ; p++){
if (p != (trycount-1)){
printf("%d-",user_num[p]);
}
else{
printf("%d\n",user_num[p]);
}
}
puts("");
printf("-=추첨된 숫자=-\n");
for(int u = 0 ; u < trycount ; u++){
if (u != (trycount-1)){
printf("%d-",comp_num[u]);
}
else{
printf("%d\n",comp_num[u]);
}
}
for(int j = 0 ; j < trycount ; j++){ //번호 확인
for(int k = 0 ; k < trycount ; k++){
if (user_num[j] == comp_num[k]){
correctScore += 1;
}
}
}
puts("");
for (int q = 0 ; q < trycount ; q++){
if(comp_num[q] == user_num[q]){
fairCount += 1;
}
else{
continue;
}
}
printf("당신이 맞춘 숫자의 개수는 %d개 입니다.\n",correctScore);
printf("그 중 순서까지 맞춘 숫자의 개수는 %d개 입니다.\n",fairCount);
printf("총점은 %d점 입니다.\n",correctScore + fairCount*2);
printf("--숫자를 맞췄을 경우 1점, 순서까지 맞췄을 경우 대신 3점--\n");
puts("");
printf("다시 하시려면 1을, 종료하시려면 다른 아무키나 입력하세요:");
scanf("%d",&userAns);
if(userAns == 1){
printf("다시 시작합니다.\n");
puts("");
execute_array();
repeat_program();
}
else{
printf("프로그램을 종료합니다.\n");
puts("");
}
}
void num_set(void){
for(int i = 0 ; i < trycount ; i++ ){ //번호 추첨 중복 비허용
randNum = rand()%numberRange;
for(int b = 0 ; b < trycount ; b++ ){
if (comp_num[b] == randNum){
correctSeed += 1;
}
}
if (correctSeed != 0){
i--;
correctSeed = 0;
continue;
}
else{
comp_num[i] = randNum;
}
}
}
void num_set_user(void){
for (int k = 0 ; k < trycount ; k++){ //유저 입력 중복 비허용
printf("%d번째 숫자를 입력하시오 : ",k+1);
scanf("%d",&dummyNum);
for (int m = 0 ; m < trycount ; m++){
if (user_num[m] == dummyNum){
correctSeed += 1;
}
}
if (dummyNum >= numberRange || dummyNum == 0){
k--;
correctSeed = 0;
printf("번호가 범위를 벗어났습니다.(1~%d)\n",numberRange-1);
continue;
}
else if (correctSeed != 0){
k--;
correctSeed = 0;
printf("중복된 번호가 존재합니다.\n");
continue;
}
else{
user_num[k] = dummyNum;
}
}
}
void execute_array(void){
for(int d = 0 ; d < trycount ; d++){
comp_num[d] = 0;
user_num[d] = 0;
}
correctScore = 0;
fairCount = 0;
}
빡대가리라못하겟어
중간에 공백이랑 엔터 주석 다지워
가독성을 챙기려면 가운데정렬을 하자