Porque no funciona este codigo?

Iniciado por FKT, 9 Agosto 2015, 21:02 PM

0 Miembros y 1 Visitante están viendo este tema.

FKT


#include <stdio.h>
#include <stdlib.h>

int main(){

int uno, dos, cociente, sobrante;
char op;

printf("\nIntroduce un dividendo:\n\n ");
scanf("%i",&uno);
printf("\nIntroduce el divisor:\n\n");
scanf("%i",&dos);

uno / dos = cociente;
uno % dos = sobrante;

printf("\nResultado de la operacion: %i.\n",cociente);
printf("Para ver todos los datos ingresa (S) o (N) en caso contrario");
        scanf("%i",&op);
if(op == S){
printf("Operacion \n %i / %i = %i \n Resto = %i ",uno ,dos ,cociente ,sobrante);
}
else(char == N){
return 0;
system("pause")
}

}



El error me lo da en la linea donde esta esta operación:  uno / dos = cociente;
Solo hay 10 tipos de personas, las que saben binario y las que no.

Pablo Videla

Quizás porque el resultado es flotante y espera un entero. Intenta con numeros flotantes (float, double)

Tira acá el mensaje de error.

crack81

son varios los errores lo primero se asigna los valores asi

cociente=uno/dos;
sobrante=uno%dos;

en la variable cociente como estas utilizando el operador de / lo mejor seria que utilizaras float y no int

Saludos..
Si C/C++ es el padre de los lenguajes entonces ASM es dios.

FKT

#3
Tienes razón crack81 vaya fallos tontos que hago... jeje
Y como estoy empezando voy ha preguntarlo,  es mejor usar una variable flotante que la entera porque puede dar decimales es así?
Respecto a lo que acabo de decir este ejercicio lo queria hacer con enteros haha pero bueno gracias a todos  ;D
Y otra duda en la parte del fi-then-else esta mal porque me sale error, como seria de la forma correcta??? Usando un do-while? o quizás booleanos?

Salu2
Solo hay 10 tipos de personas, las que saben binario y las que no.

ivancea96

Si necesitas decimales o números muy altos (+10^19), puedes usar float o double.
Si no, lo mejor es usar enteros. Float y Double alcanzan números muy altos o bajos, y con decimales, pero no son precisos. Un número entero te aporta total precisión, a coste de menor rango numérico.

Dado que la mayoría de las veces no se utilizan decimales, lo normal es usar enteros.

FKT

Cita de: ivancea96 en  9 Agosto 2015, 22:11 PM
Si necesitas decimales o números muy altos (+10^19), puedes usar float o double.
Si no, lo mejor es usar enteros. Float y Double alcanzan números muy altos o bajos, y con decimales, pero no son precisos. Un número entero te aporta total precisión, a coste de menor rango numérico.

Dado que la mayoría de las veces no se utilizan decimales, lo normal es usar enteros.
Okey gracias  :-*
Solo hay 10 tipos de personas, las que saben binario y las que no.