buenas, he erealizado todos los tutoriales de esta comunidad y tenia pensado realizar una calculadora rudimentaria(solo las cuatro operaciones basicas y solo con enteros) con esos conocimientos. El programa empieza pidiendo un numero, luego solicita el segundo y la idea era que a cada operacion se le asignara un numero(Suma=1,Resta=2...) y traves de unos "If" la idea era que el programa reaccionara de forma diferente segun el numero intraducido, ej si introduces el uno que sume con el 2 que reste, pero lo hace todo de golpe. Pero bueno como siempre se dice un codigo vale mas que mil palablas.
#include <stdio.h> /*el primer programa diseñado por mi mismo(sin tutoriales*/ int main(int argc, char *argv[]) { char c, operacion; int a, b, resultado; printf("Introduce un numero: "); scanf("%i",&a); getchar(); printf("\n\nIntroduce otro numero: "); scanf("%i",&b); getchar(); printf("\n\nIntroduce el numero de la operacion que \ndeseas realizar(suma=1, resta=2, multiplicacion=3, division=4): "); scanf("%c",&operacion); getchar(); if (operacion = 1) { resultado = a + b; printf("Has elegido suma y el resultado es: %i", resultado); } if (operacion = 2) { resultado = a - b; printf("Has elegido resta y el resultado es: %i", resultado); } if (operacion = 3) { resultado = a * b; printf("Has elegido multiplicacion y el resultado es: %i", resultado); } if (operacion = 4) { resultado = a / b; printf("Has elegido division y el resultado es: %i", resultado); } printf("Quieres seguir caculando Si=1/No=2? "); scanf("%c",&c); getchar(); return 0; }
y una imagen del programa tampoco sobraria:
Gracias
bien me habeis ayudado he tenido que cambiar la variable operacion a tipo int pero funciona ahora, solo faltaria realizar un bucle para que lo de "quieres seguir calculando?" funcione
Cierto lo del int
No me di cuenta de que era un char, con un char la sintaxis sería
if (operacion == '1')
.En cualquier caso de ambas formas es correcto.LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.
bueno no importa
ya la he conseguido acabar, solo sabe operar con numeros enteros, pero funciona y ya he creado el bucle. Lo que ahora me pregunto: ¿Que otra cosas puedo hacer con mis conocimientos(los de los tutoriales de aqui)?¿Deberia aumentar dichos conocimientos? De todos modos me pasare para ver el proximo tutorial.
Chao
Bueno
Ya te han dado la respuesta correcta, estas asignando en vez de comparar, solo agrega otro signo de igualdad (=), en las condiciones.
;).
Manual del Perfecto Votante Para un voto libre y justo!.
TheGCProjects
Asignación en vez de comparación
No estás haciendo comparaciones (==) sino asignando (=). Al hacer una asignación en un if, lo que el if comprueba es el valor de la variable asignada como un boolean (mientras sea > 0, dará verdadero). El código sería con == como aquí:
Por cierto, nunca te va seguir calculando porque no hay ningún bucle, y el valor de c, nunca se compara.
LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.