elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [C] Problema con fracciones
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [C] Problema con fracciones  (Leído 2,685 veces)
padi22

Desconectado Desconectado

Mensajes: 3


Ver Perfil
[C] Problema con fracciones
« en: 10 Enero 2018, 05:07 am »

No es el código final.

Buenas gente, tengo un problema con mi código que no doy solucion, quiero que al poner fracciones si la persona no pone el segundo numero en ambas fracciones, el programa automáticamente le asigne 1, el problema es que no entiendo por que no lo hace, alguna idea?

Gracias

Código:
int main(){
int numero=0, resultado=0,numero3=0,numero2=0,resultado22=0,h=0;

    printf("\nIngresa las fracciones en formato x/x");
    printf("\nFa1/F1: ");
    scanf("%d/%d",&numero,&numero2);
    printf("\nFa2/Fa2: ");
    scanf("%d/%d",&numero3,&num.pote);
    resultado= (numero * numero3);
    if(numero2 == 0 || numero2 == 1){
                resultado22=num.pote;
    printf("\n\nEl Resultado es = %d/%d",resultado,resultado22);
}else if(num.pote == 0 || num.pote == 1){
                resultado22=numero2;
    printf("\n\nEl Resultado es = %d/%d",resultado,resultado22);
}else if(num.pote > 1 && numero2>1){
    resultado22= numero2 * num.pote;
    printf("\n\nEl Resultado es = %d/%d",resultado,resultado22);

}[color=yellow][b]else if(numero2 == 0 && num.pote == 0){
        resultado22=1;
    printf("\n\nEl Resultado es = %d/%d",resultado,resultado22);[/b][/color]
}


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: [C] Problema con fracciones
« Respuesta #1 en: 10 Enero 2018, 05:42 am »

scanf es un maldito y si le formateas una entrada espera que exactamente sea eso, no puedes saltarte nada, sino hará cosas muy raras.

Tú única solución es leer la entrada como si fuera una cadena y descifrarla tu a mano, si quieres que el programa se comporte como dices, claro.


En línea

padi22

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: [C] Problema con fracciones
« Respuesta #2 en: 10 Enero 2018, 21:27 pm »

Estaba generando problemas al poner || en los if

Código:
int main(){
    fflush(stdin);
    printf("\nIngresa las fracciones en formato x/x");
    printf("\nFa1/F1: ");
    scanf("%d/%d",&num.a,&num.b);
    printf("\nFa2/Fa2: ");
    scanf("%d/%d",&num.c,&num.d);
    num.h= (num.a * num.c);
    if(num.b == 0 && num.d == 0){
                num.e=1;
    printf("\n\nEl Resultado es = %d/%d",num.h,num.e);
}else if(num.d == 0){
                num.e=num.b;
    printf("\n\nEl Resultado es = %d/%d",num.h,num.e);
}else if(num.b == 0){
    num.e=num.d;
    printf("\n\nEl Resultado es = %d/%d",num.h,num.e);

}else if (num.d >=1 && num.b >=1)
{
    num.e=num.b*num.d;
        printf("\n\nEl Resultado es = %d/%d",num.h,num.e);
}else{
printf("\nError.");
}
}

ahora funciona como  debe ser :D
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: [C] Problema con fracciones
« Respuesta #3 en: 10 Enero 2018, 21:46 pm »

Puedes poner un ejemplo del caso dónde solo se escribe el numerador?
En línea

padi22

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: [C] Problema con fracciones
« Respuesta #4 en: 10 Enero 2018, 22:09 pm »



Así dices?, acabo de notar que me mande una error jaja

Ahora si



no entiendo por que en las variables num.b y num.d, se guarda un dato y lo sigue usando y nunca se remplaza, tengo que poner despues de cada calculo que esos valores se remplacen por 1 :S
« Última modificación: 10 Enero 2018, 22:41 pm por padi22 » En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: [C] Problema con fracciones
« Respuesta #5 en: 11 Enero 2018, 00:50 am »

Ya que la variable num no forman parte de la función, por el comportamiento son globales, pues sí, mantendrán los datos que la función no modifica.

Ahora, cuando arregles eso, me gustaría ver unos ejemplos con denominadores a 0.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Fracciones en C [Ayuda] « 1 2 »
Programación C/C++
barnix456 15 19,564 Último mensaje 23 Febrero 2013, 14:38 pm
por barnix456
convertir decimales a fracciones
Programación Visual Basic
asdexiva 5 8,809 Último mensaje 6 Marzo 2014, 07:06 am
por javinet
ejercicio fracciones
Programación C/C++
kuni2006 2 2,061 Último mensaje 22 Mayo 2016, 01:40 am
por HardForo
Problema al mover Bound Import Problema para copiar y pegar
Análisis y Diseño de Malware
kisk 2 3,733 Último mensaje 4 Abril 2017, 03:13 am
por kisk
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines