맞는데 왜 틀릴까..?

C++

C++ 실습 문제 25 (예외 처리와 C언어 링크 지정)

안도일 2022. 6. 12. 19:59

1. 다음은 정수를 입력받아 구구단을 출력하는 프로그램이다. 그런데 이 프로그램은 1~9가 아닌 정수가 입력되는 것을 걸러내지 못하고, 특히 문자가 입력되면 무한 루프에 빠진다

아래 예시와 같이 실행되도록 try-throw-catch를 이용해 이 프로그램을 수정하라.

 

 

 

정수 값이 아닌 값을 입력한다면 char* 타입의 값 s를 예외로 catch(char *s) 에게 던짐

1~9 이외의 수를 입력한다면 int 타입의 값 n을 예외로 catch(int n) 에게 던짐

 

 

 

2. 다음은 C 코드로서 get.c 파일에 저장되어 있다.

 

get() 함수를 호출해 두 정수를 키보드로부터 입력받아 곱을 출력하는 프로그램을 main.cpp 파일로 저장하고, get.c 와 main.cpp 파일로 구성되는 프로그램을 작성하라.

 

 

C++에서 C 함수 호출 시 링크 오류가 발생하는데 extern "C" 를 사용하여 C 컴파일러로 컴파일할 것을 지시하여 오류를 해결할 수 있다.