/* 교재 154쪽 연습문제 12번 : 삼각형의 면적을 구하는 식을 함수로 만든 다음,
그 함수를 이용하여 밑변과 높이를 입력받아 삼각형의 면적을 구하는 프로그램을 작성하라 */
#include <stdio.h> // printf()때문에 포함
#include <conio.h> // getch() 때문에 포함
float area_comput(void); // 함수 선언
void main(void) {
while(1) {
printf("\n면적 : %f", area_comput());
printf("\n계속 : 아무키, 종료 : Esc ");
if(getch() == '\x1b') break; //무한 루프, esc키가 눌리면 종료
}
} // 편의를 위해 \n을 문장 앞에 삽입
/* 입력값을 함수를 이용하여 입력받으라했으므로 함수에서 입력받음 */
float area_comput(void) {
float under_lenth, height; // 홀수*홀수/2는 소수가 발생하므로 입력값도 실수로
dasi: // Label (goto가 바람직하지 않으나 간편하게 하기 위해 사용
printf("\n삼각형의 밑변의 길이는? : ");
scanf("%f", &under_lenth);
printf("\n 삼각형의 높이는? : ");
scanf("%f", &height);
if (under_lenth <= 0. || height <= 0.) { // 값 확인하여 양수만 허용
printf("\n입력오류, 0 이거나 -값임, 다시 입력하세요");
goto dasi; //밑변과 높이를 다시 받음
}
return (under_lenth * height / 2.); // 2가 float값이라 2.으로 표시
}
첫댓글 썩 잘 짜여진 프로그램은 아니지만 과제물인만큼 자신이 문제를 얼마나 제대로 이해했는가와 해결능력이 있는가를 나타내면 족하다고 생각하여 이정도로 작성했습니다. 프로그래밍 이해에 도움되셨으면 합니다.