Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- 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.
- O programa não poderá usar funções prontas para realizar as operações. Caso use funções, essas devem ser construídas
- e incluídas no programa. Inicialmente o usuário deverá indicar que tipo de conversão deseja, em seguida deve ser
- informado o valor a ser convertido.
- O programa deve verificar o valor de entrada, para avaliar a consistência. Se for um decimal, deve ser entre 0 a 2000.
- Se for um binário, deve conter apenas valores 0 ou 1 e deve ser um valor entre 0 e 11111111111
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- void menu(); //prototipo da função
- void decimal_binario(); //prototipo da função
- void binario_decimal(); //prototipo da função
- int main()
- {
- int opcao;
- menu();
- scanf("%d",&opcao);
- switch(opcao){
- case 1 : decimal_binario();
- case 2 : binario_decimal();
- case 3 : exit;
- }
- //system("PAUSE");
- }
- void menu()
- {
- printf("##########################################################\n");
- printf(" Escolha as opcoes \n");
- printf(" 1 - Decimal para Binario \n");
- printf(" 2 - Binario para Decimal \n");
- printf(" 3 - Sair \n");
- printf("##########################################################\n:");
- }
- void decimal_binario()
- {
- int i=0,j;
- int vetor[100];
- int decimal;
- printf("Digite o numero a ser convertido para binario: ");
- scanf("%d",&decimal);
- if (decimal == 0){
- printf("\nNumero decimal: %d \nNumero binario: %d\n",decimal,decimal);
- //return 0;
- }
- while (decimal != 0 ){
- vetor[i]=(decimal %2);
- decimal = decimal /2;
- i++;
- }
- i--;
- printf("\n");
- printf("Numero decimal: %d \nNumero binario: ",decimal);
- while(i>=0)
- {
- printf("%d",vetor[i]);
- i--;
- }
- printf("\n\n");
- }
- void binario_decimal()
- {
- int dec=0,tamanho,i;
- char binario[100];
- printf("Digite um valor em Binario: ");
- scanf("%s", &binario);
- tamanho = strlen(binario);
- for(i=0;i<tamanho;i++)
- dec=(binario[i]-48)*pow(2,(tamanho-1)-i)+dec;
- printf("O numero %s em deciaml e: %d\n", binario,dec);
- }
Add Comment
Please, Sign In to add comment