Coding

2010 9월 13일 수업내용.

교 향 2010. 12. 17. 16:52


간단한 사칙연산을 이용, 두 수와 사칙연산을 선택한 후
답을 출력하여 재 사용 여부를 묻는 소스



#include <stdio.h>

int main(void)

{

 float num1, num2; //실수형변수 num1, num2를 선언
 char k, re;           //문자열변수 k,re선언

 while(1)              //반복문, 조건은 '참'
 {
 printf("첫번째 수를 입력하세요: "); //수입력1
 scanf("%f" , &num1);                  //scanf를 이용해 num1에 주소값(실수)을 받아옴

 printf("두번째 수를 입력하세요: "); //수입력2
 scanf("%f" , &num2);                  //scanf를 이용해 num2에 주소값(실수)을 받아옴

 fflush(stdin);                             //쉽게 말해, 버퍼에 남은 '\n'값을 제거하기 위해 사용함
                                                            


 printf("사칙연산을 입력하세요(+,-,*,/): "); //사용할사칙연산을 입력
 scanf("%c" , &k);                                 //문자열을 k값에 주소지정

 if( k=='+' )             //만약 k가 덧셈일 경우
 {
  printf("%.2f + %.2f = %.2f입니다.\n" , num1, num2, num1+num2); //(소수점둘째자리까지)덧셈 결과 출력
 } else if(k=='-') {   //만약 k가 뺄셈일 경우
  printf("%.2f - %.2f = %.2f입니다.\n" , num1, num2, num1-num2); //(소수점둘째자리까지)뺄셈 결과 출력
 } else if(k=='*') {   //만약 k가 곱셈일 경우
  printf("%.2f * %.2f = %.2f입니다.\n" , num1, num2, num1*num2); //(소수점둘째자리까지)곱셈 결과 출력
 } else if (k=='/') {  //만약 k가 나눗셈일 때
  if(num2==0)printf("0으로 못나와 \n"); //num2값에 0이 입력됬을때 나눗셈 불가
  else printf("%.2f / %.2f = %.2f입니다.\n" , num1, num2, num1/num2);//(소수점둘째자리까지)나눗셈 결과 출력
 }
 else {
 printf("잘못된 사칙연산을 입력하였습니다.\n");  //윗 사칙연산 외 나머지 모든 경우에 출력
 }

 fflush(stdin);
 printf("Retry? (y/n) : ");   //재사용 여부
 scanf("%c" , &re);          //문자열을 're값'으로 주소지정
 if(re=='n') break;            //'n'입력시 빠져나옴

 }

return 0;

}


-출력 결과-