컴퓨터를 공부하고자 마음먹은지 N일차

[27일차](홍정모의따배c)사용자에게 친절한 인터페이스 본문

🖥C

[27일차](홍정모의따배c)사용자에게 친절한 인터페이스

졸린새 2020. 10. 6. 06:25
728x90

[27일차](홍정모의따배c)사용자에게 친절한 인터페이스

*본 강의수기는 교수님의 모든 ppt나 코드 화면을 붙인게 아닙니다. 따로 출처 표시나 과제표시

안한 모든 코드와 사진자료의 출처는 본 강의의 교수님 입니다.

정리는 다시한번 제가 보기위함과 어떤강의인지 알려드리는 것이고

제가 적은건 이해를 돕기 위한 부연설명과 제가 이해한 몇개의 중심적인 내용이 다소

생략이 되었습니다. 이 수기를 통해 공부하려 하지말고 흥미로운 내용이라면

'인프런- 홍정모의 따라하며 배우는c' 과정을 수강하시길 바랍니다.

프로그래밍을 할 때 특정기능을 구현하기위해

우리는 코드를 집어넣는다.

코드를 보면

그 프로그램을 짜는 사람이나 해당 언어를 아는사람은

그 기능에대해 이용하고 수정하거나 사용한다.

하지만, 일반 사용자에게는 어떨까?

  • 교수님코드
#include <stdio.h>

int main()
{
    int count = 0;
    while(1){
        printf("Current count is %d. Continue? (y or n)", count);
        
        if (getchar() == 'n')
            break;
    
               
    count++;
    }
        
    
    return 0;
}

n을 입력하면 프로그램이 종료되고

그외에 문자를 입력하면 카운트가 올라간다.y

y라 한번했는데 뭐이리 주둥이가 기냐 이말이야

'\n'을 제외하고 추가해본다

  • 교수님코드
#include <stdio.h>

int main()
{
    int count = 0;
    while(1){
        printf("Current count is %d. Continue? (y or n)", count);
        
        if (getchar() == 'n')
            break;
        else if (getchar() != '\n')
            continue;
               
    count++;
    }
        
    
    return 0;
}

'\n'을 즉 엔터를 입력하면 할일을 벗어나지 않고 계속한다.

근데 여기서 y나 n 말고 사용자가 다른문자를 입력하고

이게 뭐야 할 수도있다.

솔직히 강의에서

y or no를 받아들이는게 당연하다고 느낄 수 있다고 생각했는데,

이해하면서 납득했다.

사용자 인터페이스는 그만큼 폭넓은 이해가 필요하다는 것을

  • 교수님코드
#include <stdio.h>

int main()
{
    int count = 0;
    while(1){
        printf("Current count is %d. Continue? (y or n)", count);
        
        if (getchar() == 'n')
            break;
        else if (getchar() != '\n')
            continue;
        else
            printf("Please input 'y' or 'n'");
        
        
        
    count++;
    }
        
    
    return 0;
}

else를 활용해 프로그램을 한층 더 정중하게 만들 수 있다.

Comments