Prova de C - Programa

15 views
Skip to first unread message

Wallace Silva

unread,
Nov 13, 2013, 12:33:42 PM11/13/13
to uninove...@googlegroups.com
Fala pessoal!

Acabei de fazer este programa (rsrs) e queria a opinião de vocês...será que o professor aceitaria o programa dessa forma??

Testem ele ai! Funciona direitinho.



#include <stdio.h>
#include <string.h>

int main()
{
    char valor[50], tmp; 
    int cont, valor_i, valor_c=0, op_menu, r_div, i, cont2;
      
     
    do
    {  
      system("cls");
      printf("\n\t\tMENU\n");
      printf("\t1- Decimal para Binario\n");
      printf("\t2- Binario para Decimal\n");
      printf("\t3- Sair\n");
      do
      {
      scanf("%d", &op_menu);
      }while (op_menu<1||op_menu>3);
      switch(op_menu)
      {
                     case 1:
                          
                          // Decimal para binário....
                          
                          printf("\nInsira o numero que deseja converter: ");
                          scanf("%d", &valor_i);
                          cont=0;
                          i=0;
                          while (i!=1)
                          {
                                r_div=valor_i/2;
                                if (r_div<2)
                                {
                                                 i=1;
                                                 if (valor_i%2==0)
                                                 {
                                                                  valor[cont]='0';
                                                 }
                                                 else
                                                 {
                                                     valor[cont]='1';
                                                 }
                                                 if (r_div==0)
                                                 {
                                                              valor[cont+1]='0';
                                                 }
                                                 else
                                                 {
                                                              valor[cont+1]='1';
                                                 }
                                                 valor[cont+2]='\0';
                                }
                                else
                                {
                                    if (valor_i%2==0)
                                    {
                                                     valor[cont]= '0';
                                    }
                                    else
                                    {
                                                     valor[cont]= '1';
                                    }
                                }
                                cont++;
                                valor_i=r_div;
                          }
                          cont2=strlen(valor)-1;
                          for (cont=0; cont==cont2||cont<cont2; cont++)
                          {
                              tmp=valor[cont];
                              valor[cont]=valor[cont2];
                              valor[cont2]=tmp;
                              cont2--;
                          }                           
                          printf("\n%s", valor);
                          printf("\n\nObrigado, tecle enter para voltar ao menu");
                          fflush(stdin);
                          getch();
                          break;
                     
                     case 2:
                          
                          //Binário para Decimal
                          //***********************************************************************
                          
                          printf("Insira o numero que deseja converter: ");
                          scanf("%s", &valor);
                          for (cont=0; cont<strlen(valor); cont++)
                          {
                              if (valor[cont]=='1')
                              {
                                                   valor_c=valor_c+pow(2, strlen(valor)-(cont+1));
                              }
                              if (valor[cont]!='1'&&valor[cont]!='0')
                              {
                                                   printf("\nValor Invalido!");
                                                   cont=strlen(valor); //Fim do laço...
                              }
                          }
                          printf("%d", valor_c);
                          printf("\n\nObrigado, tecle enter para voltar ao menu");
                          fflush(stdin);
                          getch();
                          break;
                          //***********************************************************************                          
                     }
      }while (op_menu!=3);


}
convertetudo.c
Reply all
Reply to author
Forward
0 new messages