Chapter. 15

김동현·2022년 11월 15일
0

혼자 공부하는 C언어

목록 보기
15/15
post-thumbnail

강의를 듣다가 갑자기 성적 입출력 프로그램을 만들어봤다.

#include <stdio.h>

int main()
{
    int score;
    char grade;
    printf("당신의 점수를 입력하세요:\n");
    scanf("score",%d);

    if(score >= 90)
    {
        grade = 'A';
        printf("당신의 점수는 %d이고 등급은 %c입니다.\n",score, grade);
    }
    else if(score < 90 && score >=80)
    {
        grade = 'B';
        printf("당신의 점수는 %d이고 등급은 %c입니다.\n",score, grade);
    }
    else if(score < 70 && score >=60)
    {
        grade = 'C';
        printf("당신의 점수는 %d이고 등급은 %c입니다.\n",score, grade);
    }
    
    printf("작업 종료\n");
    return 0;
}

처음에 무작정 쓴 식이다.

역시나 에러가 발생했다.

완성된 경우1 (if / else if / else if를 사용한 경우 )

#include <stdio.h>

int main()
{
    int score;
    char grade;
    printf("당신의 점수를 입력하세요: ");
    scanf("%d" ,&score);

    if(score >= 90)
    {
        grade = 'A';
        printf("당신의 점수는 %d이고 등급은 %c입니다.\n",score, grade);
    }
    else if(score < 90 && score >=80)
    {
        grade = 'B';
        printf("당신의 점수는 %d이고 등급은 %c입니다.\n",score, grade);
    }
    else if(score < 70 && score >=60)
    {
        grade = 'C';
        printf("당신의 점수는 %d이고 등급은 %c입니다.\n",score, grade);
    }
    
    printf("작업 종료\n");
    return 0;
}

  
 

놓친 부분

💡 놓친 부분 1. scanf부분에서, ("score",%d); 가 아닌, (”%d”, &score); 로 작성해야 한다.

놓친 부분 2. printf("당신의 점수를 입력하세요: \n"); 부분에서 \n 은 굳이 넣을 필요가 없다.

놓친 부분 3. 마지막 부분에 return 0; 을 넣지 않았다.

  
 

다르게 생각해 볼 부분

💡
  1. else if 부분에서

    어차피 첫번째 조건문에서 ≥ 90 을 받기에 굳이 두 번째 조건문에서 <90 을 넣을 필요 X

  2. 마찬가지로, else if 가 아닌, 각각의 조건을 모두 if로 받았다면 어땠을까..

  
 

완성된 경우2. (if / if / if 를 사용한 경우)

#include <stdio.h>

int main()
{
    int score;
    char grade;
    printf("당신의 점수를 입력하세요: ");
    scanf("%d" ,&score);

    if(score >= 90)
    {
        grade = 'A';
        printf("당신의 점수는 %d이고 등급은 %c입니다.\n",score, grade);
    }
    if(score < 90 && score >=80)
    {
        grade = 'B';
        printf("당신의 점수는 %d이고 등급은 %c입니다.\n",score, grade);
    }
    if(score < 70 && score >=60)
    {
        grade = 'C';
        printf("당신의 점수는 %d이고 등급은 %c입니다.\n",score, grade);
    }
    
    printf("작업 종료\n");
    return 0;
}
profile
디자인과 개발을 모두 할줄 아는 능력있는 개발자가 되고싶습니다.

0개의 댓글