정수간의 사칙연산 및 누적값받기 해결 부탁드려요 ㅠㅠ
겨루
질문 제목 : 이파일이 왜안돌아 갈까요.. ㅠㅠ;;아직 씨언어 초보인데;; 왜 안돌아 가는지 모르겠어여;;질문 내용 :
#include stdio.h
int plus(int num1, int num2)
{
return num1+num2;
}
int minus(int num1, int num2)
{
return num1-num2;
}
int multi(int num1, int num2)
{
return num1*num2;
}
int divi(int num1, int num2)
{
return num1/num2;
}
int main(void)
{
int i;
int sel;
double savetotal;
int num1;
int num2;
for(i=1; i11 ; i++){
printf(정수와 정수의 사칙연산하기!\n);
printf(정수1을 입력:);
scanf(%d,&num1);
printf(정수2를 입력:);
scanf(%d,&num2);
printf(더하기1,빼기2,곱하기3,나누기4 :);
scanf(%d,&sel);
if(sel == 1) {
printf(계산결과 %d\n,plus(num1,num2));
} else if(sel == 2){
printf(계산결과 %d\n,minus(num1,num2));
} else if(sel == 3){
printf(계산결과 %d\n,multi(num1,num2));
} else if(sel == 4){
if (num2==0)
printf(분모에 0이 들어갈시 허수가 되므로 불가;;\n);
else{
printf(계산결과: %d\n,divi(num1,num2));
};
}
else{
printf(%d로 지정된 연산자는 없습니다.\n,sel);
}
}
printf(10번 중 %d번째 계산이 끝났다!\n,i);
printf(%d번째 계산까지 누적된 값: %f\n,i,savetotal);
if(savetotal1.8e307){ //e308 로 하면 너무 상수가 크다며 오류가 납니다; 뭔가 이상함;
printf(미안한데, 누적값 범위 초과했어...\n);
printf(여태까지의 누적값 : %f\n,savetotal);
i = 100; // i=11이면 for문이 종료되므로
}
if(savetotal=2.2e-307){
printf(미안한데, 누적값 범위 초과했어...\n);
printf(여태까지의 누적값 : %f\n,savetotal);
i = 100; // i=11이면 for문이 종료되므로
}return 0;
}
이게 돌아 가긴 하더라구요;; 근데 값도 이상하게 나오고;;
과제가 함수를 이용해서 계산기를 만들라고 하셔서 4가지로 정수와 정수간의 계산 정수와 실수간의 계산후 정수로 값받기,실수로 값받기
실수와 실수사이의 계산 이것들을 하려고 하는데 우선 정수와 정수 사이로 하는데 누적값이 이상하게 나오고 프린트식 밑에 연산식을 호출받아서 해보는것도 햇는데 좀 이상하게 나오고 누적이 왜 안되죠;;
-
심플포텐
for문 닫는 괄호 위치가 이상한 것 같아요.
SaveTotal은 초기화도 안 하고, 값을 넣지도 않고 비교를 하네요.
그리고, double형은 %f가 아닌 %lf와 짝이 맞아요.
(SaveTotal=2.2e-307) 이 조건도 범위 초과인가요? 2.2e-307은 거의 0인 데요.