playXP

서브 메뉴

Page. 1 / 12503 [내 메뉴에 추가]
글쓰기
작성자 아이콘 [감염된프로토스]
작성일 2014-10-30 22:42:41 KST 조회 1,462
제목
c언어 짜는거 하나만 도와주세요 ㅠㅠ
‘숫자 야구 게임’ 이라는 게임이 있다.
 룰은 다음과 같다: 프로그램상에 지정된 네 자리의 숫자가 있다. 
사용자로부터 네 자리 숫자를 입력 받고, 이를 프로그램상의 숫자와 비교한다.
1) 사용되는 숫자는 0에서 9까지이다.
2) 숫자는 맞지만 위치가 틀렸을 경우 볼.
3) 숫자도 맞고 위치도 맞으면 스트라이크.
4) 숫자와 위치 모두 틀리면 아웃.
볼과 스트라이크의 숫자를 세어 출력하고 모두 아웃이면 ‘아웃’을 출력한다.
프로그램상의 숫자를 ‘6103’으로 정하고, while문을 이용하여 4자리 숫자를 계속 입력 받아 결과를 출력하는 프로그램을 작성하시오.

이거 어찌 만들어야지 잘 만들었다고 소문날까요

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

발도장 찍기
아이콘 Levi. (2014-10-30 22:47:48 KST)
0↑ ↓0
센스 이미지
와.. 이거 대1때 햇던건데...
아이콘 _[O_O]_ (2014-10-30 22:50:20 KST)
0↑ ↓0
센스 이미지
ㄴ 글쓴이도 대1
아이콘 어그로중독자 (2014-10-30 22:53:08 KST)
0↑ ↓0
센스 이미지
네칸짜리 배열에 각 자릿수 넣고 하나하나 비교하는 식으로 하면 될듯
아이콘 [감염된프로토스] (2014-10-30 23:04:30 KST)
0↑ ↓0
센스 이미지
작성은 했는데 무한 반복을 어찌해야되는지 몰겠다 으아아ㅏ
아이콘 [감염된프로토스] (2014-10-30 23:07:22 KST)
0↑ ↓0
센스 이미지
#include<stdio.h>
int main(void)
{
int fi, si, ti, foi, ball, strike;
while(1)
{
ball=0;
strike=0;
printf("4자리 숫자를 입력하시오:");
scanf("%d %d %d %d",&fi,&si,&ti,&foi);
switch(fi)
{
case 6:
strike=++strike;
break;
case 1:
case 0:
case 3:
ball=++ball;
break;
default:
break;

}
switch(si)
{
case 1:
strike=++strike;
break;
case 6:
case 0:
case 3:
ball=++ball;
break;
default:
break;
}
switch(ti)
{
case 0:
strike=++strike;
break;
case 6:
case 1:
case 3:
ball=++ball;
break;
default:
break;
}
switch(foi)
{
case 3:
strike=++strike;
break;
case 6:
case 1:
case 0:
ball=++ball;
break;
default:
break;
}
if(ball==0&&strike==0)
printf("아웃입니다\n");
else
printf("%d스트라이크 %d 볼입니다.\n", strike, ball);
}
return 0;
}
아이콘 [감염된프로토스] (2014-10-30 23:07:33 KST)
0↑ ↓0
센스 이미지
이렇게 짜도 되는 것인가 ㅅㅂ...
아이콘 중복된아이디 (2014-10-30 23:14:53 KST)
0↑ ↓0
센스 이미지
교수들이 짜나 대1때 이거하네
아이콘 깐포도 (2014-10-30 23:17:17 KST)
0↑ ↓0
센스 이미지
야구게임 c프로그래밍 으로 구글하면 왠지 나올거 같은데
아이콘 메없산왕 (2014-10-30 23:40:36 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
야 이거 내가 중3때 수학선생님한테 배운건데 꿀잼...아는 사람들이랑 시간많으면 이걸로 때우곤 했는데
아이콘 갓료선 (2014-10-31 00:42:24 KST)
0↑ ↓0
센스 이미지
숫자를 미리 지정해놨다고 그걸 그대로 스위치문에 써넣으면 별로 좋은게 아닌거 같은데.
아이콘 CF_Crusader (2014-10-31 08:53:28 KST)
0↑ ↓0
센스 이미지
4자리 숫자를 입력받는게 반드시 1 2 3 4 라고 해야 되나요? 그건 좀 무리같은데
1234<-이렇게 받게 한 다음에 처리하는게 맞는거 같고
위엣분이 적으신대로 switch문에 6103을 그대로 넣는건 절대 좋은게 아닙니다.
대안이 있다면 하나 예로 들어서 위에 #define해놓은 다음 그걸 활용하던가
아니면 프로그램 최초에 구동할 때 숫자 변수 하나를 만들어서 거기에 1000~9999의 랜덤 숫자가 들어가도록 하게 한 다음 그 랜덤 숫자만 써 먹는것도 하나의 방법이 되겠죠.
아이콘 CF_Crusader (2014-10-31 08:58:05 KST)
0↑ ↓0
센스 이미지
그리고 무한반복문을 빠져나가는 방법이 적으신 코드에는 없는데
게임이 끝나는 조건을 if문으로 걸어놓으시고
그게 맞을 때 break시켜 버리면 빠져나옵니다
아이콘 그까지 (2014-10-31 11:51:57 KST)
0↑ ↓0
센스 이미지
프로그램 짜시기전에 흐름을 먼저구상하세요 그러면단지언어는 도구일뿐이에요
지금 당장 종이와 연필들고 루프를 직접 돌려 보세요 그리고 스위치는 변수를 넣기 애매하기때문에 if else로 해보시고 6103을 배열에 담으세요 그래야 나중에 프로그램확장이 됩니다.
루프는 조금ㅁ만 고민하면 바로답나올겁니다
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.