몽상실현개발주의

[따배씨] 8.8 메뉴 만들기 예제 본문

Language/C

[따배씨] 8.8 메뉴 만들기 예제

migrationArc 2021. 5. 27. 23:33

[따배씨] 8.8 메뉴 만들기 예제

따배씨 - 따라하며 배우는 C언어

8강 문자 입출력과 입력 유효성 검증

8.8 메뉴 만들기 예제

#include <stdio.h>

void count(void);
void user_choice(void);
int get_integer(void);
char get_choice(void);

int main(){
  char user_choice;
  while((user_choice = get_choice()) != 'q'){
    switch (user_choice) {
      case 'a':
        printf("Avengers assemble!\n");
        break;
        
      case 'b':
        printf("\a");
        break;
        
      case 'c':
        count();
        break;
        
      case 'q':
        return 0;

      default:
        break;
      }
  }
  
  return 0;  
}

void count (void){
  int n, i;
  printf("Enter an interger:\n");
  
  n = get_integer();
  
  for (i = 1; i <= n; ++i)
    printf("%d\n", i);
    
  while (getchar() != '\n')
    continue;
    
  return;
}

int get_integer(void){
  int input;
  char c;
    
  while (scanf("%d", &input) != 1) {
    while ((c = getchar()) != 'n')
      putchar(c);
      
    printf(" is not an integer.\nPlease try again.");
  }
  
  return input;
}

char get_first_char (void){
  int ch;
  
  ch = getchar();
  
  while (getchar() != '\n')
    continue;
    
  return ch;
}

char get_choice(void){
  int user_input;
  
  printf("Enter the letter of your choice:\n");
  printf("a. avengers     b.beep\n");
  printf("c. count        q. quit\n");
    
  user_input = get_first_char();
    
  while ((user_input < 'a' || user_input > 'c') && user_input != 'q'){
    printf("Please try again.\n");
    user_input = get_first_char();
  }
  
  return user_input;
}
  • User 의 모든 입력에 대응하여서 세심하게 만들자

 

 


이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.

http://blog.naver.com/atelierjpro

 

실리콘 밸리의 프로그래머 : 네이버 블로그

안녕하세요! 홍정모 블로그에 오신 것을 환영합니다. 주로 프로그래밍 관련 메모 용도로 사용합니다. 강의 수강하시는 분들은 홍정모 연구소 카페로 오세요.

blog.naver.com

http://www.inflearn.com/course/following-c

 

홍정모의 따라하며 배우는 C언어 - 인프런 | 강의

'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원

www.inflearn.com

 

Comments