IT프로그래밍

c언어 계산기 / c언어 계산기 소스 / c로 만든 계산기

Manniz 2015. 1. 11.

#include <stdio.h>

 

/*

숫자와 사칙 연산기호를 순차적으로 입력받아 결과를 출력하는 계산기

*/

main()

{

        while (1) {

               int number_1, number_2;                      //숫자를 입력받을 변수

               char giho[2];                                        //기호를 입력받을 문자열 변수

 

               printf("처음 숫자를 입력해주세요 : ");

               scanf_s("%d", &number_1);

 

               fflush(stdin);                                       //get_s에서 방금전 입력한 엔터값도 읽어들이기 때문에, 수행전에 버퍼를 비워주기 위해서

               printf("사칙 연산 기호를 입력해주세요 : ");

               gets_s(giho,2);                                              //버퍼사이즈가 2여서 문자 1 이상 입력시 에러 발생

              

 

 

               printf("처음 숫자를 입력해주세요 : ");

               scanf_s("%d", &number_2);

 

 

               if (giho[0] == '+' || giho[0] == '-' || giho[0] == '*' || giho[0] == '/')   //사칙연산 기호가 아닐 예외처리

               {

                       switch (giho[0])                                     //연산 기호에 따른 switch

                       {

                       case '+':                                                    //덧셈

                              printf("결과 : %d %s %d = %d\n\n", number_1, giho, number_2, number_1 + number_2);             //처음숫자, 기호, 두번째 숫자, 계산후 결과 순으로 출력

                              break;

 

                       case '-':                                                    //뺄셈

                              printf("결과 : %d %s %d = %d\n\n", number_1, giho, number_2, number_1 - number_2);

                              break;

 

                       case '*':                                                    //곱셈

                              printf("결과 : %d %s %d = %d\n\n", number_1, giho, number_2, number_1 * number_2);

                              break;

 

                       case '/':                                                    //나눗셈

                              if (number_2 == 0) {

                                      printf("0으로 숫자를 나눌 없습니다.\n\n");                          //Divide by 0 에러 예외처리, 안할시 에러 발생

                                      break;

                              }

                              printf("결과 : %d %s %d = %d\n\n", number_1, giho, number_2, number_1 / number_2);

                              break;

 

                       }

               }

 

               else {

                       printf("연산기호가 올바르지 않습니다.\n\n");

               }

              

        }

       

 

 

}



결과



댓글