Guest User

Untitled

a guest
Apr 25th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.26 KB | None | 0 0
  1. /*
  2. 1.) Escreve um programa em C para fazer a conversão de números de Decimal para Binário e de Binário para Decimal.
  3. O programa não poderá usar funções prontas para realizar as operações. Caso use funções, essas devem ser construídas
  4. e incluídas no programa. Inicialmente o usuário deverá indicar que tipo de conversão deseja, em seguida deve ser
  5. informado o valor a ser convertido.
  6. O programa deve verificar o valor de entrada, para avaliar a consistência. Se for um decimal, deve ser entre 0 a 2000.
  7. Se for um binário, deve conter apenas valores 0 ou 1 e deve ser um valor entre 0 e 11111111111
  8. */
  9.  
  10. #include <stdio.h>
  11. #include <stdlib.h>
  12. #include <string.h>
  13.  
  14. void menu();            //prototipo da função
  15. void decimal_binario();     //prototipo da função
  16. void binario_decimal();     //prototipo da função
  17.  
  18. int main()
  19. {
  20.   int opcao;
  21.  
  22.   menu();
  23.  
  24.   scanf("%d",&opcao);
  25.  
  26.   switch(opcao){
  27.     case 1 : decimal_binario();
  28.     case 2 : binario_decimal();
  29.     case 3 : exit;
  30.   }
  31.   //system("PAUSE");
  32. }
  33.  
  34. void menu()
  35. {
  36.   printf("##########################################################\n");
  37.   printf("      Escolha as opcoes               \n");
  38.   printf(" 1 - Decimal para Binario                 \n");
  39.   printf(" 2 - Binario para Decimal                 \n");
  40.   printf(" 3 - Sair                             \n");
  41.   printf("##########################################################\n:");
  42. }
  43.  
  44. void decimal_binario()
  45. {
  46.  
  47.    int i=0,j;
  48.    int vetor[100];
  49.    int decimal;
  50.    
  51.    printf("Digite o numero a ser convertido para binario: ");
  52.    scanf("%d",&decimal);
  53.    if (decimal == 0){
  54.       printf("\nNumero decimal: %d \nNumero binario: %d\n",decimal,decimal);
  55.       //return 0;
  56.    }
  57.    
  58.    while (decimal != 0 ){
  59.       vetor[i]=(decimal %2);
  60.       decimal = decimal /2;
  61.       i++;
  62.    }
  63.  
  64.    i--;
  65.    printf("\n");
  66.    printf("Numero decimal: %d \nNumero binario: ",decimal);
  67.    
  68.    while(i>=0)
  69.    {
  70.       printf("%d",vetor[i]);
  71.       i--;
  72.    }
  73.    printf("\n\n");
  74. }
  75.  
  76. void binario_decimal()
  77. {
  78.   int dec=0,tamanho,i;
  79.   char binario[100];
  80.   printf("Digite um valor em Binario: ");
  81.   scanf("%s", &binario);
  82.   tamanho = strlen(binario);
  83.   for(i=0;i<tamanho;i++)
  84.     dec=(binario[i]-48)*pow(2,(tamanho-1)-i)+dec;
  85.    printf("O numero %s em deciaml e: %d\n", binario,dec);
  86. }
Add Comment
Please, Sign In to add comment