<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EB%B9%B5%ED%8E%98%EC%9D%B4%EC%A7%80%2F%EC%88%AB%EC%9E%90%EC%95%BC%EA%B5%AC</id>
	<title>빵페이지/숫자야구 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=%EB%B9%B5%ED%8E%98%EC%9D%B4%EC%A7%80%2F%EC%88%AB%EC%9E%90%EC%95%BC%EA%B5%AC"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EB%B9%B5%ED%8E%98%EC%9D%B4%EC%A7%80/%EC%88%AB%EC%9E%90%EC%95%BC%EA%B5%AC&amp;action=history"/>
	<updated>2026-05-15T03:20:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=%EB%B9%B5%ED%8E%98%EC%9D%B4%EC%A7%80/%EC%88%AB%EC%9E%90%EC%95%BC%EA%B5%AC&amp;diff=52226&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:29, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=%EB%B9%B5%ED%8E%98%EC%9D%B4%EC%A7%80/%EC%88%AB%EC%9E%90%EC%95%BC%EA%B5%AC&amp;diff=52226&amp;oldid=prev"/>
		<updated>2021-02-07T05:29:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
== 문제 정의 ==&lt;br /&gt;
[[숫자야구]]&lt;br /&gt;
&lt;br /&gt;
난수생성 참고자료 : RandomFunction , WindowsConsoleControl&lt;br /&gt;
&lt;br /&gt;
 DeleteMe 내용이 중복되어서 문제정의와 참고자료 부분을 지웠습니다. 위키라는 지식 풀속에 중복되는 지식은 링크로 충분하겠지요. 아래의 문제들 역시 &lt;br /&gt;
 ~cpp 숫자야구/유주영&lt;br /&gt;
식으로 하는 편이 차후 접근성 측면에서 더 좋을것 같습니다.--NeoCoin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 아악~ 아직 마방진도 못했는데 어려운게 또 -_ㅜ - 승균&lt;br /&gt;
** 해보면 알겠지만 결고 어렵지 않아  - 민수&lt;br /&gt;
* 이거 4자리 수로 만든거 있는데 올려도 되나요?? 소스는 지X같지만 ;;  - 정욱&lt;br /&gt;
* 아 그리고 rand() 만 쓰면 똑같은 숫자만 된다고.. 뭐 다른것도 해야 되던데요.. - 정욱&lt;br /&gt;
** ctime 를 include 하고  srane(time(0)); 을 선언해주면 바뀔걸~   - 민수&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 유주영 ==&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;stdlib.h&amp;amp;gt; &lt;br /&gt;
 #include &amp;amp;lt;time.h&amp;amp;gt; &lt;br /&gt;
 using namespace std;&lt;br /&gt;
  int main()&lt;br /&gt;
 {&lt;br /&gt;
 	&lt;br /&gt;
 	int num[3];&lt;br /&gt;
 	while(num[0]==num[1] || num[1]==num[2] || num[0]==num[2])&lt;br /&gt;
 	{&lt;br /&gt;
 	srand(time(NULL)); &lt;br /&gt;
    for(int i=0; i&amp;amp;lt;3; i++)&lt;br /&gt;
       num[i] = rand()%9 +1; &lt;br /&gt;
     }&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt;&amp;quot;컴퓨터가 생각한 숫자 : &amp;quot; &amp;amp;lt;&amp;amp;lt; num[0] &amp;amp;lt;&amp;amp;lt; num[1] &amp;amp;lt;&amp;amp;lt; num[2] &amp;amp;lt;&amp;amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
 	int ch; &lt;br /&gt;
 	while(ch) // 탈출조건X  &lt;br /&gt;
 	{cout &amp;amp;lt;&amp;amp;lt;&amp;quot;입력 : &amp;quot;;&lt;br /&gt;
 	cin &amp;amp;gt;&amp;amp;gt; ch;&lt;br /&gt;
 	&lt;br /&gt;
 	&lt;br /&gt;
 	int person[3];&lt;br /&gt;
  	int bcount=0;&lt;br /&gt;
 	int scount=0;&lt;br /&gt;
 	person[0] = ch/100;&lt;br /&gt;
 	person[1] = (ch%100)/10;&lt;br /&gt;
 	person[2] = (ch%10);&lt;br /&gt;
 &lt;br /&gt;
 		for(int i=0;i&amp;amp;lt;3;i++)&lt;br /&gt;
 		{&lt;br /&gt;
 			for(int j=0;j&amp;amp;lt;3;j++)&lt;br /&gt;
 			{&lt;br /&gt;
 			if(num[i]==person[j])&lt;br /&gt;
 				{&lt;br /&gt;
 				if(i==j)&lt;br /&gt;
 					scount++;&lt;br /&gt;
 				else&lt;br /&gt;
 					bcount++;&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 &lt;br /&gt;
 		 if(scount==0 &amp;amp;amp;&amp;amp;amp; bcount==0)&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; &amp;quot;출력 : OUT\n&amp;quot;;&lt;br /&gt;
 		else if(scount==0 &amp;amp;amp;&amp;amp;amp; bcount!=0)&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; &amp;quot;출력 : &amp;quot;&amp;amp;lt;&amp;amp;lt; bcount &amp;amp;lt;&amp;amp;lt; &amp;quot;볼\n&amp;quot;;&lt;br /&gt;
 		else if(bcount==0 &amp;amp;amp;&amp;amp;amp; scount!=0)&lt;br /&gt;
 		{	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;출력 : &amp;quot; &amp;amp;lt;&amp;amp;lt; scount &amp;amp;lt;&amp;amp;lt; &amp;quot;스트라이크\n&amp;quot;;&lt;br /&gt;
 			if(scount==3)&lt;br /&gt;
 				break;&lt;br /&gt;
 		}&lt;br /&gt;
 		else &lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; &amp;quot;출력 : &amp;quot;&amp;amp;lt;&amp;amp;lt; scount &amp;amp;lt;&amp;amp;lt; &amp;quot;스트라이크 &amp;quot; &amp;amp;lt;&amp;amp;lt; bcount &amp;amp;lt;&amp;amp;lt; &amp;quot;볼\n&amp;quot;; &lt;br /&gt;
 	}&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; &amp;quot;프로그램을 종료해요.\n&amp;quot;;&lt;br /&gt;
 		return 0;&lt;br /&gt;
 	&lt;br /&gt;
 }&lt;br /&gt;
역시나 야바위의 흔적이.. -_-+&lt;br /&gt;
쓰다보니 길어졌다~ while문 탈출조건 안쓰고 깔끔하게 하는방법 없을까.?&lt;br /&gt;
&lt;br /&gt;
* 오,, 주영 멋쪄~ ㅋㅋ   - 민수&lt;br /&gt;
* 문자 입력하면 매트릭스 모드 돌입하네 -_-;;; - 승균&lt;br /&gt;
** 숫자만 입력하지 않은 죄값을 치룬것이오.ㅋㅋ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 권정욱 ==&lt;br /&gt;
 // 베이스볼 게임입니다. 간단히 말해 숫자 맞추기 게임으로 4자리 의 숫자를 9번 이전에 맞춰야 합니다.&lt;br /&gt;
 &lt;br /&gt;
 #include &amp;amp;lt;iostream.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;stdlib.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;time.h&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	int rand_num[3]; //난수생성에 사용될 변수입니다.&lt;br /&gt;
 	int i, j, k, num;   //i,j,k 는 포문용, num 은 사용자 입력입니다.&lt;br /&gt;
 	int player_num[3];  //사용자가 입력한 값을 각 자리 숫자로 나눠서 rand_num과 비교하기 쉽게 만듭니다.&lt;br /&gt;
 	int ext,extra;    //여분의 변수입니다.&lt;br /&gt;
 	int strike, ball; //스트라이크와 볼의 판정에 쓰입니다.&lt;br /&gt;
  &lt;br /&gt;
 	srand(time(NULL));&lt;br /&gt;
  &lt;br /&gt;
 	for(i=0;i&amp;amp;lt;3;i++){&lt;br /&gt;
 		rand_num[i] = rand()%10;   //한 자리수 난수를 생성합니다.&lt;br /&gt;
 		if (i == 1 &amp;amp;amp;&amp;amp;amp; rand_num[i] == rand_num[0]) &lt;br /&gt;
 			i--;&lt;br /&gt;
 		else if (i == 2 &amp;amp;amp;&amp;amp;amp; (rand_num[i] == rand_num[0] || rand_num[i] == rand_num[1])) &lt;br /&gt;
 			i--;&lt;br /&gt;
 	}          //이 if 문을 통해서 4자리 숫자가 모두 다르게 배열되게 합니다.&lt;br /&gt;
  &lt;br /&gt;
 	for (i=0;i&amp;amp;lt;9;i++){   //게임의 시작&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; &amp;quot;3자리 숫자를 입력하세요(숫자가 겹치지 않게 쓰세요) : &amp;quot; ;&lt;br /&gt;
 		cin &amp;amp;gt;&amp;amp;gt; num;&lt;br /&gt;
 		ext = num;&lt;br /&gt;
   &lt;br /&gt;
 		if (num &amp;amp;lt; 100 || num &amp;amp;gt; 999) {&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; &amp;quot;\a 잘못 입력하셨습니다. 다시 입력하여 주세요. \n&amp;quot;;&lt;br /&gt;
 			i--;&lt;br /&gt;
 		}&lt;br /&gt;
 		else{&lt;br /&gt;
 			for (j=2;j&amp;amp;gt;=0;j--){//숫자를 배열로 바꾸는 포문&lt;br /&gt;
 				player_num[j] = ext%10;&lt;br /&gt;
 				ext = ext/10;&lt;br /&gt;
 			}&lt;br /&gt;
 			for(j=0;j&amp;amp;lt;2;j++){  //각자리 비교 포문 시작&lt;br /&gt;
 				extra = 1;&lt;br /&gt;
 				for(k=j+1;k&amp;amp;lt;3;k++){&lt;br /&gt;
 					if (player_num[j] == player_num[k]) {&lt;br /&gt;
 						cout &amp;amp;lt;&amp;amp;lt; &amp;quot;\a 잘못 입력하셨습니다. 다시 입력하여 주세요. \n&amp;quot;;&lt;br /&gt;
 						i--;&lt;br /&gt;
 						extra = 0;&lt;br /&gt;
 						break;&lt;br /&gt;
 					}&lt;br /&gt;
 					if (extra == 0) break;&lt;br /&gt;
 				}&lt;br /&gt;
 				if (extra == 0) break;&lt;br /&gt;
 			}   // 각자리 비교 포문 끝&lt;br /&gt;
 		}    // else 문 끝&lt;br /&gt;
                   	if (extra == 0) continue;&lt;br /&gt;
 &lt;br /&gt;
 		strike = 0;&lt;br /&gt;
 		ball = 0;&lt;br /&gt;
 &lt;br /&gt;
 		if (extra == 1) {&lt;br /&gt;
 			for(j=0;j&amp;amp;lt;3;j++){  &lt;br /&gt;
 				for(k=0;k&amp;amp;lt;3;k++){&lt;br /&gt;
 					if (rand_num[j] == player_num[k] &amp;amp;amp;&amp;amp;amp; j==k) strike++;&lt;br /&gt;
 					if (rand_num[j] == player_num[k] &amp;amp;amp;&amp;amp;amp; j!=k) ball++;&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		if (strike == 0 &amp;amp;amp;&amp;amp;amp; ball == 0) cout &amp;amp;lt;&amp;amp;lt; &amp;quot;아웃입니다.\n&amp;quot;;&lt;br /&gt;
 		else cout &amp;amp;lt;&amp;amp;lt; strike &amp;amp;lt;&amp;amp;lt; &amp;quot;스트라이크, &amp;quot; &amp;amp;lt;&amp;amp;lt; ball &amp;amp;lt;&amp;amp;lt; &amp;quot;볼 입니다.\n&amp;quot;;&lt;br /&gt;
 		if (strike == 3) {&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; &amp;quot;숫자를 맞추셨습니다.!!\n&amp;quot;;&lt;br /&gt;
 			break;&lt;br /&gt;
 		}&lt;br /&gt;
 		if (i==8 &amp;amp;amp;&amp;amp;amp; strike!=3) cout &amp;amp;lt;&amp;amp;lt; &amp;quot;9회 게임 오버 입니다.\n&amp;quot;;&lt;br /&gt;
 	}     // 게임의 끝&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 보고 놀라지들 말아주시길 -_-;;;  -정욱&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 아.. 그리고 비주얼 베이직이 갑자기 한글이 다 깨져서 나오는데..&lt;br /&gt;
   어떻게 해야 할지 모르겠어요 ㅜㅜ  -정욱&lt;br /&gt;
&lt;br /&gt;
== 일정 ==&lt;br /&gt;
 #include&amp;amp;lt;iostream&amp;amp;gt; // 수정판 ^^&lt;br /&gt;
 #include&amp;amp;lt;ctime&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	int num[3];&lt;br /&gt;
 	int yagu[3];&lt;br /&gt;
 	int a;&lt;br /&gt;
 	cout&amp;amp;lt;&amp;amp;lt;&amp;quot;컴퓨터가 생각하는 숫자:&amp;quot;;&lt;br /&gt;
 	srand(time(NULL));&lt;br /&gt;
 	do&lt;br /&gt;
 	{&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;3;i++)&lt;br /&gt;
 	num[i]=rand()%9+1;&lt;br /&gt;
 	}while(!(num[0]!=num[1] &amp;amp;amp;&amp;amp;amp; num[1]!=num[2] &amp;amp;amp;&amp;amp;amp; num[2]!=num[0]));&lt;br /&gt;
 		cout&amp;amp;lt;&amp;amp;lt;num[0]&amp;amp;lt;&amp;amp;lt;num[1]&amp;amp;lt;&amp;amp;lt;num[2];&lt;br /&gt;
 up :&lt;br /&gt;
 	cout&amp;amp;lt;&amp;amp;lt;&amp;quot;\n입력:&amp;quot;; &lt;br /&gt;
 	cin&amp;amp;gt;&amp;amp;gt;a;&lt;br /&gt;
 	if(a&amp;amp;lt;1000 &amp;amp;amp;&amp;amp;amp; a&amp;amp;gt;99)&lt;br /&gt;
 		{&lt;br /&gt;
 			yagu[0]=a/100;&lt;br /&gt;
 			yagu[1]=(a-yagu[0]*100)/10;&lt;br /&gt;
 			yagu[2]=(a-yagu[0]*100-yagu[1]*10);&lt;br /&gt;
 		}&lt;br /&gt;
 	else&lt;br /&gt;
 			cout&amp;amp;lt;&amp;amp;lt;&amp;quot;세자리수를 입력하세요:&amp;quot;;&lt;br /&gt;
 	&lt;br /&gt;
 	int strike=0;&lt;br /&gt;
 	int ball=0;&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;3;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;3;j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			if(yagu[i]==num[j])&lt;br /&gt;
 			{&lt;br /&gt;
 				if(i==j)&lt;br /&gt;
 					strike++;&lt;br /&gt;
 				if(i!=j)&lt;br /&gt;
 					ball++;&lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	if(strike!=0 &amp;amp;amp;&amp;amp;amp; ball==0)&lt;br /&gt;
 		if(strike==3)&lt;br /&gt;
 			cout&amp;amp;lt;&amp;amp;lt;strike&amp;amp;lt;&amp;amp;lt;&amp;quot;스트라이크! 종료&amp;quot;;&lt;br /&gt;
 		else&lt;br /&gt;
 		{cout&amp;amp;lt;&amp;amp;lt;strike&amp;amp;lt;&amp;amp;lt;&amp;quot;스트라이크&amp;quot;;&lt;br /&gt;
 		goto up;&lt;br /&gt;
 		}&lt;br /&gt;
 	else if(strike==0 &amp;amp;amp;&amp;amp;amp; ball!=0)&lt;br /&gt;
 	{&lt;br /&gt;
 		cout&amp;amp;lt;&amp;amp;lt;ball&amp;amp;lt;&amp;amp;lt;&amp;quot;볼&amp;quot;;&lt;br /&gt;
 		goto up;&lt;br /&gt;
 	}&lt;br /&gt;
 	else if(strike!=0 &amp;amp;amp;&amp;amp;amp; ball!=0)&lt;br /&gt;
 	{&lt;br /&gt;
 		cout&amp;amp;lt;&amp;amp;lt;strike&amp;amp;lt;&amp;amp;lt;&amp;quot;스트라이크&amp;quot;&amp;amp;lt;&amp;amp;lt;ball&amp;amp;lt;&amp;amp;lt;&amp;quot;볼&amp;quot;;&lt;br /&gt;
 		goto up;&lt;br /&gt;
 	}&lt;br /&gt;
 	else&lt;br /&gt;
 	{&lt;br /&gt;
 		cout&amp;amp;lt;&amp;amp;lt;&amp;quot;out&amp;quot;;&lt;br /&gt;
 		goto up;&lt;br /&gt;
 	}&lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
* goto문이 생각나서 쓰긴했는데 ... ... 전에 실습시간에 조교오빠가 goto문 안 쓰는 게 좋다고 한 것 같은데.. ㅡㅜ숫자 입력할 때 한 숫자 넣고 스페이스 바 누른 후 다음 숫자를 입력해야 하는 번거로움이 있네 어떻게 해야하지?? 프로그램이 바르게 돌아가는 게 맞는 지 확신이 없어서 계속 미루고 못 올렸는데 흠.. 틀린 것 좀 알려주시길....  - 일정&lt;br /&gt;
** 무엇이든 100% 좋고 100% 나쁜것은 없습니다. dijkstra 할아버지가 goto 를 쓰지 말라고 하셨을 때도 달리 생각하는 많은 아저씨들이 수많은 논문을 썼고 이로 인해 많은 논쟁이 있었습니다. 중요한것은 &amp;#039;&amp;#039;좋으냐? 혹은 나쁘냐?&amp;#039;&amp;#039; 가 아니라 그 결론에 이루어지기까지의 과정입니다. SeeAlso NotToolsButConcepts Seminar:컴퓨터고전 [http://www.google.co.kr/search?q=goto+statements+considered+harmful&amp;amp;ie=UTF-8&amp;amp;hl=ko&amp;amp;btnG=%EA%B5%AC%EA%B8%80+%EA%B2%80%EC%83%89&amp;amp;lr=  Goto Statements Considered Harmful의 구글 검색결과] Wiki:GotoConsideredHarmful - [[임인택]]&lt;br /&gt;
** 소스코드를 보아하니 레이블로 &amp;#039;&amp;#039;&amp;#039;cin&amp;#039;&amp;#039;&amp;#039; 을 사용하였군요. cin 이 c++의 예약어는 아니지만 예약어와 마찬가지인 ostream 의 객체 이름입니다. 이런 레이블은 코드를 읽는 사람에게 그 의미가 와전되어 전달될 수가 있습니다. - [[임인택]] &lt;br /&gt;
**** 넵!오빠~ thank you~^^ -일정&lt;br /&gt;
* 오~ 일정 대단해~   잘했어~  - 민수&lt;br /&gt;
* 우와...goto...첨보는거다 =ㅅ= - 승균&lt;br /&gt;
* goto 문에 관한 것은 도서관에서 &amp;#039;&amp;#039;마이크로소프트웨어 2003년 4월호&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;다익스트라가 goto에 시비(?)를 건 진짜 이유는 &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; 이라는 기사를 보세요. 2003년에 GotoConsideredHarmful 을 스터디 한후에 토론하고 작성된 기사입니다. Dijkstra 의 심오한 생각들이 묻어 있을겁니다. --[[아무개]]&lt;br /&gt;
* 문득 숙제를 하다 go to에대해 알아보게 되었군요. 편한방법이긴한데.. -주영&lt;br /&gt;
== 오승균의 숫자야구게임 v1.3 ==&lt;br /&gt;
 #include &amp;amp;lt;iostream.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;stdlib.h&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;ctime&amp;amp;gt;&lt;br /&gt;
 void game();&lt;br /&gt;
 void new_game();&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
         cout &amp;amp;lt;&amp;amp;lt; &amp;quot;┌──────────────────────────┐\n&amp;quot; &lt;br /&gt;
                 &amp;quot;│                                                    │\n&amp;quot; &lt;br /&gt;
                 &amp;quot;│                                                    │\n&amp;quot; &lt;br /&gt;
                 &amp;quot;│                  숫  자  야  구                    │\n&amp;quot; &lt;br /&gt;
                 &amp;quot;│                                                    │\n&amp;quot; &lt;br /&gt;
                 &amp;quot;│                      게   임 ver 1.3               │\n&amp;quot; &lt;br /&gt;
                 &amp;quot;│                                                    │\n&amp;quot; &lt;br /&gt;
                 &amp;quot;│                                                    │\n&amp;quot; &lt;br /&gt;
                 &amp;quot;│                                                    │\n&amp;quot; &lt;br /&gt;
                 &amp;quot;│                                  Made by 오승균    │\n&amp;quot; &lt;br /&gt;
                 &amp;quot;│                                                    │\n&amp;quot; &lt;br /&gt;
                 &amp;quot;└──────────────────────────┘\n&amp;quot;;// 타이틀 화면	&lt;br /&gt;
 &lt;br /&gt;
          cout &amp;amp;lt;&amp;amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 	game(); // 게임함수 시작&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void game()&lt;br /&gt;
 {&lt;br /&gt;
 	char random[4]; // 임의로 만들어질 숫자를 저장하는 배열&lt;br /&gt;
 	char space[64]; // 입력하는 숫자를 저장하는 배열&lt;br /&gt;
 	int strike = 0; // 스타라이크 카운터 초기화&lt;br /&gt;
 	int ball = 0; // 볼 카운터 초기화&lt;br /&gt;
 	srand(time(NULL));&lt;br /&gt;
 	&lt;br /&gt;
 	for (int i = 0; i &amp;amp;lt; 4; i++)	&lt;br /&gt;
 	{	&lt;br /&gt;
 		random[i] = &amp;#039;0&amp;#039; + rand() % 9 + 1;&lt;br /&gt;
         for (int j = 0; j &amp;amp;lt; i; j++)&lt;br /&gt;
 			if (random[i] == random[j])&lt;br /&gt;
 			{&lt;br /&gt;
 				i--;&lt;br /&gt;
 				break;&lt;br /&gt;
 			}&lt;br /&gt;
 	} // 랜덤하게 4자리 숫자를 생성합니다&lt;br /&gt;
 	&lt;br /&gt;
 	&lt;br /&gt;
 	/*cout &amp;amp;lt;&amp;amp;lt; random[0] &amp;amp;lt;&amp;amp;lt; random[1] &amp;amp;lt;&amp;amp;lt; random[2] &amp;amp;lt;&amp;amp;lt; random[3] &amp;amp;lt;&amp;amp;lt; endl;*/ // 대략 답 -_-;;;&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;랜덤하게 4자리숫자를 만들었습니다. 맞춰보세요 *^^* (종료 : Q)\n\n&amp;quot;;&lt;br /&gt;
 	&lt;br /&gt;
 	int success = 0; // 제대로 입력했는지 확인 절차 (0 = 실패, 1 = 성공)&lt;br /&gt;
 &lt;br /&gt;
 	while (success == 0)&lt;br /&gt;
 	{	&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; &amp;quot;숫자를 입력하세요 : &amp;quot;;&lt;br /&gt;
 		cin.getline(space, 64);&lt;br /&gt;
 		success = 1;&lt;br /&gt;
 &lt;br /&gt;
 		if ((space[0] == &amp;#039;q&amp;#039; || space[0] == &amp;#039;Q&amp;#039;) &amp;amp;amp;&amp;amp;amp; space[1] == &amp;#039;\0&amp;#039;) &lt;br /&gt;
 		{&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; &amp;quot;Bye!!\n&amp;quot;;&lt;br /&gt;
 			exit(0);&lt;br /&gt;
 		} // 도중에 &amp;#039;Q&amp;#039;를 입력하면 종료&lt;br /&gt;
 		&lt;br /&gt;
 		for (i = 0; i &amp;amp;lt; 4; i++)&lt;br /&gt;
 		{	&lt;br /&gt;
 			if (space[i] &amp;amp;lt; &amp;#039;1&amp;#039; || space[i] &amp;amp;gt; &amp;#039;9&amp;#039;) &lt;br /&gt;
 			{&lt;br /&gt;
 				success = 0;&lt;br /&gt;
                 break;&lt;br /&gt;
 			}&lt;br /&gt;
 		} // 1~9사이에 숫자가 제대로 입력되었는지 확인 &lt;br /&gt;
         if (space[4] != &amp;#039;\0&amp;#039;)&lt;br /&gt;
 			success = 0; // 4자리가 정확히 입력되었는지 확인&lt;br /&gt;
 		for (i = 0; i &amp;amp;lt; 3; i++)&lt;br /&gt;
 			for (int h = i + 1; h &amp;amp;lt; 4; h++)&lt;br /&gt;
 				if (space[i] == space[h])&lt;br /&gt;
 				{	&lt;br /&gt;
 					success = 0;&lt;br /&gt;
 					break;&lt;br /&gt;
 				} // 중복 입력이 되었는지 확인&lt;br /&gt;
 		if (success == 0)&lt;br /&gt;
 			continue; // 위 사항중 1개라도 걸리면 다시 입력&lt;br /&gt;
 &lt;br /&gt;
 		// 여기서 부터 제대로 입력했을시...&lt;br /&gt;
 		&lt;br /&gt;
 		for (int j = 0; j &amp;amp;lt; 4; j++)&lt;br /&gt;
 		{&lt;br /&gt;
 			if (space[j] == random[j])&lt;br /&gt;
 				strike++; // 스트라이크 카운터&lt;br /&gt;
 			for (int k = 0; k &amp;amp;lt; 4; k++)&lt;br /&gt;
 				if (j != k &amp;amp;amp;&amp;amp;amp; space[j] == random[k])&lt;br /&gt;
 					ball++; // 볼 카운터&lt;br /&gt;
 				else &lt;br /&gt;
 					continue;&lt;br /&gt;
 				&lt;br /&gt;
 		}&lt;br /&gt;
 			&lt;br /&gt;
 		if (strike == 0 &amp;amp;amp;&amp;amp;amp; ball == 0)&lt;br /&gt;
 		{&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; &amp;quot;결과 : &amp;quot;;&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; &amp;quot;OUT!!&amp;quot;;	// 스트라이크, 볼이 없는 겨우 &amp;#039;OUT&amp;#039; 출력		&lt;br /&gt;
 		}&lt;br /&gt;
 		else if (strike == 4)&lt;br /&gt;
 			new_game(); // 정확히 맞췄을 경우 new_game함수로 이동&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; &amp;quot;결과 : &amp;quot;;&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; strike &amp;amp;lt;&amp;amp;lt; &amp;quot;S&amp;quot; &amp;amp;lt;&amp;amp;lt; &amp;quot;  &amp;quot; &amp;amp;lt;&amp;amp;lt; ball &amp;amp;lt;&amp;amp;lt; &amp;quot;B&amp;quot;;&lt;br /&gt;
 		} // 입력에 대한 결과 출력&lt;br /&gt;
 		&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 		&lt;br /&gt;
 		strike = 0;&lt;br /&gt;
 		ball = 0; &lt;br /&gt;
 		success = 0; // success를 0으로 초기화함으로써 while문 다시 시작&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 void new_game() // 게임에서 성공했을시 여기로 이동&lt;br /&gt;
 {	&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; &amp;quot;맞추셨습니다. 또 하시겠습니까? (Y/N) : &amp;quot;;&lt;br /&gt;
 	char ch;&lt;br /&gt;
 	cin &amp;amp;gt;&amp;amp;gt; ch;&lt;br /&gt;
 	&lt;br /&gt;
 	while (ch != &amp;#039;y&amp;#039; || ch != &amp;#039;Y&amp;#039; || ch != &amp;#039;n&amp;#039; || ch != &amp;#039;N&amp;#039;)&lt;br /&gt;
 	{&lt;br /&gt;
 		if (ch == &amp;#039;y&amp;#039; || ch == &amp;#039;Y&amp;#039;)&lt;br /&gt;
 		{&lt;br /&gt;
 			while (cin.get() != &amp;#039;\n&amp;#039;)&lt;br /&gt;
 				continue; // y를 치고 엔터를 쳤을때 생기는 개행문자 제거&lt;br /&gt;
 			game();&lt;br /&gt;
 			break;&lt;br /&gt;
 		}&lt;br /&gt;
 		else if (ch == &amp;#039;n&amp;#039; || ch == &amp;#039;N&amp;#039;)&lt;br /&gt;
 		{	&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; &amp;quot;Bye!!\n&amp;quot;;&lt;br /&gt;
 			exit(0); // 게임 종료&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			cout &amp;amp;lt;&amp;amp;lt; &amp;quot;맞추셨습니다. 또 하시겠습니까? (Y/N) : &amp;quot;;&lt;br /&gt;
 			cin &amp;amp;gt;&amp;amp;gt; ch; &lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 /*&lt;br /&gt;
 Ver 1.3 Update&lt;br /&gt;
 게임 도중에 종료기능 추가&lt;br /&gt;
 &lt;br /&gt;
 Ver 1.2 Update&lt;br /&gt;
 개행문자 제거하기 (무쟈게 어려웠어요 ㅜㅜ)&lt;br /&gt;
 &lt;br /&gt;
 Ver 1.1 Update&lt;br /&gt;
 3자리수에서 4자리수로 변경. 소스 대거 수정.&lt;br /&gt;
 &lt;br /&gt;
 Ver 1.0&lt;br /&gt;
 기본 틀 완성. 게임은 제대로 구동되나 숫자 이외의 문자 입력시 메트릭스 모드 돌입 -_-;;;&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
에효...무쟈게 힘들었음 ㅜㅜ&lt;br /&gt;
그래도 성공하니 뿌듯하네요.&lt;br /&gt;
그리고...&lt;br /&gt;
절대!!!!!!!!!!&lt;br /&gt;
이거 혼자한거 아님.&lt;br /&gt;
기본틀은 혼자서 다 했는데,&lt;br /&gt;
메트릭스모드 제거 이런건 도움좀 받았음.&lt;br /&gt;
&lt;br /&gt;
P.S. 윽...소스가 정리가 안되어서 보기에 좋지는 않군 (쿨럭) 비쥬얼C++에다 직접 붙여서 보세요 ~_~&lt;br /&gt;
[[Digi-VM]]&lt;br /&gt;
----&lt;br /&gt;
[[빵페이지]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>