c언어로 야구게임 만들어오라길래
밑에처럼 해봤는데 진심 핵노답급임
문제가 되는게
스트라이크랑 볼의 카운트가 올라가질 않음 암만봐도 난수가 안잡히는거 같다.
그리고 0을 넣어도 종료가 안됨 if문 넣었는데 왜 종료가 안되냐
아 제발 좀알려줘라 힘들어
방금 겜겔에서 물어봤다가 뺀찌맞고 다시왔다 살려줘라 제발...
이거 한다고 두뇌 과부하 걸려서 쓸수도없는 똥머리가 멈춰버림
씨발 방금 c언어 질문받는다는새기는 왜 잠수타냐 아 시발 머기리 터지곘다 도와줘 ㅠㅠ
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
void main()
{
char input[10]; // 입력받을 배열
int randNum[3]; // 난수를 저장할 배열
int i, j; // 반복문에 사용할 변수
int size; // 배열의 크기를 구하여 저장할 변수
int randOne; // 하나의 난수값 저장할 임시 변수
int strikeCnt=0; // 스트라이크 개수 저장할 변수
int ballCnt=0; // 볼 개수 저장할 변수
srand((unsigned)time(NULL)); // 난수 발생기 초기화 한번만 사용
(rand() % (8))+1;
//rand() : 0부터 무한대의 정수 형태의 난수 발생 함수
// 1~9까지의 난수 발생
//1. 반복문을 이용하여 3개의 난수를 구하여 randNum 배열에 저장. 중복값 없도록 체크
// 2. 세 자리의 숫자 형태의 문자열을 입력받아 randNum 배열의 값과 비교.
// 위치와 숫자가 같으면 스트라이크, 위치가 다르지만 숫자가 같으면 볼.
// 0을 입력하거나 3스트라이크가 되면 프로그램 종료.
printf("게임을 시작합니다.n");
for(i=0; i<3; i++)
{
randNum[i]=rand() % 8+1;
for(j=0; j<i; j++)
{
if(randNum[i]==randNum[j])
{
i--;
break;
}
}
}
while(1)
{
printf("숫자를 입력하세요(종료는 0) : ");
scanf("%s",input);
if(input == 0)
{
break;
}
if(input[0]==input[1]||input[0]==input[2]||input[1]==input[2])
{
printf("중복된 숫자는 입력할 수 없습니다.n");
continue;
}
if(input[3] != NULL)
{
printf("세자리 수를 입력하세요n");
continue;
}
for(i=0; i<3;i++)
{
for(j=0;j<3;j++)
{
if(randNum[i]==input[j]&&i==j)
strikeCnt++;
if(randNum[i]==input[j]&&i!=j)
ballCnt++;
}
}
if(strikeCnt==3)
{
printf("정답입니다.n");
break;
}
printf("%d 스트라이크 %d 볼입니다.n",strikeCnt,ballCnt);
strikeCnt=ballCnt=0;
fflush(stdin);
}
}
근데 야구게임이 원래 1 ~ 8을 입력받는거였냐?
낄낄