C#/Theory

[C#] 조건문 - 홀/짝수 구분, 등급 출력 등

Jee-U 2025. 2. 10. 21:03

 

1. 홀수 / 짝수 구분하기 (if, else, %)

            Console.Write("번호를 입력하세요: ");
            int number = int.Parse(Console.ReadLine());

            if (number % 2 == 0)
            {
                Console.WriteLine("짝수입니다.");
            }
            else
            {
                Console.WriteLine("홀수입니다.");
            }

입력한 번호는 number로 들어가며 %2는 2로 나눈 나머지 값이 된다.

number가 짝수라면 나머지는 0, 홀수라면 1이되며 if는 짝수일때, else는 if와 반대인 홀수일때 나오게 된다.

 

 

 

2. 등급 출력 (case)

            int playerScore = 100;
            String PlayerRank = "";

            switch (playerScore / 10)
            {
                case 10:
                case 9:
                    PlayerRank = "Diamond";
                    break;
                case 8:
                    PlayerRank = "Platinum";
                    break;
                case 7:
                    PlayerRank = "Gold";
                    break;
                case 6:
                    PlayerRank = "Silver";
                    break;
                default:
                    PlayerRank = "Bronze";
                    break;
            }

            Console.WriteLine(PlayerRank);

플레이어 스코어를 100으로 입력

위의 코드는 int(정수)로 되어있으며 소수점 제외한 숫자로 하여 case 6~9 로 등급을 매긴다.

 

근데 100의 경우 10으로 나오게 되며 case 10 없이 출력할경우 브론즈 등급이 나오게 되는데, 그것을 해결하기 위해 case 10을 넣어주었다.

다만 플레이어랭크/break를 넣어주지 않은 이유는 case 9와 동일한 조건이며 아무런 로직이 없을 경우 다음 case로 패스, case 9 에서 break 되기 때문에 다이아몬드로 뜨게 된다.

 

 

3. 로그인 프로그램 (if, else, ==, &&)

            string id = "아이디"; // id
            string password = "비밀번호"; // 0000

            Console.Write("아이디를 입력하세요 : ");
            string inputId = Console.ReadLine();
            Console.Write("비밀번호를 입력하세요 : ");
            string inputPassword = Console.ReadLine();

            if(id == inputId && password == inputPassword)
            {
                Console.WriteLine("로그인 성공!");
            }
            else
            {
                Console.WriteLine("로그인 실패..");
            }

나의경우 ID는 id, PW는 0000로 입력해두었다.

실패(좌), 성공(우)

 

 

 

4. 알파벳 판별 프로그램(if, else)

            Console.Write("문자를 입력하세요 : ");
            char input = Console.ReadLine()[0];

            // 소문자 a와 z사이에 존재하는것, 대문자 A와 Z사이에 존재하는것
            if ( (input >= 'a'&& input <= 'z') || (input >= 'A' && input <= 'Z') ) ;
            {
                Console.WriteLine("알파벳입니다.");
            }
            else
            {
                Console.WriteLine("알파벳이아닙니다.");
            }

char : 문자를 나타내는 데이터 타입

나는 d라고 입력해주었다.

 

 

 

5. 아이템 레벨(if, else if, else, 중첩 조건문)

int itemLevel = 3; // 아이템 레벨
string itemType = "Weapon"; // 아이템 종류

if (itemType == "Weapon")
{
    if (itemLevel == 1)
    {
        // 레벨 1 무기 효과
        Console.WriteLine("공격력이 10 증가했습니다.");
    }
    else if (itemLevel == 2)
    {
        // 레벨 2 무기 효과
        Console.WriteLine("공격력이 20 증가했습니다.");
    }
    else
    {
        // 그 외 무기 레벨
        Console.WriteLine("잘못된 아이템 레벨입니다.");
    }
}
else if (itemType == "Armor")
{
    if (itemLevel == 1)
    {
        // 레벨 1 방어구 효과
        Console.WriteLine("방어력이 10 증가했습니다.");
    }
    else if (itemLevel == 2)
    {
        // 레벨 2 방어구 효과
        Console.WriteLine("방어력이 20 증가했습니다.");
    }
    else
    {
        // 그 외 방어구 레벨
        Console.WriteLine("잘못된 아이템 레벨입니다.");
    }
}
else
{
    // 그 외 아이템 종류
    Console.WriteLine("잘못된 아이템 종류입니다.");
}

 

 

 

6. 직업 선택(swtich, case)

Console.WriteLine("게임을 시작합니다.");
Console.WriteLine("1: 전사 / 2: 마법사 / 3: 궁수");
Console.Write("직업을 선택하세요: ");
string job = Console.ReadLine();

switch (job)
{
    case "1":
        Console.WriteLine("전사를 선택하셨습니다.");
        break;
    case "2":
        Console.WriteLine("마법사를 선택하셨습니다.");
        break;
    case "3":
        Console.WriteLine("궁수를 선택하셨습니다.");
        break;
    default:
        Console.WriteLine("올바른 값을 입력해주세요.");
        break;
}

Console.WriteLine("게임을 종료합니다.");

'C# > Theory' 카테고리의 다른 글

[C#] 딕셔너리 (Dictionary)  (0) 2025.04.10
[C#] 메서드, 매개변수, 반환(return), void  (0) 2025.02.19
[C#] 문자열 처리 기능  (0) 2025.02.06
[C#] 기초, Using / Console 등  (0) 2025.02.05
[C#] 연산/연산자  (0) 2025.02.05