Advertisement
Guest User

Untitled

a guest
Jun 18th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.71 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. struct calculo
  5. {
  6.  
  7.     int numerador1;
  8.  
  9.     int denominador1;
  10.  
  11.     char operador1;
  12.  
  13. ////////////////////////////
  14.  
  15.     int numerador2;
  16.  
  17.     int denominador2;
  18.  
  19. ////////////////////////////
  20.  
  21. } funcoes;
  22.  
  23.  
  24. int main(){
  25.  
  26. int i = 0, j = 2;
  27.  
  28.  
  29. /////////////////////////////////////////
  30.     int numeradorparcial1;
  31.  
  32.     int numeradorparcial2;
  33.  
  34.     int divisor;
  35.  
  36.     int numeradorfinal;
  37.  
  38.     int controle;
  39. //////////////////////////////////////
  40.  
  41.  
  42.  
  43.  
  44. while (scanf("%d%d%s%d%d", &funcoes.numerador1, &funcoes.denominador1, &funcoes.operador1, &funcoes.numerador2, &funcoes.denominador2)!=EOF){
  45.  
  46.  
  47. if (funcoes.operador1=='+'){
  48.  
  49.     divisor = (funcoes.denominador1*funcoes.denominador2);
  50.  
  51.     numeradorparcial1 = ((divisor/funcoes.denominador1)*(funcoes.numerador1));
  52.     numeradorparcial2 = ((divisor/funcoes.denominador2)*(funcoes.numerador2));
  53.  
  54.     numeradorfinal = (numeradorparcial1+numeradorparcial2);
  55.  
  56.  
  57.  
  58.    controle = divisor;
  59.  
  60.  
  61. while (j<controle){
  62.  
  63.    if ((divisor%j==0)&&(numeradorfinal%j==0)){
  64.  
  65.     divisor = divisor/j;
  66.     numeradorfinal = numeradorfinal/j;
  67.  
  68.    }
  69.    else{
  70.  
  71.     j++;
  72.  
  73.    }
  74.  
  75.  
  76.  
  77. }
  78.  
  79. printf("%d %d\n", numeradorfinal, divisor);
  80. j = 2;
  81.  
  82. }
  83.  
  84. else if (funcoes.operador1=='-'){
  85.  
  86.     divisor = (funcoes.denominador1*funcoes.denominador2);
  87.  
  88.     numeradorparcial1 = ((divisor/funcoes.denominador1)*(funcoes.numerador1));
  89.     numeradorparcial2 = ((divisor/funcoes.denominador2)*(funcoes.numerador2));
  90.  
  91.     numeradorfinal = (numeradorparcial1-numeradorparcial2);
  92.  
  93.  
  94.  
  95.    controle = divisor;
  96.  
  97.  
  98. while (j<controle){
  99.  
  100.    if ((divisor%j==0)&&(numeradorfinal%j==0)){
  101.  
  102.     divisor = divisor/j;
  103.     numeradorfinal = numeradorfinal/j;
  104.  
  105.    }
  106.    else{
  107.  
  108.     j++;
  109.  
  110.    }
  111.  
  112.  
  113.  
  114. }
  115.  
  116. printf("%d %d\n", numeradorfinal, divisor);
  117. j = 2;
  118.  
  119. }
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129. else if (funcoes.operador1=='*'){
  130.  
  131.  
  132. divisor = (funcoes.denominador1*funcoes.denominador2);
  133.  
  134. numeradorfinal = (funcoes.numerador1*funcoes.numerador2);
  135.  
  136. controle = divisor;
  137.  
  138.  
  139. while (j<controle){
  140.  
  141.    if ((divisor%j==0)&&(numeradorfinal%j==0)){
  142.  
  143.     divisor = divisor/j;
  144.     numeradorfinal = numeradorfinal/j;
  145.  
  146.    }
  147.    else{
  148.  
  149.     j++;
  150.  
  151.    }
  152.  
  153.  
  154.  
  155. }
  156.  
  157. printf("%d %d\n", numeradorfinal, divisor);
  158. j = 2;
  159.  
  160.  
  161.  
  162.  
  163.  
  164. }
  165.  
  166. if (funcoes.operador1=='/'){
  167.  
  168.  
  169. divisor = (funcoes.numerador2*funcoes.denominador1);
  170.  
  171. numeradorfinal = (funcoes.numerador1*funcoes.denominador2);
  172.  
  173. controle = divisor;
  174.  
  175.  
  176. while (j<controle){
  177.  
  178.    if ((divisor%j==0)&&(numeradorfinal%j==0)){
  179.  
  180.     divisor = divisor/j;
  181.     numeradorfinal = numeradorfinal/j;
  182.  
  183.    }
  184.    else{
  185.  
  186.     j++;
  187.  
  188.    }
  189.  
  190.  
  191.  
  192. }
  193.  
  194. printf("%d %d\n", numeradorfinal, divisor);
  195. j = 2;
  196.  
  197.  
  198. }
  199.  
  200.  
  201. }
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement