ppontes 0 Report post Posted October 9, 2012 Olá pessoal! Me ajudem a converter este código que está em c para python. Please! Há algum jeito mais fácil de conversão sem digitar tudo? Abraços #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) } Share this post Link to post Share on other sites
Prog 183 Report post Posted October 9, 2012 Pontes, O programa é relativamente pequeno, não seria tão complicado migrar. Mas tem que conhecer a sintaxe básica das linguagens, se não houver este pre-requisito, realmente fica difícil. Se você quer algo automatizado, tente isto: https://github.com/hlamer/cpp2python Ps: eu nunca usei, apenas sei que existe. Share this post Link to post Share on other sites
ppontes 0 Report post Posted October 9, 2012 Obrigado por tentar me ajudar, mas este link está indisponível. Abraços Share this post Link to post Share on other sites