본문 바로가기

프로그래밍/c언어

BMI비만도측정 프로그램

#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <math.h>
#include <stdlib.h>
void gotoxy(int x,int y);
void graph(float x);
void BMI(float a,float b);
void input();


void main()
{ char key;

 
 do{
  system("cls");
  printf("비만도를 알아보는 프로그램(BMI)입니다\n\n");
  
  gotoxy(33,14);
  printf("1. 시작하기");
  gotoxy(33,16);
  printf("2. 종료하기");
  gotoxy(10,23);
  printf("Copyright ⓒ 2010 by. 대현\n");
  gotoxy(10,24);
  printf("All pictures cannot be copied without permissions\n");
  key=getch();
  if(key==49) input();
  if(key==50)
  {
  system("cls");
  printf("bye bye\n\n");
  exit(0);  
  }
 
  
  key=getch();

 }while(key!=64);
  system("cls");
  printf("bye bye\n\n");


 getch();

}


void gotoxy(int x,int y)
{

COORD Pos={x-1,y-1};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Pos);
}

 

void graph(float x)
{
int i;
 gotoxy(1,4);
 printf("┏");// 저희집 사각형만드는 아스키코드값이 안먹혀서  이렇게 노가다합니다.
 for(i=0;i<36;i++)
 {printf("━");
 }
 printf("┓");
 gotoxy(1,6);
 printf("┗");
 for(i=0;i<36;i++)
 {printf("━");
 }
 printf("┛");
 gotoxy(37,5);
 printf("┃");
 gotoxy(75,5);
 printf("┃");
 gotoxy(1,5);
 printf("┃");
 gotoxy(46,5);
 printf("┃");
 gotoxy(50,5);
 printf("┃");
 gotoxy(60,5);
 printf("┃");
 gotoxy(x*2,7);
  printf("★");
 gotoxy(18,5);
  printf("1");
  gotoxy(42,5);
  printf("2");
 gotoxy(48,5);
  printf(" 3");
 gotoxy(55,5);
  printf("4");

gotoxy(65,5);
  printf("5");
  gotoxy(1,8);
  printf("1==>저체중  (0~18.5)");
  gotoxy(1,9);
  printf("2==>정상    (18.5~23)");
  gotoxy(1,10);
  printf("3==>과체중  (23~25)");
  gotoxy(1,11);
  printf("4==>경도비만(25~30)");
  gotoxy(1,12);
  printf("5==>중도비만(30~  )");

  gotoxy(20,14);
  printf("그만하고 싶으면 @키를 누르세요.\n");
  
  gotoxy(20,15);
  printf("계속하고 싶으면 아무키를 누르세요.");
  
}

void BMI(float a,float b)
{
 float c,k;
 system("cls");
 c=b/100;
 k=a/pow(c,2);

 
 printf("나의 신체질량지수(BMI) : %0.1f",k);
 graph(k);


}

void input()
{
 float a,b; 
 do{
  system("cls");
  printf("당신의 신장을 입력하세요?");
  scanf("%f",&b);
  fflush(stdin);
  
  if(b<0)
  {printf("음수는 불가능.다시입력하세요\n\n");}
  
  }while(b<0);
  
  do{
  ;
  printf("당신의 체중을 입력하세요?");
  scanf("%f",&a);
  fflush(stdin);
  if(a<0)
  {printf("음수/문자 불가능.다시입력하세요\n");
  }  
  }while(a<0);
  BMI(a,b);
}

'프로그래밍 > c언어' 카테고리의 다른 글

기초중기초(파일입출력)  (0) 2011.01.08
도서관리프로그램  (0) 2011.01.08
c언어 학교선배 시험  (0) 2011.01.07
Call by value, Call by reference  (0) 2011.01.07
글자/문자 색넣기  (0) 2010.11.18