6장 연습문제 11번

2010. 3. 28. 21:162010년/연습문제


사용자가 선택한 도형의 면적을 구하는 프로그램을 작성하라. 도형은 삼각형 정사각형 원 직사각형 사다리꼴이 있다. main_interface()함수와 각 부메뉴를  함수를 총 11개 사용하라

#include<stdio.h>
#define
 PI 3.1415;
int main_interface(void);
void tri(void);
void squ(void);
void cir(void); 
void rec(void);
void trap(void);

int main()
{
  int inum;
  inum=main_interface();
  switch(inum)
  {
    case 1:
      tri();
      break;
    case 2:
      squ();
      break;
    case 3:
      cir();
      break;
    case 4:
      rec();
      break;
    case 5:
      trap();
      break;
    case 6:
      printf("종료되었습니다\n");
      break;

  }
  return 0;
  
}
int main_interface(void)
{
  int inum;
  printf("1. 삼각형 \n");
  printf("2. 정사각형 \n");
  printf("3. 원 \n");
  printf("4. 직사각형 \n");
  printf("5. 사다리꼴 \n");
  printf("6. 종료  \n");
  printf("Please enter menu number :\n");
  scanf("%d",&inum);
  return inum;
  
}
void tri(void)
{
  int down;
  int hi;
  float result;
  printf("밑변을 입력하세요 :\n");
  scanf("%d",&down);
  printf("높이를 입력하세요 :\n");
  scanf("%d",&hi);
  result=(float)down*(float)hi /2;
  printf("넓이는 %.2f입니다.\n",result);
}
void squ(void)
{
  int inum;
  printf("정사각형의 한변의 값을 넣으세요\n");
  scanf("%d",&inum);
  printf("넓이는 %d입니다.\n",inum*inum);
}
void  cir(void)
{
  int inum;
  float result;
  printf("반지름을 입력하세요\n");
  scanf("%d",&inum);
  result=(float)inum*2*PI;
  printf("넓이는 %.3f입니다.\n",result);
}
void rec(void)
{
  int inum;
  int inum2;
  printf("첫번째변을 입력하세요 :\n");
  scanf("%d",&inum);
  printf("두번째를 입력하세요 :\n");
  scanf("%d",&inum2);
  printf("넓이는 %d입니다.\n",inum*inum2);

}
void trap(void)
{
  int we;
  int down;
  int hi;
  float result;
  printf("윗변을 입력하세요 :\n");
  scanf("%d",&we);
  printf("밑변을 입력하세요 :\n");
  scanf("%d",&down);  
  printf("높이를 입력하세요 :\n");
  scanf("%d",&hi);
  result=(float)(we+down)*(float)hi/2;
  printf("넓이는 %.3f입니다.\n",result);
}

함수를 11개 사용해야하는 문제를 잘못읽어서 그냥 6개 썼다 -_-;;;

귀찮아서 -_-;;; 다풀고 문제 다시 읽어보니 11개쓰는거넹

뭐 6개로 만족하자 다시짜라면 귀찮다. 100라인이 넘는다.