2011-10-08 6 views
-3

C에 try 문이 있습니까? 저는 사다리꼴의 "면적 계산기"를 만들겠습니다. 사용자는 숫자 만 입력하면됩니다.C에서 진술을 시도 하시겠습니까?

#include <stdio.h> 
#include <conio.h> 

main() 
{ 
clrscr(); 
float base1, base2, height, area; 
printf("This program will compute the area of your trapezoid. Enjoy!"); 
printf("\n\tPlease enter the length of base1: "); 
scanf("%f", &base1); 
printf("\tPlease enter the length of base2: "); 
scanf("%f", &base2); 
printf("\tPlease enter the length of height: "); 
scanf("%f", &height); 
area = (base1 + base2) * h/2; 
printf("\nThe area of your trapezoid is: ", area); 
getch(); 
} 

하지만 숫자가 아닌 데이터는 자유롭게 입력 할 수 있습니다. 그렇게하면 프로그램이 중단됩니다. 올바른 데이터인지 확인하려면 어떻게해야합니까? 나는 이것이 하나의 루프로 수행 될 수 있다고 믿지만 하나의 프로그램에 대한 많은 해결책이 있기 때문에 내 것이 가장 효율적인지 의심 스럽다.

+0

"List of X"질문은 stackoverflow의 Q & A 형식에 잘 맞지 않습니다. – Flexo

+0

** 시도해보십시오 ** ** it? 심각하게 생각. 당신이 보았다면 그것에 대한 답을 쉽게 찾을 수 있습니다. 그러나 질문의 ​​두 번째 부분을보다 정확하게 변경해야합니다. –

답변

1

그렇지 아니

는 일반적으로 시도 문은 파이썬, C와 같은 객체 지향 언어에 존재 ++, 오브젝티브 C, C#, 비주얼 베이직, 자바 등

+0

언어가 객체 지향적인지 아닌지는 아무런 관련이 없습니다. 예를 들어 기능적 언어로 된 문장을 찾을 수 있습니다. –

+2

OO와 예외 처리 사이의 관계에 대해 잘 모르겠습니다. 펄과 하스켈을 예로 들자. 둘 다 어떤 형태의 try 문 (라이브러리에 의해 제공 될 수도 있음)을 가지고 있지만 "객체 지향"이라고 말할 수 있을지는 의문입니다. – jpalecek

1

오류 처리는 없습니다 C에서 명시 적으로 만든, if()goto. 예외 처리 (예 : 0으로 나눔)는 기본 커널 (Unix에서의 신호 처리, 대부분의 RTOS에서의 CPU 트랩 처리)에 달려 있습니다.

에이다는 exception 메카니즘을 가지며 raise 사용자 정의 예외가 있습니다.

관련 문제