[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를 활용해 프로그램을 한층 더 정중하게 만들 수 있다.