기타 강좌

오늘은 그냥 간단한 계산기 하나를 만들어보았습니다.
무척간단하므로 모두 따라 하실수있다고 믿습니다~
코드 작성하는데 25분정도 걸린거 같은데 ...음....
==================================================================
=                         소                  스                   원                   본
==================================================================
/*아방이의 두번째 c언어 강좌*/
#include<stdio.h>

void main(void)
{
 int i;
 float a, c, Result=0;
 char b;
 printf("산수식을 입력해주세요.~.n");
 scanf("%f %c %f", &a, &b, &c);   // 첫번째값이 연산자 이고  두번째값 을 입력.

 switch(b)                                           // 결과 값과 연산자에 의한 계산임.
 {
 case '+': // + 의 경우
  Result = a + c; //a 와 c는 입력된 숫자의 값이므로 결과 값에나타내는 숫자
  break;
 case '-':
  Result = a - c;
  break;
 case '*':
  Result = a * c;
  break;
 case '/':
  Result = a / c;
  break;
 case '^':
  Result = 1;                                       // 승수계산은 곱셈임으로 기본값을 1로 설정합니다.
  for(i=0; i<c; i++)                             //  계산식을 for 문 으로 구현했음,.
   Result = Result * (float)a;           // 실수형의 계산이므로  a 를 실수로 바꾼뒤 계산
  break;
 default:
  break;
 }
 printf("입력된값 : %.2f %c %.2f = %.2f n", a, b, c, Result);      // 여기서 계산값과 소수점 자리를 나타냅니다. %.2f 에서 2 를 0으로 바꿔주시면 소수점을 없애고 결과를 보실수있습니다.
}


Ex)
1 enter
+ enter                   ←  + , - , * , / ^ 중하나를 입력후 enter
1 enter
1+1=2

Comment '3'
  • ?
    루트칠천 2008.01.23 18:09
    흠.. 아직 언어를 외우는 중인데.. 그래도 ㄳ합니다. 아방이님~
  • ?
    자라 2008.01.29 11:25
    printf("입력된값 : %.2f %c %.2f = %.2f n", a, b, c, Result);
    다음 부분을
    아래처럼 바꿔주시면
    정수일 경우에는 정수가 출력됩니다.

    printf("입력된값 :
    if(a==(int)a) printf("%d %c ",(int)a,b);
    else printf("%.2f %c ",a,b);
    if(c==(int)c) printf("%d = ",(int)c);
    else printf("%.2f = ",c);
    if(result==(int)result) printf("%dn",(int)result);
    else printf("%.2fn",result);
  • ?
    [Dark].Angel 2009.01.13 22:04
    ㅎㅎ.. 감사합니다.