본문 바로가기

프로그래밍

C# 난수(Random)를 이용한 숫자 맞추기 Chapter 02

 

이번 글에서도 이어서 숫자 맞추기 프로그램을 만들어 보겠습니다. 오늘 살펴볼 코드들은 while, if else 입니다. 

 

 

코드 살펴보기

 

저번 글에서 변수타입과 Random클래스중 Next() 함수에 대해서 알아봤습니다. 오늘은 코딩의 꽃이라고 부를 수있는 if, for, while문 중 while문을 알아보겠습니다. 

while(int.Parse(Console.ReadLine()) != RanNum)
{
    ~~~~
}
    ~~~~

 

01. Console.ReadLine() & Console.WriteLine()

 

현재 코드를 보면 while 옆에 괄호가 있고 괄호안에 복잡하게 보이는 코드가 있습니다. 우리는 초보자이기 때문에 복잡한 설명보다 직관적인 설명을 하겠습니다. 먼저 이 코드는 사용자의 입력을 받을 수 있는 함수 입니다. 'Console.'은 저번에 배운 'Random.'클래스와 비슷해 보입니다. 그렇게 생각하셨다면 이미 반은 아신거와 다름없습니다. Random클래스와 마찬가지로 Console클래스에서 ReadLine()함수(메서드)를 불러 오는것 입니다. ReadLine()는 입력을 받을 수 있는 함수라고 설명 했습니다. 그렇다면 출력하는 함수도 있을까요? 당연히 있습니다. 바로 Console.WriteLine()함수 입니다. 마찬가지로 Console클래스에서 WriteLine()이라는 함수를 가져온겁니다. Console이라는 클래스는 많은 함수를 가지고 있습니다.

클래스 함수
Console. Write()
WrtieLine()
Read
ReadLine()

이렇게 Console.클래스에서 자주 쓰이는 함수들을 알아봤습니다. 자주 쓰이는 코드들이니 꼭 기억해주세요.

 

02. 문자열을 정수(int)로 변환

 

옆에보면 'int.Parse()'라고 코딩되어 있습니다. 이에 대한 설명이 이해되려면 문자열과 정수의 타입에대한 특징을 알아야합니다.

  특징
string 1. 문자열
2. 숫자를 쓸 수 없다.
int 1. 정수(음수 양수)
2. 문자나 문자열을 쓸 수 없다.

이제부터 string과 int의 차이점을 쉽게 알려드리겠습니다. 사용자가 실제로 숫자 1부터 10까지 중 숫자 3을 입력했다고 가정합시다. 분명 저희는 정수 3이라는 것을 알 수있지만 컴퓨터는 이게 숫자 3이라고 인식하지 못합니다. 단지 0과 1로 된 문자3이라고 데이터를 인식하고 저장할 수 있습니다. 컴퓨터는 정수와 문자를 다르게 구분 합니다. 그래서 저희는 컴퓨터에게 문자열을 정수타입으로 변환시켜라고 말해줘야합니다. 그래서 int.Parse라고 써주는 겁니다. 이것 외에도 다양한 방법이 있으니 참고 하시길 바랍니다

문자열를 담는 방식 : 하나의 공간에 하나씩 문자를 담습니다.

  .

 

문자열을 int타입으로 변환

int.Parse 사용자가 유효하지 않은 입력을 입력 할 때 상황을보다 세밀하게 제어 할 수 있으므로 일반적으로사용 합니다.
int32.Parse 사용자가 유효하지 않은 입력을 입력 할 때 상황을보다 세밀하게 제어 할 수 있으므로 일반적으로 사용 합니다.
convert.Toint32() 인수로 객체를 취합니다.

02. while

while문은 반복문이라고 합니다. while의 단어만 보면 '~하는 동안'이라는 뜻을 가지고 있습니다. 코딩에서도 마찬가지로 '~하는동안'이라는 뜻을 가지고 있습니다. 하지만 코딩에서 while문은 정확하게 표현하면 "~하는동안 ~을 반복해라"라는 표현이 더 정확합니다. 이것은 for문과 비슷하면서도 비슷하지 않습니다. for문에 대한 설명은 또 다른 프로그램을 만들어볼때 설명하겠습니다. 그러므로 현재 코딩되어 있는 while문은 '입력한 숫자가 RanNum와 맞지않는 동안 계속해서 while문 안에있는 코드를 실행해라'의 의미입니다. RanNum안에서는 1부터 10까지 무작위 숫자가 지정되어 있을겁니다. 그래서 이 무작위 숫자를 사용자가 맞추지 못하는동안 프로그램은 계속해서 "오답 입니다"라고 출력 할것 입니다. 하지만 숫자를 맞춘다면 무작위 숫자를 맞췄기때문에 while문에서 벗어나 "정답 입니다"를 출력하게 됩니다.

 


지금까지 배운 코드 정리

 

 

 

 

 

반응형