프로그래밍/C#

C#에서 ‘if’, ‘else’ 및 ‘else if’ 문을 사용하여 코드에 의사 결정 논리 추가

김꿀꿀이 2023. 4. 5. 12:13
반응형

오늘의 학습링크

https://learn.microsoft.com/ko-kr/training/modules/csharp-if-elseif-else/

 

C#에서 ‘if’, ‘else’ 및 ‘else if’ 문을 사용하여 코드에 의사 결정 논리 추가 - Training

부울 식을 평가하여 코드의 실행 경로를 분기하는 방법을 알아봅니다.

learn.microsoft.com

 

간단한 C# 콘솔 애플리케이션 만들기 및 실행(C#시작, 2부) 
- C#에서 ‘if’, ‘else’ 및 ‘else if’ 문을 사용하여 코드에 의사 결정 논리 추가 -


* if, else, else if(조건문)
 - 연산자들과 조합하여 조건에 따라 다른 결과로 반환 가능하도록 함.
 - bool 식으로도 사용가능 (true, false)
 - 연산자
  ==: 같은지 확인.
  >: 왼쪽의 값이 오른쪽의 값보다 큰지 확인.
  <: 왼쪽의 값이 오른쪽의 값보다 작은지 확인.
  >=:크거나 같음.
  <=:작거나 같음.
 - or(||)이나 and(&&)을 사용해서 여러 조건을 검사할 수도 있음.

* 과제

Random random = new Random();
int daysUntilExpiration = random.Next(12);
int discountPercentage = 0;
// Your code goes here
- 위 내용이 기본 코드로 제공됨.
- 아래의 내용이 조건별로 출력되도록 코딩
 1. 사용자의 구독이 10일 이내에 만료되는 경우
    Your subscription will expire soon. Renew now!
  2. 사용자의 구독이 5일 이내에 만료되는 경우
    Your subscription expires in x days.
    Renew now and save 10%!
    (daysUntilExpiration 변수에 저장된 값을 x로 대체해야 함.)
  3. 사용자의 구독이 1일 후에 만료되는 경우
    Your subscription expires within a day!
    Renew now and save 20%!
  4. 사용자의 구독이 만료된 경우
    Your subscription has expired.
  5. 사용자의 구독이 10일이 지난 후 만료되는 경우 아무것도 표시하지 않음.

 

code>>

Random random = new Random();
int daysUntilExpiration = random.Next(12);
int discountPercentage = 0;

// Your code goes here
if(daysUntilExpiration == 0) // 잔여기간이 0일 일 때 
{
  Console.WriteLine("Your subscription has expired.");
}
else if(daysUntilExpiration <= 10) // 잔여기간이 0일은 아니고(위 if문에서 걸러진) 10일보다 작거나 같을 때
{
  if(daysUntilExpiration <= 5) // 잔여기간이 5일 이내일 때
  {
    if(daysUntilExpiration == 1) // 잔여기간이 하루일 때
    {
      discountPercentage = 20;
      Console.WriteLine("Your subscription expires within a day!");
    }
    else // 잔여기간이 5일 이내이고 하루는 아닐 때
    {
      discountPercentage = 10;
      Console.WriteLine($"Your subscription expires in {daysUntilExpiration} days.");
    }
    Console.WriteLine($"Renew now and save {discountPercentage}%!");
  }
  else // 잔여기간이 10일 이내이면서 5일 이내는 아닐 때
  {
    Console.WriteLine("Your subscription will expire soon. Renew now!");
  }
}

 

예시 답과는 차이가 있다.
조건문을 어떻게 순서를 짜는지 등에 따라 순서나 구문은 바뀔 수 있으므로 한 번씩 직접 코드를 짜보는 게 중요하다.

다음시간은 배열과 foreach...

반응형