Creando una calculadora simple en C

Estoy tratando de escribir un simple script de C calculadora, usando solo el + básico, -, /, *. Tengo lo siguiente, pero no estoy seguro de por qué no se imprime correctamente.

#include #include int main (void) { //introduce vars double number1, number2, result; char symbol; //the operator *, -, +, / //allow user interaction printf("Enter your formula \n"); scanf("%f %c %f", &number1, &symbol, &number2); switch (symbol) { case '+': result = number1 + number2; break; default: printf("something else happened i am not aware of"); break; } getchar(); return 0; } 

¿Por qué no se imprime el resultado? ¿Estoy haciendo algo mal aquí?

 result = number1 + number2; 

“¿Por qué no se imprime el resultado?”

Calculas la respuesta correctamente, pero no la imprimes en ningún lugar .

Necesitas tener algo como:

 printf("Answer: %f + %f = %f\n", number1, number2, result); 

Sin una statement impresa, nada se imprime.


EDITAR Respondiendo al comentario:

¿Hiciste el printf después de calcular el resultado? Personalmente, pondría el printf justo antes del getchar ();

Para más depuración, justo después de su scanf, escribiría:

 printf("Input as received: number1 is %f\n number2 is %f\nsymbol is %c\n", number1, number2, symbol); 

Si eso no muestra la entrada que escribió, entonces hay un problema con la forma en que recostack la entrada.

Nunca imprimes el resultado …

Necesitas agregar algo como esto:

 printf("Result: %f", result); 
 /* I think I see the problem; you're trying to reinvent the wheel. */ #include <stdio.h> #include <stdlib.h> int main (void) { system("/bin/bc"); return 0; }