Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: FKT en 9 Agosto 2015, 21:02 pm



Título: Porque no funciona este codigo?
Publicado por: FKT en 9 Agosto 2015, 21:02 pm
Código:
#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;


Título: Re: Porque no funciona este codigo?
Publicado por: Pablo Videla en 9 Agosto 2015, 21:08 pm
Quizás porque el resultado es flotante y espera un entero. Intenta con numeros flotantes (float, double)

Tira acá el mensaje de error.


Título: Re: Porque no funciona este codigo?
Publicado por: crack81 en 9 Agosto 2015, 21:19 pm
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..


Título: Re: Porque no funciona este codigo?
Publicado por: FKT en 9 Agosto 2015, 21:20 pm
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


Título: Re: Porque no funciona este codigo?
Publicado por: 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.


Título: Re: Porque no funciona este codigo?
Publicado por: FKT en 9 Agosto 2015, 22:58 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  :-*