2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

프로그래밍언어문법(C,C++,Python,JAVA)

4.2 마법의 성적표

원당컴1 2024. 7. 17. 09:00

목차 : https://wondangcom.tistory.com/2797

 

마법의 성적표

한 마을에 마법사 프로그래머가 살고 있었습니다. 이 마법사는 성적표를 만들어주는 특별한 프로그램을 개발했습니다. 그 이름은 "마법의 성적표 생성기"였습니다.

어느 날, 중학생 미니는 시험을 치르고 성적을 받았습니다. 그녀는 국어, 영어, 수학 점수를 입력했습니다. 마법사 프로그래머는 그녀의 성적을 분석하고 학점을 부여해주었습니다.

미니의 성적을 입력하면

  • 국어 점수: 85
  • 영어 점수: 92
  • 수학 점수: 78

(85 + 92 + 78) / 3 = 85 라는 평균을 구하고 이 평균 값이 90점 이상이면 A학점,80점 이상이면 B학점,70점 이상이면 C학점,60점 이상이면 D학점, 아니라면 F학점을 구해주었습니다.

미니는 이 프로그램이 어떻게 구현되는지 무척이나 궁금했습니다.

미니를 위해 학점을 구해주는 프로그램을 작성해 주세요.

 

C언어

#include <stdio.h>

int main() {
    int kor, eng, math, avg;
    char grade;

    printf("국어 점수: ");
    scanf("%d", &kor);
    printf("영어 점수: ");
    scanf("%d", &eng);
    printf("수학 점수: ");
    scanf("%d", &math);

    avg = (kor + eng + math) / 3;

    if (avg >= 90) {
        grade = 'A';
    } else if (avg >= 80) {
        grade = 'B';
    } else if (avg >= 70) {
        grade = 'C';
    } else if (avg >= 60) {
        grade = 'D';
    } else {
        grade = 'F';
    }

    printf("평균: %d\n", avg);
    printf("학점: %c\n", grade);

    return 0;
}

위의 코드에서 if(avg>=90) 일때 grad='A' 가 됩니다.

다음으로 else if 문에서는 위의 if문이 거짓일때 (즉 avg <90 일때) 값을 판단합니다.따라서 else if(avg>=80) 에서는 80~89 일때만 참이 됩니다.else if는 체를 이용하여 굵은것을 걸러 내고 남은 것을 다시 촘촘한 채를 이용하여 다음 것을 골라내는 원리와 같습니다.

 

C++

#include <iostream>
using namespace std;

int main() {
    int kor, eng, math, avg;
    char grade;

    cout << "국어 점수: ";
    cin >> kor;
    cout << "영어 점수: ";
    cin >> eng;
    cout << "수학 점수: ";
    cin >> math;

    avg = (kor + eng + math) / 3;

    if (avg >= 90) {
        grade = 'A';
    } else if (avg >= 80) {
        grade = 'B';
    } else if (avg >= 70) {
        grade = 'C';
    } else if (avg >= 60) {
        grade = 'D';
    } else {
        grade = 'F';
    }

    cout << "평균: " << avg << endl;
    cout << "학점: " << grade << endl;

    return 0;
}

C언어와 동일합니다.

Java

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int kor, eng, math, avg;
        char grade;

        System.out.print("국어 점수: ");
        kor = scanner.nextInt();
        System.out.print("영어 점수: ");
        eng = scanner.nextInt();
        System.out.print("수학 점수: ");
        math = scanner.nextInt();

        avg = (kor + eng + math) / 3;

        if (avg >= 90) {
            grade = 'A';
        } else if (avg >= 80) {
            grade = 'B';
        } else if (avg >= 70) {
            grade = 'C';
        } else if (avg >= 60) {
            grade = 'D';
        } else {
            grade = 'F';
        }

        System.out.println("평균: " + avg);
        System.out.println("학점: " + grade);
    }
}

C언어와 동일합니다.

 

Python

def main():
    kor = int(input("국어 점수: "))
    eng = int(input("영어 점수: "))
    math = int(input("수학 점수: "))

    avg = (kor + eng + math) // 3

    if avg >= 90:
        grade = 'A'
    elif avg >= 80:
        grade = 'B'
    elif avg >= 70:
        grade = 'C'
    elif avg >= 60:
        grade = 'D'
    else:
        grade = 'F'

    print(f"평균: {avg}")
    print(f"학점: {grade}")

if __name__ == "__main__":
    main()

파이썬에서는 else if 문 대신에 elif 를 사용합니다. 내용은 동일합니다.

 

마무리

if(avg>=90){
     grad = 'A';
}
if(avg>=80){
     grad = 'B';
}

위의 코드에서 avg가 100 이라면 grad는 B가 됩니다.

if(avg>=90) 에서 grad='A' 가 되었다가 

다음 문장의 if(avg>=80) 에서 참이 되므로  grad = 'B'  가 되어 최종적으로 B 가 되는 원리입니다.

이와 같이 if ... if ... 문을 사용하여 체크하는 것과 if ... else if ... 문을 사용하여 체크하는 것과는 차이가 있을 수 있으므로 체를 치는 원리에서는 반드시 else if 문을 사용해야 합니다.

 

인천 검단 원당컴퓨터 학원(T 032-565-5497)

#정보올림피아드

#검단신도시코딩

#원당동코딩

#마전동코딩

#왕길동코딩

#당하동코딩

#아라동코딩

#풍무동코딩

#불로동코딩

#검단동코딩

#검암동코딩

 
사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기