Please help me , I need to convert this C code in Python:

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
main()
{
        system ("color F9");

        float preco[150], precoNF, NFPreco_Produto[150]; //Vetores e variáveis que trabalham com preço   
        int a=0, x=0, v=0, rel=0, y, i, aux, cod_exclui, troca; //Declaração de variáveis utilizadas para leitura, gravação, exlclusão e ordenar vetores
        int codigo[150], estoque[150], codigoNF[150], codigoVenda[v], NFCod_Produto[150], NFCod[150], NFEstoque_Produto[150], procura_cod, procura_est, vetor_ref; //Declaração de Vetores diversos
        int op_Menu_Pricipal, op_Menu_Estoque, op_Menu_Venda, op_Menu_Relat, opGeral, teste, teste_est; //Variavéis de Menus e condições

        //Aqui começa o programa         
        do //Do voltado para repetição geral do programa, voltando sempre ao menu principal em alguma hora
        {
        printf ("...:::BCC - SISTEMA DE GERENCIAMENTO DE VENDAS, ESTOQUE E RELATORIOS:::...\n\nInforme o que voce deseja fazer:\n[1] - Gerenciar Estoque\n[2] - Registrar Venda\n[3] - Gerar Relatorio\n[4] - Sair\nSua escolha: "); //Interface com o usuário
        scanf ("%d", &op_Menu_Pricipal); //Captura de variável do menu principal
        system ("cls");

         switch (op_Menu_Pricipal) //Leitura de variável para aplicação da condição
         {
         case 1:
                do //Repetição com objetivo de poder voltar a este menu após alguma alteração de dados dentro do mesmo
                {               
                printf ("...:::BCC - GERENCIAMENTO DE ESTOQUE:::...\n\nO que voce desejar fazer:\n[1] - Incluir novo cadastro\n[2] - Alterar cadastro especifico\n[3] - Excluir cadastro\n[4] - Voltar\nSua escolha: "); //Interface com o usuário
                scanf ("%d", &op_Menu_Estoque); //Captura da variável do menu Estoque
                system ("cls");
                   switch (op_Menu_Estoque)  //Leitura de variável para aplicação da condição
                   {
                   case 1:
                          do // Repetição com objetivo para informar novo cadastro
                          {
                          printf ("...:::BCC - GERENCIAMENTO DE ESTOQUE\n\nINCLUSAO DE NOVO CADASTRO:::...\n\n");
                          teste=0;      
                                 do //Voltada para teste de condição CÓDIGO (Se o código existir, informar erro e repetir)
                                 {
                                 teste=0;
                                 printf ("Informe o codigo do produto: ");
                                 scanf ("%d", &codigo[x]);
                                 for (i=0; i<x; i++)
                                 {
                                        if (codigo[x]==codigo[i])
                                        {
                                        printf ("ERRO - O codigo ja existe\n");  
                                        teste=1;
                                        }          
                                 }
                                 }
                                 while(teste==1); //Fim de condição CÓDIGO                       
                                 do //Voltada para teste de condição PREÇO (Se for "- ou =0", informar erro e repetir)
                                 {
                                 teste=0;
                                 printf ("Informe o preco unitario: ");
                                 scanf ("%f", &preco[x]);
                                        if (preco[x]<=0)
                                        {
                                        printf ("ERRO - Preco invalido\n");
                                        teste=1;
                                        }
                                 }
                                 while (teste==1); //Fim de condição PREÇO
                                 do //Voltada para teste de condição QUANTIDADE EM ESTOQUE (Se for negativo, informar erro e repetir)
                                 {
                                 teste=0;
                                 printf ("Informe a quantidade de produtos no estoque: ");
                                 scanf ("%d", &estoque[x]);
                                        if (estoque[x]<0)
                                        {
                                        printf ("ERRO - Estoque negativo\n");
                                        teste=1;
                                        }
                                 }
                                 while (teste==1);//Fim de condição QUANTIDADE EM ESTOQUE
                          printf ("\n\nDeseja incluir novo produto?\n[1] - Sim\n[2] - Nao\nSua Escolha: "); 
                          scanf ("%d", &teste); //Captura de variável para repetição de inclusao
                          x++; //Incrementada para mudar a posição de gravação dos vetores
                          rel++; //Incrementada para a geração de relatórios, que será feita mais a frente
                          system ("cls");
                          }                      
                          while (teste==1); //Fim da repetição para inclusão de novo produto
                          system ("cls");
                          printf ("...:::BCC - SISTEMA DE GERENCIAMENTO DE VENDAS, ESTOQUE E RELATORIOS:::...\n\nO que deseja fazer:\n[1] - Voltar ao Gerenciador de Estoque\n[2] - Voltar ao Menu Pricipal\nSua escolha: ");
                          scanf ("%d", &opGeral); //Tomada de decisão, voltar ao menu principal ou ao menu anterior
                          break;
                   case 2:
                          do //Repetição com objetivo para alterar algum cadastro
                          {
                          printf ("...:::BCC - GERENCIAMENTO DE ESTOQUE\n\nALTERACAO DE CADASTRO ESPECIFICO:::...");
                          teste=0;
                                 if (x==0) //Voltada para procurar se possui alguma coisa em estoque
                                 {
                                 printf ("Nenhum produto em estoque\n");
                                 }                              
                                 else
                                 {
                                        printf ("\n\nInforme o codigo do produto: ");
                                        scanf ("%d", &procura_cod);
                                        for (i=0; i<x; i++)
                                        {
                                        teste=0;
                                                   if (procura_cod==codigo[i])
                                                 {
                                                 do //Voltada para teste de condição PREÇO (Se for "- ou =0", informar erro e repetir)
                                                   {
                                                   teste=0;
                                                   printf ("Informe o preco unitario: ");
                                                   scanf ("%f", &preco[i]);
                                                          if (preco[x]<=0)
                                                        {
                                                        printf ("ERRO - Preco invalido\n");
                                                        teste=1;
                                                        }
                                                 }
                                                   while (teste==1); //Fim de condição PREÇO
                                                   do //Voltada para teste de condição QUANTIDADE EM ESTOQUE (Se for negativo, informar erro e repetir)
                                                   {
                                                   teste=0;
                                                   printf ("Informe a quantidade de produtos no estoque: ");
                                                   scanf ("%d", &estoque[i]);
                                                                if (estoque[x]<0)
                                                        {
                                                        printf ("ERRO - Estoque negativo\n");
                                                        teste=1;
                                                        }
                                                   }
                                                   while (teste==1);//Fim de condição QUANTIDADE EM ESTOQUE
                                                   teste=1;
                                                   i=x;
                                           }
                                   }
                                         if (teste==0)
                                  {
                                        printf ("\nERRO - Codigo nao encontrado\n");
                                  }
                                  }
                          printf ("\nDeseja alterar outro cadastro?\n[1] - Sim\n[2] - Nao\nSua escolha: ");
                          scanf ("%d", &teste); //Captura de variável para repetição de alteração
                          system ("cls");
                          }
                          while (teste==1); //Fim da repetição para alterção de cadastro

                          system ("cls");
                          printf ("...:::BCC - SISTEMA DE GERENCIAMENTO DE VENDAS, ESTOQUE E RELATORIOS:::...\n\nO que deseja fazer:\n[1] - Voltar ao Gerenciador de Estoque\n[2] - Voltar ao Menu Pricipal\nSua escolha: ");
                          scanf ("%d", &opGeral);
                   break;
                   case 3:
                          do  //Voltada a repetição e exclusão
                          {
                                printf ("...:::BCC - GERENCIAMENTO DE ESTOQUE\n\nEXCLUSAO DE CADASTRO:::...\n");
                          printf ("Informe o codigo a ser excluido: ");
                          scanf ("%d", &procura_cod);
                          teste=0;
                                 for (i=0; i<x; i++) //Ele procura o código
                                 {
                                        if (procura_cod==codigo[i])
                                        {
                                        printf ("Codigo Encontrado!\nExcluido com sucesso!");
                                        teste=1;
                                        cod_exclui=i;
                                        i=x;
                                           for (i=cod_exclui; i<x; i++) //Reordena os vetores e exclui o selecionado(executa a exclusão)
                                           {
                                           codigo[i]=codigo[i+1]; //Exclui o código selecionado
                                           preco[i]=preco[i+1]; //Exclui o preço referente ao código selecionado
                                           estoque[i]=estoque[i+1]; //Exclui a quantidade de estoque referente ao código selecionado
                                           }
                                        rel=rel-1; //Atualiza o vetor, já que agora temos menos um item registrado
                                        x=x-1;  //Atualiza o vetor, já que agora temos menos um item registrado
                                        }
                                }

                                 if (teste==0)
                                 {
                                 printf ("Codigo nao encontrado!"); 
                                 }
                          printf ("\n\nDeseja excluir outro cadastro?\n[1] - Sim\n[2] - Nao\nSua Escolha:");
                          scanf ("%d", &teste);
                          system ("cls");
                          }
                          while (teste==1); //Condiciona se vai excluir outro ou não
                          system ("cls");
                          printf ("...:::BCC - SISTEMA DE GERENCIAMENTO DE VENDAS, ESTOQUE E RELATORIOS:::...\n\nO que deseja fazer:\n[1] - Voltar ao Gerenciador de Estoque\n[2] - Voltar ao Menu Pricipal\nSua escolha: ");
                          scanf ("%d", &opGeral);
                   break;
                   case 4:
                          opGeral=2; //Atualizada para que possa se retornar ao menu principal
                   break;
                   default:
                          printf ("Opcao invalida\n\n");
                          printf ("...:::BCC - SISTEMA DE GERENCIAMENTO DE VENDAS, ESTOQUE E RELATORIOS:::...\n\nO que deseja fazer:\n[1] - Voltar ao Gerenciador de estoque\n[2] - Voltar ao menu pricipal\nSua escolha: ");
                          scanf ("%d", &opGeral);
                   break;
                   }
                system ("cls");
                }
                while (opGeral==1);
         break;
         case 2:
                do
                {
                printf ("...:::BCC - VENDAS:::...\n\nO que voce desejar fazer:\n[1] - Registrar Venda\n[2] - Ver Nota Fiscal Especifica\n[3] - Relatorio de NFs\n[4] - Voltar\nSua escolha: ");
                scanf ("%d", &op_Menu_Venda); //Captura de variavel do menu venda
                system ("cls");
                   switch (op_Menu_Venda) //Leitura de variável para aplicação da condição
                   {
                   case 1:
                          do
                          { 
                          printf ("...:::BCC - VENDAS:::...\n\nREGISTRAR VENDA\n");  
                                 do //Repetição de procura e gravação do número da NF
                                 {
                                 teste=0;
                                 printf ("Informe o codigo da NF: ");
                                 scanf ("%d", &procura_cod);
                                 for (i=0; i<=v; i++)
                                 {
                                        if (procura_cod==NFCod[i])
                                        {
                                        teste=1;
                                        i=v+1;
                                        }
                                        else
                                        {
                                           if (i==v)
                                           {
                                                 NFCod[v]=procura_cod;
                                                 teste=0;
                                           }
                                        }          
                                 }
                                 if (teste==1)
                                 {
                                   printf ("ERRO - O codigo ja existe\n");
                                   }
                                 }
                                 while(teste==1); //Voltada para teste de condição (Se o código da NF já existir, informar erro e repetir)
                                 do
                                 {
                                 printf ("\nInforme o codigo do produto: ");
                                 scanf ("%d", &procura_cod);
                                        for (i=0; i<x; i++)
                                        {
                                           if (procura_cod==codigo[i])
                                           {
                                           printf ("Codigo encontrado!!\n");
                                           vetor_ref=i;
                                           i=x;
                                           teste=0;
                                           NFCod_Produto[v]=procura_cod;  //Grava no vetor o código do produto vendido, para futuras consultas
                                           }
                                           else
                                           {
                                           teste=1;
                                           }               
                                        }
                                        if (teste==1)
                                        {
                                        printf ("Codigo nao encontrado!!\n");
                                        }
                                 }
                                 while(teste==1); //Fim da condição de teste de CÓDIGO DE NF
                                 do //Verifica se o numero de procutos vendidos tem em estoque (se n tiver informa erro)
                                 {
                                 teste_est=0;
                                 printf ("Informe a quantidade de produtos vendidos: ");
                                 scanf ("%d", &procura_est);
                                        if (procura_est<=0)
                                        {
                                        printf ("ERRO - Estoque invalido\n");
                                        teste_est=1;
                                        }
                                        else
                                        {
                                           if (procura_est>estoque[vetor_ref])
                                           {
                                           printf ("ERRO - Nao ha esta quantidade em estoque\n");
                                           teste_est=1;
                                           }
                                           else
                                           {
                                           estoque[vetor_ref]=estoque[vetor_ref]-procura_est;
                                           NFEstoque_Produto[v]=procura_est;  //Grava no vetor a quantidade vendida, para futuras consultas
                                           }
                                        }
                                 }
                                 while (teste_est==1); //Fim da condição TESTE DE ESTOQUE

                                        precoNF=procura_est*preco[vetor_ref]; //Gera o preço da VENDA
                                        printf ("O total da nota e de: %.2f\n\n", precoNF); 
                                        NFPreco_Produto[v]=precoNF; //Grava no vetor o preço, para futuras consultas

                                   v++; //Atualiza V, que é utilizado para mudar o loval de gravação no vetor, no caso de ser feita uma nova venda, O uso dela está relacionado a geração das NF´s

                          printf ("\nDeseja registrar outra venda?\n[1] - Sim\n[2] - Nao\nSua escolha: ");
                          scanf ("%d", &teste);
                          system ("cls");
                          }
                          while (teste==1);
                          printf ("...:::BCC - VENDAS:::...\n\nO que deseja fazer:\n[1] - Voltar ao menu de Vendas\n[2] - Voltar ao menu pricipal\nSua escolha: ");
                          scanf ("%d", &opGeral);   
                   break;                       
                   case 2:
                          do
                          {
                                  do //Voltada para repetição de procura por NF, caso o código digitado não existir
                                  {
                                  printf ("Informe o codigo da NF: ");
                                  scanf ("%d", &procura_cod);
                                  if (v==0) //Procura para ver se existem vendas e consequentemente NF´s registradas
                                  {
                                  printf ("Nao existem notas fiscais registradas\n");
                                  }
                                  else
                                  {      
                                           teste=0;
                                         for (i=0; i<=v; i++) //Faz a procura no vetor, se n encontarm informa erro e repete
                                         {
                                         if (procura_cod==NFCod[i])
                                                {
                                                 printf ("O codigo da NF e: %d\n", NFCod[i]);
                                                 printf ("O codigo do produto vendido e: %d\n", NFCod_Produto[i]);
                                                 printf ("A quantidade vendida e: %d\n", NFEstoque_Produto[i]);
                                                 printf ("O preco da NF e: %.2f\n", NFPreco_Produto[i]);
                                                 teste=1;
                                                }
                                                 }
                                                 {
                                                if (teste==0)
                                                {
                                                printf ("\nERRO - Codigo nao encontrado\n");
                                                }
                                         }

                                  }
                                  }
                                         while (teste==0);
                          printf ("\nDeseja ver outra NF?\n[1] - Sim\n[2] - Nao\nSua escolha: ");
                          scanf ("%d", &teste);
                          system ("cls");
                          }
                          while(teste==1);
                          printf ("...:::BCC:::... - VENDAS\n\nO que deseja fazer:\n[1] - Voltar ao menu de Vendas\n[2] - Voltar ao menu pricipal\nSua escolha: ");
                          scanf ("%d", &opGeral);
                   break;
                   case 3:
                          do //Uso do metodo bolha para ordenar codigos
                          {
                                  troca=0;
                                 for (i=0; i<v; i++)
                                 {
                                          if (NFCod[i]>NFCod[i+1])
                                        {
                                        aux=NFCod[i+1];
                                        NFCod[i+1]=NFCod[i];
                                        NFCod[i]=aux;
                                        troca=1;
                                        }
                                 }
                          }
                          while (troca==1); //Fim do uso do metodo bolha
                          printf ("##CODIGO NF  # COD.PROD. VENDIDO #  QTI. VENDIDA  #  PRECO TOTAL ##\n\n");
                          for (i=0; i<v; i++)
                          {
                          printf ("##   %d      #               %d               #         %d      #     %.2f    ##\n", NFCod[i], NFCod_Produto[i], NFEstoque_Produto[i], NFPreco_Produto[i]);
                          }             
                          printf ("\nRelatorio concluido\n\n");
                          printf ("\n...:::BCC - VENDAS:::...\n\nO que deseja fazer:\n[1] - Voltar ao menu de Vendas\n[2] - Voltar ao menu pricipal\nSua escolha: ");
                          scanf ("%d", &opGeral);
                   break;
                   case 4:
                                opGeral=2;
                   break;
                   default:
                          printf ("Opcao invalida\n\n");
                          printf ("\nO que deseja fazer:\n[1] - Voltar ao menu de Vendas\n[2] - Voltar ao menu pricipal\nSua escolha: ");
                          scanf ("%d", &opGeral);
                   break;                  
                   }
                system ("cls");
                }
                while (opGeral==1);
         break;
         case 3:
                do
                {
                printf ("...:::BCC - RELATORIOS:::...\n\nQual tipo de relatorio que voce deseja gerar:\n[1] - Estoque completo\n[2] - Produto especifico\n[3] - Estoque zerado\n[4] - Voltar\nSua escolha: "); 
                scanf ("%d", &op_Menu_Relat); //Captura de variável do menu relatorios
                system ("cls");
                   switch (op_Menu_Relat)//Leitura de variável para aplicação da condição
                 {
                   case 1:
                          printf ("...:::BCC:::... - RELATORIOS\n\nRELATORIO COMPLETO DE ESTOQUE\n\n");
                                 if (x==0) 
                                 {
                                 printf ("Nenhum produto em estoque\n");
                                 }
                                 else
                                 {      
                                 do //Metodo bolha, para ordenar os codigos
                                 {      
                                 troca=0;
                                        for (i=0; i<rel; i++)
                                          {
                                                 if (codigo[i]>codigo[i+1])
                                           {
                                           aux=codigo[i+1];
                                           codigo[i+1]=codigo[i];
                                           codigo[i]=aux;

                                           aux=preco[i+1];
                                           preco[i+1]=preco[i];
                                           preco[i]=aux;

                                           aux=estoque[i+1];
                                           estoque[i+1]=estoque[i];
                                           estoque[i]=aux;
                                           troca=1;
                                           }
                                   }
                                 }
                                 while (troca==1); //Fim do uso do metodo bolha 
                                        for (i=0; i<rel; i++) //Geração do relatório utilizando a pesquisa em vetores
                                        {
                                        printf ("||Codigo: %d\t||Preco: R$ %.2f\t||Quantidade em Estoque:%d\n", codigo[i], preco[i], estoque[i]);
                                        }
                                 }
                   printf ("\nO que deseja fazer:\n[1] - Voltar ao Menu Relatorio\n[2] - Voltar ao Menu Pricipal\nSua escolha: ");
                   scanf ("%d", &opGeral);
                   break;
                   case 2:
                          printf ("...:::BCC - RELATORIOS:::...\n\nRELATORIO DE PRODUTO ESPECIFICO\n");
                                 if (x==0)
                                 {
                                 printf ("\nNenhum produto em estoque\n");
                                 }
                                 else
                                 {
                                        printf ("Informe o codigo: ");
                                        scanf ("%d", &procura_cod);
                                        for (i=0;i<=x; i++) //Procura do código do produto pedido
                                        {
                                           if (procura_cod==codigo[i])
                                           {
                                        printf ("\n||Codigo: %d\t||Preco: R$ %.2f\t||Quantidade em Estoque:%d\n", codigo[i], preco[i], estoque[i]);
                                           i=x+1;
                                           }
                                           else
                                           {
                                                   if (i==x)
                                                   {
                                                   printf ("\nCodigo nao encotrado\n");
                                                   }
                                           }
                                        }
                                 }
                   printf ("\nO que deseja fazer:\n[1] - Voltar ao Menu Relatorio\n[2] - Voltar ao Menu Pricipal\nSua escolha: ");
                   scanf ("%d", &opGeral);                                 
                   break;
                   case 3:
                          printf ("...:::BCC - RELATORIOS:::...\n\nRELATORIO DE PRODUTOS COM ESTOQUE ZERADO\n\n");
                          teste=0;
                                 if (x==0)
                                 {
                                 printf ("\nNenhum produto em estoque\n");
                                 }
                                 else
                                 {        
                                        printf ("Estao com o estoque zerado os seguintes produtos:\n");         
                                 do //Metodo bolha, para ordenar os codigos
                                 {      
                                 troca=0;
                                        for (i=0; i<rel; i++)
                                          {
                                                 if (codigo[i]>codigo[i+1])
                                           {
                                           aux=codigo[i+1];
                                           codigo[i+1]=codigo[i];
                                           codigo[i]=aux;

                                           aux=preco[i+1];
                                           preco[i+1]=preco[i];
                                           preco[i]=aux;
                                           }
                                   }
                                 }
                                 while (troca==1); //Fim do uso do metodo bolha                 
                                        for (i=0; i<rel; i++) //Procura produtos com estoque igual a 0 e os informa
                                        {
                                           if (estoque[i]==0)
                                           {
                                           printf ("# Codigo: %d # Preco: %.2f #\n", codigo[i], preco[i]);
                                           teste=1;
                                           }
                                        }
                                        if (teste==0)
                                        {
                                        printf ("Nao ha nenhum produto com estoque zerado");
                                          }
                                 }
                   printf ("\nO que deseja fazer:\n[1] - Voltar ao Menu Relatorio\n[2] - Voltar ao Menu Pricipal\nSua escolha: ");
                   scanf ("%d", &opGeral);
                   break;
                   case 4:
                          opGeral=2;
                   default:
                          printf ("Opcao invalida\n\n");
                   break;          
                   }
                system ("cls");
                }
                while (opGeral==1);
         break;
         case 4:
                printf ("...:::BCC - SISTEMA DE GERENCIAMENTO DE VENDAS, ESTOQUE E RELATORIOS:::...\n\nObrigado por utilizar este software\n\n"); //Mensagem final
                opGeral=0;
                system ("pause");
         break;
         default:
                printf ("Opcao invalida\n\n");
                system ("pause");
                system ("cls");
                opGeral=2;
         break;
         }
        }
        while (opGeral==2);   //Fim do Do-While para repetição geral do sistema (votar ao menu principal)
}

Recommended Answers

All 2 Replies

Two things.

  1. You didn't show your work. I read to the first code line and there's a color command. You should know python well enough to handle that. If not, you may not be ready to tackle the next 500 lines.

  2. http://stackoverflow.com/questions/18762621/can-we-use-c-code-in-python looks interesting. Maybe you can wrap this C app up and call it from your python.

It's a lot of code. You could perhaps go to the Job Offers section...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.