
Console.ReadLine(); 이라는 함수가 있습니다.
이 함수를 이용하면 프로그램 실행 중 데이터를 입력받을 수 있습니다.
1번
string input = Console.ReadLine();
int num;
bool isInt = int.TryParse(input, out num);
if (isInt)
{
Console.WriteLine("숫자입니다.");
}
else
{
Console.WriteLine("문자열입니다.");
}
2번
string input = Console.ReadLine();
int num;
bool isInt = int.TryParse(input, out num);
bool b;
bool isbool = bool.TryParse(input, out b);
if (isInt)
{
Console.WriteLine("숫자입니다.");
}
else if (isbool)
{
Console.WriteLine("불리언입니다.");
}
else
{
Console.WriteLine("문자열입니다.");
}
3번
string input = Console.ReadLine();
int num;
bool isInt = int.TryParse(input, out num);
if (isInt)
{
if (num >= 100)
{
Console.WriteLine(input + "은(는) 100보다 같거나 큰 수 입니다.");
}
else
{
Console.WriteLine(input + "은(는) 100보다 작은 수입니다.");
}
}
else
{
Console.WriteLine("숫자가 아닙니다.");
}
4번
string input = Console.ReadLine();
int num;
bool isInt = int.TryParse(input, out num);
if (isInt)
{
int remainder = num % 2;
if (remainder == 0)
{
Console.WriteLine(input + "은(는) 짝수입니다.");
}
else
{
Console.WriteLine(input + "은(는) 홀수입니다.");
}
}
else
{
Console.WriteLine("숫자가 아닙니다.");
}
5번
조건이 많고 복잡하다면 if문을, 단일 변수의 특정 값에 따라 분기해야 한다면 switch문을 사용해야합니다.
TryParse를 처음 사용해봐서 처음에는 감도 안왔는데 이번 퀘스트를 통해 TryParse에 조금 익숙해진 것 같다.
그리고 %를 이용해 짝수홀수 구하는것처럼 생각지도 못한 방법들을 보고 다시한번 놀랐다.
1번
Console.WriteLine("첫번째 수를 입력해주세요.");
string input1 = Console.ReadLine();
int num1;
bool isInt1 = int.TryParse(input1, out num1);
Console.WriteLine("두번째 수를 입력해주세요.");
string input2 = Console.ReadLine();
int num2;
bool isInt2 = int.TryParse(input2, out num2);
if(isInt1 && isInt2)
{
Console.WriteLine("두 데이터는 모두 숫자입니다.");
}
else
{
Console.WriteLine("숫자가 아닙니다.");
}
2번
Console.WriteLine("첫번째 수를 입력해주세요.");
string input1 = Console.ReadLine();
int num1;
bool isInt1 = int.TryParse(input1, out num1);
Console.WriteLine("두번째 수를 입력해주세요.");
string input2 = Console.ReadLine();
int num2;
bool isInt2 = int.TryParse(input2, out num2);
if(isInt1 && isInt2)
{
Console.WriteLine("두 데이터는 모두 숫자입니다.");
}
else if (isInt1 || isInt2)
{
Console.WriteLine("하나의 데이터만 숫자입니다.");
}
else
{
Console.WriteLine("두 데이터 모두 숫자가 아닙니다.");
}
3번
Console.WriteLine("첫번째 수를 입력해주세요.");
string input1 = Console.ReadLine();
int num1;
bool isInt1 = int.TryParse(input1, out num1);
Console.WriteLine("두번째 수를 입력해주세요.");
string input2 = Console.ReadLine();
int num2;
bool isInt2 = int.TryParse(input2, out num2);
if (isInt1 && isInt2)
{
Console.WriteLine("두 데이터는 모두 숫자입니다.");
if (num1 == num2)
{
Console.WriteLine(num1 + "(와)과" + num2 + "은(는) 같습니다.");
}
else if (num1 > num2)
{
Console.WriteLine(num1 + "(은)는" + num2 + "보다 큽니다.");
}
else
{
Console.WriteLine(num1 + "(은)는" + num2 + "보다 작습니다.");
}
}
else
{
Console.WriteLine("두 개의 숫자를 입력해주세요.");
}
tryparse도 한번 더 써보고 조건부 논리연산자를 써보는 좋은 경험
while (true)
{
Console.WriteLine("대한민국의 수도는 어딩인가요?");
Console.WriteLine("1.인천 2.평창 3.서울 4.부산");
string input = Console.ReadLine();
int num;
bool isInt = int.TryParse(input, out num);
if (isInt)
{
if (1 <= num && 4 >= num)
{
if (num == 3)
{
Console.WriteLine("정답입니다!");
break;
}
else
{
Console.WriteLine("오답입니다!");
}
}
else
{
Console.WriteLine("1~4의 숫자를 입력해주세요.");
}
}
else
{
Console.WriteLine("숫자가 아닙니다.");
}
}
if문을 사용할때 else if(조건)으로 장황하게 썻었는데
답안에 else로 간단하게 써있는걸 보고 다시한번 간결하게 쓰려고 노력해봐야겟다.
Console.WriteLine("어디로 여행을 가고 싶나요??");
Console.WriteLine("1.제주도 2.코타키나발루 3.싱가포르 4.태국");
string input = Console.ReadLine();
int num;
bool isInt = int.TryParse(input, out num);
if (isInt)
{
switch (num)
{
case 1:
Console.WriteLine("제주도는 한국의 섬으로 비교적 방문이 쉽고 다양한 놀거리/먹거리가 준비되어 있습니다.");
break;
case 2:
Console.WriteLine("코타키나발루는 말레이시아 사바주의 주도로, 말레이시아 동부 보르네오섬 최대의 도시입니다.");
break;
case 3:
Console.WriteLine("싱가포르는 동남아시아, 말레이 반도의 끝에 위치한 섬나라이자 항구 도시로 이루어진 도시 국가입니다.");
break;
case 4:
Console.WriteLine("태국은 중국문화, 말레이문화, 불교문화, 힌두문화, 이슬람 문화가 혼재되어 있습니다. 불교적인 모습을 많이 띄지만, 문화 자체는 색다르고 스펙트럼이 넓은 형태를 띄고 있어요.");
break;
default:
Console.WriteLine("1~4 의 숫자를 입력해주세요.");
break;
}
}
else
{
Console.WriteLine("숫자가 아닙니다.");
}
bool isSuccess;
do
{
Console.WriteLine("이름을 입력해주세요.(3~10글자)");
string input = Console.ReadLine();
int length = input.Length;
Console.Clear();
if (length <= 10 && length >= 3)
{
Console.WriteLine("안녕하세요! 제 이름은" + input + "입니다.");
}
else
{
Console.WriteLine("이름을 확인해주세요.");
}
isSuccess = input.Length >= 3 && input.Length <= 10;
}
while (!isSuccess);
굳이 do while문 아니고 그냥
if문에 break 걸면 될것같은데?