728x90
안녕하세요!
이번 글에서는 C# 콘솔 프로그래밍에서 사용자가 입력한 특정 날짜의 요일을 판단하는 코드에 대해 알아보겠습니다.
사용자로부터 입력받은 날짜를 연도, 월, 일로 분리하고, DateTime 객체를 생성하여 해당 날짜의 요일을 판단하는 방법을 다룰 예정입니다.
<예제 코드>
using System;
class Program
{
static void Main()
{
Console.Write("날짜를 입력하세요(YYYYMMDD): ");
string input = Console.ReadLine();
// 입력한 문자열을 연도, 월, 일로 분리
int year = int.Parse(input.Substring(0, 4));
int month = int.Parse(input.Substring(4, 2));
int day = int.Parse(input.Substring(6, 2));
// 입력한 날짜로 DateTime 객체 생성
DateTime date = new DateTime(year, month, day);
// 요일 판단
DayOfWeek dayOfWeek = date.DayOfWeek;
// 요일에 따라 출력 메시지 생성
string dayOfWeekStr = "";
switch (dayOfWeek)
{
case DayOfWeek.Sunday:
dayOfWeekStr = "일요일";
break;
case DayOfWeek.Monday:
dayOfWeekStr = "월요일";
break;
case DayOfWeek.Tuesday:
dayOfWeekStr = "화요일";
break;
case DayOfWeek.Wednesday:
dayOfWeekStr = "수요일";
break;
case DayOfWeek.Thursday:
dayOfWeekStr = "목요일";
break;
case DayOfWeek.Friday:
dayOfWeekStr = "금요일";
break;
case DayOfWeek.Saturday:
dayOfWeekStr = "토요일";
break;
}
// 결과 출력
Console.WriteLine("{0}년 {1}월 {2}일은 {3}입니다.", year, month, day, dayOfWeekStr);
}
}
<입출력 예시>
입력 : 20230710
출력 : 2023년 07월 10일은 월요일입니다.
<코드 해석>
Console.Write("날짜를 입력하세요(YYYYMMDD): ");
- 사용자에게 날짜를 입력하라는 안내 메시지를 출력합니다.
string input = Console.ReadLine();
- 사용자가 입력한 값을 문자열로 읽어옵니다.
int year = int.Parse(input.Substring(0, 4));
- 입력한 문자열의 첫 4자리를 연도로 변환합니다.
int month = int.Parse(input.Substring(4, 2));
- 입력한 문자열의 5번째부터 2자리를 월로 변환합니다.
int day = int.Parse(input.Substring(6, 2));
- 입력한 문자열의 7번째부터 2자리를 일로 변환합니다.
DateTime date = new DateTime(year, month, day);
- 입력한 연도, 월, 일로 DateTime 객체를 생성합니다.
DayOfWeek dayOfWeek = date.DayOfWeek;
- 생성한 DateTime 객체의 요일을 판단하여 DayOfWeek 열거형으로 저장합니다.
string dayOfWeekStr = "";
- 요일을 나타내는 문자열을 초기화합니다.
switch (dayOfWeek) { ... }
- 요일에 따라 출력할 문자열을 결정하기 위해 switch 문을 사용합니다.
Console.WriteLine("{0}년 {1}월 {2}일은 {3}입니다.", year, month, day, dayOfWeekStr);
- 결과를 출력합니다. {0}, {1}, {2}, {3}는 각각 인덱스를 나타내며, 순서대로 year, month, day, dayOfWeekStr 변수의 값을 대체하여 출력합니다.
이 코드를 실행하면 사용자로부터 날짜(yyyymmdd)를 입력받고, 입력한 날짜의 요일을 정확하게 판단하여 출력합니다.
예를 들어, "20230710"을 입력하면 "2023년 07월 10일은 월요일입니다."라는 결과가 출력됩니다.
위의 코드를 사용하여 사용자가 입력한 날짜의 요일을 판단하는 프로그램을 작성할 수 있습니다.
이를 통해 날짜와 요일을 다루는 기능을 구현하는 방법을 익혀 보았습니다.
응용하여 더 효율적인 프로그램을 만들어보세요!
감사합니다!
728x90
'[C#] > 콘솔 프로그래밍' 카테고리의 다른 글
[C#] 콘솔 프로그래밍 : 종료 대기 (18) | 2023.07.12 |
---|---|
[C#] 콘솔 프로그래밍 : 길찾기 게임 (26) | 2023.07.11 |
[C#] 콘솔 프로그래밍 : 콘솔 가위바위보 게임 (25) | 2023.07.06 |
[C#] 콘솔 프로그래밍 : 사칙연산 계산기 (13) | 2023.07.05 |
[C#] 콘솔 프로그래밍 : 시험점수 평균계산 (31) | 2023.07.03 |