renix1

Reforçando a memória, macro

Feb 29th, 2016
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.37 KB | None | 0 0
  1. #include <stdio.h>
  2. #define MIN(x, y) x < y ? x:y
  3. #define MAX(x, y) x > y ? x:y
  4.  
  5.  
  6. #define AO_QUADRADO(x) (x) * (x)
  7. #define CUBO(x) (x) * (x) * (x)
  8.  
  9. int main (void) {
  10.     //VARS
  11.     int num1 = 0, num2 = 0;
  12.  
  13.     //TESTE
  14.     printf("Voce esta executando em %s as %s o arquivo %s\n\n", __DATE__, __TIME__, __FILE__);
  15.  
  16.     //REST
  17.     printf("Digite dois numeros: ");
  18.     scanf("%d, %d", &num1, &num2);
  19.     #if defined (AO_QUADRADO)
  20.         printf("O quadrado: %d\n", AO_QUADRADO(num1));
  21.     #elif ! defined(AO_QUADRADO)
  22.         #define  AO_QUADRADO(x) (x) * (x)
  23.         printf("O quadrado: %d\n", AO_QUADRADO(num1));
  24.     #endif //AO_QUADRADO
  25.  
  26.  
  27.     #if defined (CUBO)
  28.         printf("O cubo: %d\n", CUBO(num1));
  29.     #elif ! defined (CUBO)
  30.         #define CUBO(x) (x) * (x) * (x)
  31.         printf("O cubo: %d\n", AO_QUADRADO(num1));
  32.     #endif //CUBO
  33.  
  34.     #if defined (MIN)
  35.         printf("O menor valor entre os dois numeros e: %d\n", MIN(num1, num2));
  36.     #elif ! defined (MIN)
  37.         #define MIN(x, y) x < y ? x:y
  38.         printf("O menor valor entre os dois numeros e: %d\n", MIN(num1, num2));
  39.     #endif // MIN
  40.  
  41.     #if defined(MAX)
  42.         printf("O maior valor entre os dois numeros e: %d\n", MAX(num1, num2));
  43.     #elif ! defined(MAX)
  44.         #define MAX(x, y) x > y ? x:y
  45.         printf("O maior valor entre os dois numeros e: %d\n", MAX(num1, num2));
  46.     #endif //MAX
  47.     return(0);
  48. }
Advertisement
Add Comment
Please, Sign In to add comment