AlexandreRDSST

Untitled

Feb 4th, 2012
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4.  
  5. int perguntar();
  6. int opcao();
  7. int adicao(int p1, int q1, int p2, int q2);
  8. int subtracao(int p1, int q1, int p2, int q2);
  9. int dividir(int p1, int q1, int p2, int q2);
  10. int imprimir_fracao(int p1, int q1);
  11. float imprimir_ponto_frutuante(int p1, int q1);
  12. int MMC(int q1,int q2);
  13.  
  14. int main()
  15. {
  16.       int q1;
  17.       int q2;
  18.       int p1;
  19.       int p2;
  20. //primeira função
  21.       printf("\n Informe o numerador da primeira funcao\n");
  22.       scanf("%d",&p1);
  23.       printf("\n Informe o denominador da primeira funcao\n");
  24.       scanf("%d",&q1);
  25. // Segunda função
  26.   printf("\n Informe o numerador da Segunda funcao\n");
  27.   scanf("%d",&p2);
  28.   printf("\n Informe o denominador da Segunda funcao\n");
  29.   scanf("%d",&q2);
  30.  
  31.  int op;
  32.  
  33.  printf("\n[1] Adicao de 2 Racionais: ");
  34.  printf("\n[2] Subtracao de 2 Racionais: ");
  35.  printf("\n[3] Multiplicacao de 2 Racionais: ");
  36.  printf("\n[4] Divisao de 2 Racionais: ");
  37.  printf("\n[5] Imprimir o Racional na forma p/q: ");
  38.  printf("\n[6] Imprimir o Racional em ponto flutuante de precisao dupla: ");
  39.  
  40.  scanf("%d",&op);
  41.  
  42.   switch(op)
  43.   {
  44.    case 1:
  45.       printf("RESULTADO");
  46.        adicao(p1,q1,p2,q2);
  47.      break;
  48.    case 2:
  49.       printf("RESULTADO");
  50.        subtracao(p1,q1,p2,q2);
  51.      break;
  52.    case 3:
  53.       printf("RESULTADO");
  54.        multiplicar(p1,q1,p2,q2);
  55.      break;
  56.    case 4:
  57.       printf("RESULTADO");
  58.        dividir(p1,q1,p2,q2);
  59.      break;
  60.    case 5:
  61.       printf("RESULTADO");
  62.        imprimir_fracao(p1,q1);
  63.      break;
  64.    case 6:
  65.       printf("RESULTADO");
  66.        imprimir_ponto_frutuante(p1,q1);
  67.      break;
  68.   }
  69.     system("pause");
  70.     return 0;
  71. }
  72.  
  73.  
  74. int adicao(int p, int q, int p1, int q1)
  75. {
  76. int denominadorF1 = q;
  77. int denominadorF2 = q1;
  78. int numeradorF1 = p;
  79. int numeradorF2 = p1;
  80.  
  81. int numeradorResultado;
  82. int denominadorResultado;
  83.  
  84. int resultado1,resultado2,temp,temp2,mmc;
  85.  
  86. if (denominadorF1 == denominadorF2)
  87.   {
  88.    numeradorResultado = numeradorF1 + numeradorF2;
  89.    denominadorResultado = denominadorF1;
  90.    printf("\nFracao = %d/%d\n",numeradorResultado,denominadorResultado);
  91.   }
  92. else if(denominadorF1 != denominadorF2)
  93.   {
  94.    mmc = MMC(denominadorF1,denominadorF2);
  95.    temp = mmc / denominadorF1;
  96.    temp2 = mmc / denominadorF2;
  97.  
  98.    resultado1 = temp * numeradorF1;
  99.    resultado2 = temp2 * numeradorF2;
  100.  
  101.    numeradorResultado = resultado1 + resultado2;
  102.    denominadorResultado = mmc;
  103.  
  104.    printf("\n MMC = %d\n",MMC(denominadorF1,denominadorF2));
  105.  
  106.    printf("\nFracao = %d/%d\n",numeradorResultado,denominadorResultado);
  107.  
  108.    }
  109.   // http://www.mundovestibular.com.br/articles/233/1/ADICAO-DE-FRACOES/Paacutegina1.html
  110. }
  111.  
  112. int MMC(int a,int b)
  113. {
  114. int mmc,aux,i;
  115.  if (b>a)
  116.    {
  117.       aux=a;
  118.       a=b;
  119.       b=aux;
  120.    }
  121.    if ((a%b)==0)
  122.       {
  123.          mmc=a;
  124.       }
  125.    else
  126.    {
  127.       for (i=2;i<=b;i++)
  128.       {
  129.          aux=a*i;
  130.          if ((aux%b)==0)
  131.          {
  132.             mmc=aux;
  133.             i=b+1;
  134.          }
  135.       }
  136.    }
  137.    return (mmc);
  138. }
  139.  
  140. int subtracao(int p1, int q1, int p2, int q2)
  141. {
  142.  
  143. // todo seu código da subtracao aqui
  144.  
  145. }
  146.  
  147. int multiplicar(int p1, int q1, int p2, int q2)
  148. {
  149.  
  150. // todo seu código da multiplicação aqui
  151.  
  152. }
  153.  
  154. int dividir(int p1, int q1, int p2, int q2)
  155. {
  156.  
  157. // todo seu código da divisão aqui
  158.  
  159. }
  160.  
  161. int imprimir_fracao(int p1, int q1) // < no caso aqui passaria a fração Final da adicao ou subtracao etc...
  162.                                     // Passei esses paramentros só pra compilar
  163. {
  164.   printf("\n %d / %d",p1,q1);
  165. }
  166.  
  167. float imprimir_ponto_frutuante(int p1, int q1)// < no caso aqui passaria a fração Final da adicao ou subtracao etc...
  168.                                            // Passei esses paramentros só pra compilar
  169. {
  170.   float p;
  171.  
  172.   // Os calculos para seu função flutuante onde p é o resultado que será impresso
  173.  
  174.   printf("\n %f",p);
  175. }
Add Comment
Please, Sign In to add comment