게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
으어 c언어 계산기 소스 좀 도와주세요 +_+_+_+_+
게시물ID : computer_307998짧은주소 복사하기
작성자 : 빛날지어다
추천 : 0
조회수 : 699회
댓글수 : 3개
등록시간 : 2016/06/10 20:56:26
옵션
  • 창작글
  • 외부펌금지
c언어 공부하면서 계산기를 만들어보고 있는데요.
이게 함수 선언하면서 쉽게 하려고 사칙연산까지는 완성시켰는데 추가적으로 

제곱연산이랑 나머지 연산 같은 조금 업그레이드 버전을 만들고 싶어서요 !

근데 제가 기존에 만들어 놓은 방식에서는 어떻게 적용시켜야할지 감이 안잡혀서 여기다가 문의 드려요 ㅠㅠㅠ






----------------------------------------------------------------------------------------------

#include <stdio.h>

//함수선언문
void add(double*, double, double);
void subtract(double*, double, double);
void multiply(double*, double, double);
void devide(double*, double, double);
void remainder(float*, float, float);
void square(double*, double, double);



int main(void)
{
double m,n,result;
int menu;
char *opstr[6]={"더하기", "빼기", "곱하기", "나누기", "나머지", "제곱"};
char op[6]={'+','-','*','/','%','^'};

void (*pfary[6]) (double*, double, double)={add,subtract,multiply,devide,(float)remainder,square}; 

printf("(메뉴얼 번호를 입력해\n");
printf("+:0, -:1, *:2, /:3, %%:4, ^:5 \n");
scanf_s("%d", &menu);


//메뉴 선택 오류시 출력문
if (!(0<= menu && menu <6))
{
printf ("메뉴선택 오류 프로그램 종료.\n");
//

return 0;
}
//본문 
printf ("\n계산할 실수 2개를 입력해:");
scanf_s ("%lf %lf", &m, &n);

pfary[menu](&result,m,n);
printf("\n문장: pfary[%d] 함수호출 \n", menu);
printf("%s 수행: %lf %c %lf == %lf\n\n", opstr[menu],m,op[menu],n,result);

return 0;
}

//연산 함수
void add(double*z, double x, double y)
{
*z=x+y;
}
void subtract(double*z, double x, double y)
{
*z=x-y;
}
void multiply(double*z, double x, double y)
{
*z=x*y;
}
void devide(double*z, double x, double y)
{
*z=x/y;
}
void remainder(double*z, double x, double y)
{
*z=x%y; //형변환 시켜줘야 하는데
}
void square(double*z, double x, double y)
{

}

-----------------------------------------------------------------------------------------
일단 여기까지인데 함수내용에서 나머지 연산은 형변환이 문제인 것 같고...
제곱같은 경우는 for문이나 반복문 조건문을 써야할 것 같은데 백방으로 해봐도 결과가 안나와서요 ㅠ퓨

고수님들 계시면... 좀... 힌트라도 주세여..
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호