[C++ 언어-기초실습-9] 점수를 학점으로 변환하기

in #kr-dev5 years ago (edited)

[C++ 언어-기초실습-9] 점수를 학점으로 변환하기



간단히 점수를 학점으로 변환하는 코딩 실습을 해봅시다.

1. 점수로 학점 구하기


우선 점수를 학점으로 변환하는 방법으로는 if문을 이용하거나 switch문을 이용하는 방법이 있는데 if문으로 구현을 해봅시다.

if(점수비교) 학점 출력;
else if(점수비교) 학점 출력;
...
else 학점 F출력;

위와 같은 구조로 코딩하면 됩니다. 여기서 점수 비교는 입력한 점수를 기준으로 최우선 순서로 학점 부여를 하면 됩니다.
가령 90이상은 A학점이고 95이상은 A+ 학점이라고 했을 때 if문으로 구현은 다음과 같습니다.

if(input_val>=95)cout<<"A+"<<endl;
else if(input_val>=90) cout<<"A"<<endl;

이렇게 해야 95이상은 A+학점이 90이상은 A학점이 부여 됩니다. 이 순서로 높은 순으로 if문을 구현 해야 합니다. 만약 낮은 순으로 아래와 같이 하면 어떻게 될까요.

if(input_val>=90)cout<<"A"<<endl;
else if(input_val>=95) cout<<"A+"<<endl;

90점수나 95점수나 전부다 A학점으로 출력이 됩니다. 첫번째 if문이 무조건 참이기 때문에 90 or 95점수의 학점은 A학점이 되는 것이죠. 그래서 if문에서는 범위를 지정할 때는 우선 순위대로 체크하여 범위를 중첩이 발생하지 않도록 해야 합니다.

이제 코딩을 완성해서 결과를 살펴 볼까요.

2. 코딩


[전체소스]

##include <iostream>

using namespace std;

int main(int argc, char** argv) {
    
    int input_val;
    
    cout<<"당신의 점수를 입력하시오? ";
    cin>>input_val;
    
    cout<<"당신는 "<<input_val<<"점으로 학점은 ";
    if(input_val>=95)cout<<"A+"<<endl;
    else if(input_val>=90) cout<<"A"<<endl;
    else if(input_val>=85) cout<<"B+"<<endl;
    else if(input_val>=80) cout<<"B"<<endl;
    else if(input_val>=75) cout<<"C+"<<endl;
    else if(input_val>=70) cout<<"C"<<endl;
    else if(input_val>=65) cout<<"D+"<<endl;
    else if(input_val>=60) cout<<"D"<<endl;
    else cout<<"F"<<endl;
    return 0;
}

[결과]

a1.jpg

마무리


오늘은 점수에 대한 학점 변환하는 코딩을 구현해 보았습니다. 이렇게 어떤 입력에 대한 다른 특정한 결과로 변환하고자 할 때 이런 선택문을 사용합니다. 오늘의 내용은 점수에 대한 학점변환 특정 알파벳이나 기호나 여러가지 값을 기준으로 숫자 or 문자 or 문자열로 변환하여 다양한 결과를 만들어 낼 수 있습니다. 간단한 원리지만 꽤 많이 사용하기 때문에 알아 두시면 좋습니다.


Sponsored ( Powered by dclick )

dclick-imagead

Sort:  

Thank you for your continued support towards JJM. For each 1000 JJM you are holding, you can get an additional 1% of upvote. 10,000JJM would give you a 11% daily voting from the 700K SP virus707 account.

Coin Marketplace

STEEM 0.20
TRX 0.15
JST 0.029
BTC 64440.63
ETH 2653.79
USDT 1.00
SBD 2.80