Hace poco empezé a programar en C (2 días) y quisiera saber si me puedn ayudar con este programa. La idea (muy básica) es introducir un código (1 para sumar, 2 para restar, 3 para multiplicar y 4 para dividir) y hacer una operación. Compila correctamente en GCC pero lo probé Debian 6.0 y luego de la primer pregunta me dice "Violación de segmento".
Aquí está el código:
Código C:
Ver original#include <stdio.h>
int main( void )
{
int tipo;
int res;
int mul;
int sum;
sum = 1;
res = 2;
mul = 3;
printf( "¿Qué operación va a realizar ahora?\n" );
printf( "Códigos:\n\t 1 = suma\n\t 2 = resta\n\t 3 = multiplicación\n\t 4 = división\n" );
if ( tipo = mul ) {
int factor1;
int factor2;
printf( "\n¿Qué numeros va a multiplicar?" );
scanf( "\n%d X %d", factor1
, factor2
);
int multiplicacion;
multiplicacion = factor1 * factor2;
printf( "\n%d por %d es igual a %d ", factor1
, factor2
, multiplicacion
);
}
int dividendo;
int divisor;
printf( "\n¿Qué numeros va a dividir?" );
scanf( "\n%d : %d", dividendo
, divisor
);
int cociente;
cociente = dividendo / divisor;
printf( "\n%d divido %d es igual a %d ", dividendo
, divisor
, cociente
);
}
if ( tipo = sum ) {
int sumando1;
int sumando2;
printf( "\n¿Qué numeros va a sumar?" );
scanf( "\n%d + %d", sumando1
, sumando2
);
int suma;
suma = sumando1 + sumando2;
printf( "\n%d más %d es igual a %d ", sumando1
, sumando2
, suma
);
}
if ( tipo = res ) {
int minuendo;
int sustraendo;
printf( "\n¿Qué numeros va a restar?" );
scanf( "\n%d - %d", minuendo
, sustraendo
);
int diferencia;
diferencia = minuendo - sustraendo;
printf( "\n%d menos %d es igual a %d ", minuendo
, sustraendo
, diferencia
);
}
return 0;
} /* main finalizes*/