Phantom Programming 팬텀 프로그래밍
  • C# 기초 if statement와 Switch를 사용해서 passwordchecker를 만들어보자
    2024년 11월 14일 13시 57분 01초에 업로드 된 글입니다.
    작성자: Devrun
    반응형

    비밀번호 password

     

    일단 이번 포스트에서는 설명은 제외하겠다. 대다수가 C#을 한다면 조금은 코딩이 뭔지 알고 오는 사람이 많을 것 같다는 생각이 들기 때문이다.

     

    * 이 passwordchecker는 Codecademy의 자료를 참고하여 만들었습니다. *

     

    1. 아래 항목에 해당되는 변수를 만들자

    * 변수명: minLnegth / 데이터 타입: int / 값: 8

    * 변수명: upperCase / 데이터 타입: String / 값: 영문 대문자

    * 변수명: lowercase / 데이터 타입: String / 값: 영문 소문자

    * 변수명: digits / 데이터 타입: string / 값: 숫자

    * 변수명: specialChars / 데이터 타입: string / 값: !@#$%

     

          int minLength = 8; 
          string uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
          string lowercase = "abcdefghijklmnopqrstuvwxyz";
          string digits = "0123456789"; 
          string specialChars = "!@#$%^&*()_-+=<>?";

     

    2. Console.WriteLine과 Console.ReadLine을 사용해서 사용자의 입력 값을 받기

          Console.WriteLine("Enter your password \n ");
          string password = Console.ReadLine();

     

    3. 변수 score를 생성하고 if 조건문으로 각 항목에 해당되면 +1점을 추가하기

          if (password.Length >= minLength) {
            score += 1;
          }
    
          if (Tools.Contains(password, uppercase)) {
            score += 1;
          }
    
          if (Tools.Contains(password, lowercase)) {
            score += 1;
          }
    
          if (Tools.Contains(password, digits)) {
            score += 1;
          } 
    
          if (Tools.Contains(password, specialChars)) {
            score += 1;
          }

     

    4. 현재까지 총 score를 표시하기

    Console.WriteLine("Total password score: " + score);

     

    5. switch 문을 사용해서 password 상태를 나타내기

    0점: Change!!!

    1점: Weak!

    2점: Medium!

    3점: Strong

    4점과 5점:  Very Strong!

          switch (score) {
            case 5:
            case 4: 
              Console.WriteLine("Your password is extremely strong!");
              break;
            case 3:
              Console.WriteLine("Your password is strong");
              break;
            case 2:
              Console.WriteLine("Your password is medium");
              break;
            case 1:
              Console.WriteLine("Your password is weak");
              break;
            default:
              Console.WriteLine("Your password need to change!");
              break; 
          }

     

     

    전체 코드

    using System;
    
    namespace PasswordChecker
    {
      class Program
      {
        public static void Main(string[] args)
        {
          int minLength = 8; 
          string uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
          string lowercase = "abcdefghijklmnopqrstuvwxyz";
          string digits = "0123456789"; 
          string specialChars = "!@#$%^&*()_-+=<>?"; 
    
          Console.WriteLine("Enter your password \n ");
          string password = Console.ReadLine();
    
          int score = 0;
    
          if (password.Length >= minLength) {
            score += 1;
          }
    
          if (Tools.Contains(password, uppercase)) {
            score += 1;
          }
    
          if (Tools.Contains(password, lowercase)) {
            score += 1;
          }
    
          if (Tools.Contains(password, digits)) {
            score += 1;
          } 
    
          if (Tools.Contains(password, specialChars)) {
            score += 1;
          }
    
          Console.WriteLine("Total password score: " + score);
    
          switch (score) {
            case 5:
            case 4: 
              Console.WriteLine("Your password is extremely strong!");
              break;
            case 3:
              Console.WriteLine("Your password is strong");
              break;
            case 2:
              Console.WriteLine("Your password is medium");
              break;
            case 1:
              Console.WriteLine("Your password is weak");
              break;
            default:
              Console.WriteLine("Your password need to change!");
              break; 
          }
    
        }
      }
    }

     

     

    아마도 이 문제는 반복하여 if와 switch문의 사용법을 익히게 하기 위함이다.

    switch 문에서는 case 2개를 한 개로 묶어서 사용할 수 있다. 즉 break 포인트가 없으면 다음 case와 이어져서 실행된다는 것이다. 이 점을 알고 코딩하자!

     

    반응형
    댓글