c언어 계산기 프로그램을 짜는데 num2의 초기화가 제대로 되지 않아요
글쓴이: rubylucy0717 / 작성시간: 수, 2020/08/12 - 1:43오후
초기 연산 이후에는 출력된 값에 +3 이런식으로 입력하면 추가 연산이 되도록 코드를 짰는데,
num2의 초기화가 제대로 되지않아서
3+1 (초기 연산)
값: 4
+3 (추가 연산)
값: 5
이런 식입니다.
#include<stdio.h> int main(void){ float num1,num2,value; char s=0; int start=0; while (1){ if (start == 0){ printf("수식을 입력하세요"); scanf("%f %c %f", &num1,&s,&num2); switch(s){ case'+': value = num1 + num2; printf("답: %f", value); num1 = value; start=1; break; case'-': value = num1 - num2; printf("답: %f", value); num1 = value; start=1; break; case'*': value = num1 * num2; printf("답: %f", value); num1 = value; start=1; break; case'/': value = num1 / num2; printf("답: %f", value); num1 = value; start=1; break; default: printf("계산할 수 없음"); break; } } else { if (start == 1){ printf("\n 계속 연산하려면 연산자부터 입력하세요"); } scanf("%c %f", &s,&num2); switch(s){ case'+': value = num1 + num2; printf("답: %f", value); num1 = value; start=2; break; case'-': value = num1 - num2; printf("답: %f", value); num1 = value; start=2; break; case'*': value = num1 * num2; printf("답: %f", value); num1 = value; start=2; break; case'/': value = num1 / num2; printf("답: %f", value); num1 = value; start=2; break; default: printf("계산할 수 없음"); break; } } } return 0; }
깃헙에 질문은 처음 올려보네요. 부실한 설명이 있다면 수정하겠습니다.
Forums:
여긴 깃헙 아니고 kldp
kldp에서는 code 태그 안 쓰면 들여쓰기 다 날아갑니다.
소스코드에는 code 태그를 쓰셔요.
세벌 https://sebuls.blogspot.kr/
scanf 가 사용하는 buffer 값을 비워주지
scanf 가 사용하는 buffer 값을 비워주지 않으면 재사용시에 문제가 될 수 있습니다.
https://blog.naver.com/tipsware/221264776615
참고해 보세요.
댓글 달기