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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda en dev c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda en dev c++  (Leído 6,030 veces)
Kurosaki12

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Ayuda en dev c++
« en: 28 Mayo 2010, 05:15 am »

Ayuda con el siguiente programa, lo que debe de hacer es que al ingresar una fraccion este determine si es fraccion impropia y transformarla en fraccion mixta y reducirla a su minima expresion y en el caso contrario de no ser fraccion impropia solo redusca la fraccion, el problema es que al introducir una fraccion que no es  impropia el programa se comporta algo extraño.

Nesecito ayuda porfavor!!!!!!!!!  :xD :xD :xD :xD :xD :xD

Código
  1.  
  2. #include <iostream>
  3. #include <stdlib.h>
  4.  
  5. float reduce(int *, int * );
  6.  
  7. using namespace std;
  8.  
  9. int main(){
  10.  
  11.    int num, den;
  12.    int mix;
  13.    float resultado;
  14.  
  15.  
  16.    cout << "Ingresa el numerador: " ,cin >> num;
  17.    cout << endl;
  18.    cout << "Ingresa el denominador: " ,cin >> den;
  19.    cout << endl;
  20.  
  21.    if(num>den){
  22.    cout << "La fraccion " << num << "/" << den << " es impropia." << endl;
  23.    mix=num/den;
  24.  
  25.    if(num % den ==0)
  26.    {      
  27.    cout << "La fraccion mixta es: " << mix ;
  28.    cout << endl;}
  29.  
  30.    else  
  31.    if(num%den>0){
  32.    cout << "La fraccion mixta es: " << mix << " " << num%den << "/" << den;
  33.    cout << endl;
  34.    }
  35.  
  36.    }
  37.  
  38.    else
  39.    if(num<den){
  40.    cout << "La fraccion "<< num << "/" << den << " no es impropoia por lo tanto no se puede convertir a fraccion mixta";
  41.    cout << endl;
  42.  
  43.    }
  44.  
  45.    if(num<den){
  46.    resultado=reduce(&num, &den);
  47.    cout << num << "/" << den << "= " << resultado << endl;}
  48.  
  49.  
  50.    if(num>den){
  51.    resultado=reduce(&num, &den);
  52.    cout << mix << " " << num%den << "/" << den << "= " << resultado << endl;}            
  53.  
  54.  
  55.  
  56.  
  57.  
  58.    system("pause");
  59.    return 0;
  60.  
  61. }
  62.  
  63. float reduce (int * nume, int * deno)
  64. {    int multi=9;
  65. // ------------ busca comun denominador -----------
  66.     while  (multi != 1)
  67.     {   multi=9;
  68.         while (*nume%multi != 0 || *deno%multi != 0)
  69.              multi--;
  70.  
  71.         *nume=*nume/multi;
  72.         *deno=*deno/multi;
  73.     }
  74. // ---- busca simplificar en caso de ser primos ---
  75.     while (*nume%*deno==0 || *deno%*nume==0){
  76.         if  (*nume%*deno==0)
  77.         {   *nume/= *deno;
  78.             *deno %= *nume;
  79.         }
  80.         else
  81.             if (*deno%*nume==0)
  82.             {  *deno /= *nume;
  83.                *nume %= *deno;
  84.             }
  85.     }
  86.  
  87.     return *nume/float(*deno);
  88. }
  89.  
  90.  


En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Ayuda en dev c++
« Respuesta #1 en: 28 Mayo 2010, 08:23 am »

Dev-C++ es un IDE, no un lenguaje de programación.


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Ayuda en dev c++
« Respuesta #2 en: 28 Mayo 2010, 21:26 pm »

A que le llamas un comportamiento extraño? si te explicas seria mejor, porque obviando que no se reduce a la minima expresion todo va bien con el programa
En línea

Kurosaki12

Desconectado Desconectado

Mensajes: 13



Ver Perfil
Re: Ayuda en dev c++
« Respuesta #3 en: 29 Mayo 2010, 02:25 am »

A lo que me refiero es que cuando ingreso una fracción impropia por ejemplo 13/5 el programa la convierte a fracción mixta y no hay ningún problema pero cuando ingreso una fracción que no es impropia por ejemplo 1/2 el programa me indica que no es impropia pero se traba y no me aparece el mensaje de "oprima cualquier tecla para continuar...." para cerrar el programa.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines