#include <stdio.h>

#include <conio.h>

void calculation1();//사칙연산을 위한 함수

int cal_multy(double n1,char ch,double n2);//곱셈 나눗셈을 처리하는 함수

void calculation2();//중첩식 연산을 위한 함수

int main()

{

 //1.덧셈 뺄셈 곱셈 나눗셈이 가능하게 만든다

 //1-2 두가지 계산이 가능하게 만든다.

 //1-3 잘못선택했을 경우 되돌아갈 수 있도록 만든다

 //2.이미지 만든다.

 //3.다른 것도 할 수 있게 생각한다.

 int a;

 while(1)

 {

  printf("덧셈 뺄셈 곱셈 나눗셈이 가능한 계산기입니다. 계산 방식을 선택해 주세요.\n");

 printf("사칙연산:1 \n일반적인 계산기:2\n");

 scanf("%d",&a);


 if(a==1)

  calculation1;

 else if(a==2)

  calculation2;

 else

 {

  printf("잘못 입력했습니다. 알맞은 수를 입력해 주세요");

  scanf("%d",&a);

  if(a==1)

   calculation1;

  else if(a==2)

   calculation2;

  else

  {

   printf("잘못입력하셧습니다. 프로그램을 종료합니다.");

   break;

  }

 }

 }


}

void calclulation1()

{

 int i;

 double input[5]={0,},plus=0,multy=0,result=0;

 char ch[5];

 printf("덧셈 뺄셈 곱셈 나눗셈을 복합적으로 할 수 있는 계산함수 입니다\n");

 printf("숫자는 최대 100개까지 입력이 가능합니다\n");

 printf("식은 숫자와 부호를 한번씩 입력하고, 마지막 부호는 =을 입력해야 합니다.\n");

 printf("ex)\n1+\n2+\n3=\n\n");

 for(i=0;i<5;i++)

 {

  scanf("%lf %c",&input[i],&ch[i]);

  if(ch[i]=='=')

   break;

 }

 for(i=0;i<sizeof(input)/8;i++)

 {

  printf("%.3lf %c",input[i],ch[i]);

 }

 for(i=0;i<sizeof(input)/8;i++)//1*2*3+4/5

 {

  if (ch[i]=='*'||ch[i]=='/')

  {

   multy=cal_multy(input[i],ch[i],input[i+1]);

   input[i]=0;

   ch[i]='+';

   input[i+1]=multy;//[1][*][2][*][3][+][4][-][5]->[0][+][multy][*][3]    [+][4][/][5]  [=]

  }      //        [0][+][0]    [+][multy][+][4][/][5]  [=]

 }       //        [0][+][0]  [+][multy][+][0][+][4/5][=]

 for(i=0;i<sizeof(input)/8;i++)

 {

  if(ch[i]=='+')

   result+=input[i];

  if(ch[i]=='-')

   result-=input[i];

 }


 printf("= %.3lf",result);

}

int cal_multy(double n1,char ch,double n2)

{

 if(ch=='*')

  return n1*n2;

 else if(ch=='/')

  return n1/n2;

계산기 만드는중인데 우리가 일반적으로 가로로 여러개 써서 한번에 나오는거를 하고 싶은데 방법을 모르겠음. 차선책으로 calculation함수만들었는데 다시만들라네... 도와주라