안녕하세요, 저는 프로그래밍에 익숙하지 않고 잠시 동안 계산기로 작업 해 왔습니다. 일부 삼각 함수를 추가하려고하는데 사인과 문제가 있습니다. 다른 함수는 (+, -, *, /) 작동하지만 "sine"을 넣을 때 잘못된 함수라고 말하는 부분으로 건너 뜁니다. 제발 도와주세요. 감사! 다중 문자 리터럴"사인"을 입력하면 C 계산기 프로그램에서 오류가 계속 발생합니까?
#include <stdio.h>
#include <math.h>
int main()
{
float firstnum, secondnum, angle, answer, pi;
char function, sine;
pi = atan(1.0)*4;
printf("\nHello and welcome to my calculator!\n");
while(1)
{
printf("\nPlease input the function you would like to use. These include +, -, *, /, sine.\n");
scanf("%s", &function);
switch(function)
{
case '+':
printf("\nNow please input the two variables.\n");
scanf("%f", &firstnum);
scanf("%f", &secondnum);
answer = firstnum+secondnum;
break;
case '-':
printf("\nNow please input the two variables.\n");
scanf("%f", &firstnum);
scanf("%f", &secondnum);
answer = firstnum-secondnum;
break;
case '*':
printf("\nNow please input the two variables.\n");
scanf("%f", &firstnum);
scanf("%f", &secondnum);
answer = firstnum*secondnum;
break;
case '/':
printf("\nNow please input the two variables.\n");
scanf("%f", &firstnum);
scanf("%f", &secondnum);
answer = firstnum/secondnum;
break;
case 'sine':
printf("\nPlease enter the angle.\n");
scanf("%f", &angle);
answer = sin(angle);
break;
default: printf("Sorry, that is an incorrect function. The only available choices are +, -, *, /, sine.");
break;
}
printf("Your answer is %f \n", answer);
printf("\nWhen you are ready to quit, simply press Ctrl + C or just hit the X button in the top right.\n");
}
return 0;
}
이 문제는 정수를 취하는'switch' 문과 관련이 있으며, 각각의 경우는 정수입니다. 단일 문자는 ASCII 값으로 표시 될 수 있습니다. 여러 문자가 더 까다 롭습니다. 불행히도 어떻게 처리되는지는 기억하지 못합니다. – Moshe
왜 누군가가 이것을 얕보는지, 초심자는 죄가 아니라는 것을 확신하지 못합니다. 당신은 분명한 질문을하고 +1 –
코드를 제공했습니다. C로 시작하는 프로그래밍을 배우는 것은 권장하지 않습니다. 파이썬에서 같은 프로그램을 고려하십시오 (코드의 양과 연산자 맵의 사용을 비교하십시오). http : // pastebin.com/ew6ps8mv – hdante