Ir ao conteúdo
  • Cadastre-se

Gabriel Filipe Rossin

Membro Júnior
  • Posts

    6
  • Cadastrado em

  • Última visita

Reputação

0
  1. @Gabriel_Moro valeu mano parece que agr tudo está arrumado.Sobre a função eu vou ter que fazer pois o meu professor quer com função,mas como envolve struct eu ainda não sei direito como fazer.
  2. @Gabriel_Moro arrumei essa parte,mas ainda assim tem erros.um deles é o do while por exemplo se eu digito 7(sair) no primeiro submenu em vez de voltar para menu, aparece na tela o submenu do último do while.
  3. Pessoal estou com problema com esse código. Um deles é o problema com o "do while" no código.Queria a ajuda de vocês para revisarem esse meu código e se possível arrumarem as partes que estiverem erradas. -------------------------------------------------------------------------------------------------------- #include <stdio.h> #include <string.h> #include <stdlib.h> #include <locale.h> #define limpartela() system("cls") struct Cliente { int cod_cliente; char ende[250]; char fone[250]; }; struct produto { int cod_produto; float preco_unit; int qtde_est; char desc[250]; char unid[250]; }; struct nota { int numero_nf; int cod_cliente; int total; }; struct itens { int numero_nf; int cod_prod; int qtde; int preco_vend; }; int main() { setlocale ( LC_ALL, "Portuguese" ); /*bloco de struct*/ struct Cliente clien[4]; struct produto prod[7]; struct nota not[6]; struct itens inte[11]; int i; int j; int k; int h; int cont; int achou; int op1; int op2; int posi; int codigo_cli; int livre_cliente; int livre_produto; int livre_nota; int valor; int livre_item; int codigo; float pre; int qtde; float valor_inicial; float valor_final; int num_nota; char endere[250]; char telefone[250]; char desc[250]; char unidade[250]; char resp[250]; livre_cliente = 1; livre_produto = 1; livre_nota = 1; livre_item = 1; do { printf ( "Menu de opções" ); printf ( "\n1-Cadastros" ); printf ( "\n2-Movimentaçoes" ); printf ( "\n3-consultas" ); printf ( "\n4-Sair" ); printf ( "\nDigite sua opção" ); scanf ( "%d", &op1 ); if ( op1 < 1 || op1 > 4 ) { printf ( "Opção invalida,digite novamente" ); } if ( op1 == 1 ) { do { limpartela(); printf ( "Sub-menu de Opções" ); printf ( "\n1-Incluir clientes" ); printf ( "\n2-alterar clientes" ); printf ( "\n3-excluir clientes" ); printf ( "\n4-incluir produtos" ); printf ( "\n5-alterar produtos" ); printf ( "\n6-excluir produtos" ); printf ( "\n7-sair" ); printf ( "\nDigite sua opção" ); scanf ( "%d", &op2 ); if ( op2 < 1 || op2 > 7 ) { printf ( "Opção invalida,digite novamente" ); } limpartela(); if ( op2 == 1 ) { printf ( "Inclusão de clientes" ); if ( livre_cliente == 4 ) { printf ( "cadastro de cliente lotado" ); } else { printf ( "\nDigite o código do cliente a ser incluído" ); scanf ( "%d", &codigo ); achou = 0; } for ( i = 0; i < 3; i++ ) { if ( clien->cod_cliente == codigo ) { achou = 1; } } if ( achou == 1 ) { printf ( "\nJá existe cliente com esta código" ); } else { fflush(stdin); printf ( "Digite o endereço do cliente" ); fgets ( clien[livre_cliente].ende, 250, stdin ); printf ( "Digite o telefone do cliente" ); fgets ( clien[livre_cliente].fone, 250, stdin ); clien[livre_cliente].cod_cliente = codigo; printf ( "Cliente cadastrado com sucesso" ); livre_cliente++; } } if ( op2 == 2 ) { printf ( "alteração de Clientes" ); if ( livre_cliente == 1 ) { printf ( "Cadastro de clientes vazio" ); } else { printf ( "Digite o código do cliente a ser alterado" ); scanf ( "%d", &codigo ); achou = 0; } for ( i = 0; i < 3; i++ ) { if ( clien->cod_cliente == codigo ) { achou = 1; posi = i; } } if ( achou == 0 ) { printf ( "Não existe cliente com esse código" ); } else { fflush(stdin); printf ( "Digite o novo endereço do cliente" ); fgets ( clien[posi].ende, 250, stdin ); printf ( "Digite o novo telefone do cliente" ); fgets ( clien[posi].fone, 250, stdin ); printf ( "Cliente alterado com sucesso!" ); } } if ( op2 == 3 ) { printf ( "Exclusão de clientes" ); if ( livre_cliente == 1 ) { printf ( "Cadastro de clientes vazio" ); } else { printf ( "Digite o código do cliente a ser excluido" ); scanf ( "%d", &codigo ); achou = 0; } for ( i = 0; i < 3; i++ ) { if ( clien->cod_cliente == codigo ) { achou = 1; posi = 1; } } if ( achou == 0 ) { printf ( "Não existe cliente com este código" ); } else { achou = 0; } for ( j = 0; j < livre_nota; j++ ) { if ( not[j].cod_cliente == codigo ) { achou = 1; } } if ( achou == 1 ) { printf ( "Cliente possui notas.Não pode excluir" ); } else { for ( j = posi; j < livre_cliente; j++ ) { clien[j].cod_cliente = clien[j + 1].cod_cliente; strcpy ( clien[j].ende, clien[j + 1].ende ); strcpy ( clien[j].fone, clien[j + 1].fone ); printf ( "Cliente excluído com sucesso" ); livre_cliente = livre_cliente - 1; } } } if ( op2 == 4 ) { printf ( "inclusão de produtos" ); if ( livre_produto == 7 ) { printf ( "Cadastro de produtos lotado" ); } else { printf ( "Digite o código do produto a ser incluido" ); scanf ( "%d", &prod[livre_produto].cod_produto ); achou = 0; } for ( i = 0; i < 6; i++ ) { if ( prod->cod_produto == codigo ) { achou = 1; } } if ( achou == 1 ) { printf ( "Digite a descrição do produto" ); fgets ( prod[livre_produto].desc, 250, stdin ); printf ( "Digite a unidade do produto" ); fgets ( prod[livre_produto].unid, 250, stdin ); printf ( "Digite o preço unitário do produto" ); scanf ( "%f", &prod[livre_produto].preco_unit ); printf ( "Digite a quantidade em estoque do produto" ); scanf ( "%d", &prod[livre_produto].qtde_est ); } } if ( op2 == 5 ) { printf ( "Alteção de produtos" ); if ( livre_produto == 1 ) { printf ( "Cadastro de produtos vazio" ); } else { printf ( "Digite o código do produto a ser alterado" ); scanf ( "%d", &codigo ); achou = 0; } for ( i = 0; i < 6; i++ ) { if ( prod->cod_produto == codigo ) { achou = 1; posi = i; } } if ( achou == 0 ) { printf ( "Não existe produto com este código" ); } else { printf ( "Digite a nova descrição do produto" ); fgets ( prod[livre_produto].desc, 250, stdin ); printf ( "Digite a nova unidade do produto" ); fgets ( prod[livre_produto].unid, 250, stdin ); printf ( "Digite o novo preço unitário" ); scanf( "%f%*c", &prod[livre_produto].preco_unit ); printf ( "Digite a nova quantidade em estoque" ); scanf ( "%d%*c", &prod[livre_produto].qtde_est ); printf ( "Produto alterado com sucesso" ); } } if ( op2 == 6 ) { printf ( "Exclusão de produtos" ); if ( livre_produto == 1 ) { printf ( "Cadastro de produtos vazio" ); } else { printf ( "Digite o código do produto a ser excluido" ); scanf ( "%d", &codigo ); achou = 0; } for ( i = 0; i < 6; i++ ) { if ( prod->cod_produto == codigo ) { achou = 1; posi = i; } } if ( achou == 0 ) { printf ( "Não existe produto com este código" ); } else { achou == 0; for ( j = 0; j < livre_item; j++ ) { if ( inte[j].cod_prod == codigo ) { achou = 1; } } if ( achou == 1 ) { printf ( "Não pode excluir produto. Faz parte de alguma nota" ); } else { for ( j = 0; j < livre_produto; j++ ) { prod[j].cod_produto = prod[j + 1].cod_produto; strcpy ( prod[j].desc, prod[j + 1].desc ); strcpy ( prod[j].unid, prod[j + 1].unid ); prod[j].preco_unit = prod[j + 1].preco_unit; prod[j].qtde_est = prod[j + 1].qtde_est; } printf ( "Produto excluido com sucesso" ); livre_produto = livre_produto - 1; } } } if(op1==2) { printf("\ncadastro de notas de saída"); printf("\nDigite o número da nota"); scanf("%d",&num_nota); if(livre_nota==6) { printf("Cadastro de notas lotado"); } else { achou=0; } for(i=0;i<livre_nota;i++) { if(not.numero_nf==num_nota) { achou=1; } } if(achou==1) { printf("\nJá existe nota fiscal cadastrada com esse número"); } else { printf("Digite o código do cliente"); scanf("%d",&codigo_cli); achou=0; } while(achou==0) { for(i=0;i<livre_cliente;i++) { if(clien.cod_cliente==codigo_cli) { achou=1; } } if(achou==0) { printf("Este cliente não está cadastrado"); printf("\nDigite outro cliente"); scanf("%d",&codigo_cli); } } do { printf("Digite o código do produto"); scanf("%d",&codigo); achou=0; for(k=0;k<livre_produto;k++) { if(prod[k].cod_produto==codigo) { if(prod[k].qtde_est==0) { achou=2; } else { achou=1; posi=k; for(h=0;h<livre_item;h++) { if(inte[h].numero_nf==num_nota&&inte[h].cod_prod==codigo) { printf("Produto já existe nesta nota"); achou=0; } } } } } if(achou==0) { printf("Este produto não está castrado"); } if(achou==2) { printf("Este produto está com estoque zerado"); } if(achou==1) { printf("Digite a quantidade"); scanf("%d",&qtde); while(qtde>prod[posi].qtde_est) { printf("Estoque insuficiente"); printf("Digite outra quantidade"); scanf("%d",&qtde); } inte[livre_nota].numero_nf=num_nota; inte[livre_nota].cod_prod=codigo; inte[livre_nota].qtde=qtde; inte[livre_nota].preco_vend=qtde*prod[posi].preco_unit; livre_item=livre_item +1; printf("Produto incluído na nota com sucesso"); strcpy( prod[posi].qtde_est, prod[posi].qtde_est); cont=cont+1; } if(cont<2) { printf("\nDeseja cadastrar outro produto nesta nota"); printf("\ns-sim ou n-não"); fgets(resp,250,stdin); } }while(cont<2 && resp=='s'); if(cont>=1) { livre_nota=livre_nota+1; printf("Nota cadastrada com sucesso"); } } if(op1=3) { do { printf("\nSubmenude opções"); printf("\n1-consultar todos os produtos entre dois valores"); printf("\n2-consultar todas as notas de um cliente"); printf("\n3-consultar todas as notas com total superior a um determinado valor"); printf("\n4-sair"); scanf("%d",&op2); if(op2<1||op2>4) { printf("\nopção invalida,digite novamente"); } if(op2=1) { printf("\nConsultar todos os produtos com preços entre dois valores"); printf("\nDigite o valor inicial"); scanf("%f", &valor_inicial); printf("\nDigite o valor final"); scanf("%f", &valor_final); if(livre_produto==1) { printf("nenhum produto está cadastrado"); } else { achou=0; for(i=0;i<livre_produto;i++) { if(prod.preco_unit>=valor_inicial && prod.preco_unit<=valor_final); { achou=1; printf("%d", prod.cod_produto); printf("%d", prod.desc); } } } if(achou==0) { printf("\nNenhum produto foi cadastrado com estes preços"); } } if(op2==2) { printf("\nConsultar todas as notas e itens de um cliente"); printf("\nDigite o código do cliente"); scanf("%d",&codigo); if(livre_cliente==1) { printf("\nNão existe cliente cadastrado"); } else { achou=0; for(i=0;i<livre_cliente;i++) { if(clien.cod_cliente==codigo) { achou=1; } } if(achou==0) { printf("\nEste cliente não está cadastrado"); } else { if(livre_nota==1) { printf("\nNenhuma nota cadastrada"); } else { achou=0; for(i=0;i<livre_nota;i++) { if(not.cod_cliente==codigo) { achou=1; printf("%d", &not.numero_nf); printf("%d",&not.total); for(j=0;j<livre_item;j++) { if(inte[j].numero_nf==not.numero_nf) { printf("%d" , inte[j].cod_prod); printf("%d" , inte[j].qtde); printf("%d" , inte[j].preco_vend); } } } } if(achou==0) { printf("\nNenhuma nota encontrada"); } } } } } if(op2==3) { printf("\nConsultar todas as notas e itens da nota com total superior a um valor"); printf("\nDigite um valor"); scanf("%d", &valor); if(livre_nota==1) { printf("\nNão existe nota cadastrada"); } else { achou=0; for(i=0;i<livre_nota;i++) { if(not.total>valor) { achou=1; printf("\n %d" ,not.numero_nf); printf("\n %d", not.total); for(j=0;j<livre_item;j++) { if(inte[j].numero_nf==not.numero_nf) { printf("\n %d" ,inte[j].cod_prod); printf("\n %d" ,inte[j].qtde); printf("\n %d" ,inte[j].preco_vend); } } } } if(achou==0) { printf("Nenhuma nota cadastrada"); } } } }while(op2!=4); } } while( op2 != 7 ); } } while ( op1 != 4 ); return 0; }
  4. Estou com problemas na linha 233,234,,370,371 Gostaria de saber como faço resolver esse problema #include <stdio.h> #include <stdlib.h> #include <locale.h> struct Cliente { int cod_cliente; char ende[250]; char fone[250]; }; struct produto { int cod_produto; int preco_unit; int qtde_est; char desc[250]; char unid[250]; }; struct nota { int numero_nf; int cod_cliente; int total; }; struct itens { int numero_nf; int cod_prod; int qtde; int preco_vend; }; int main() { setlocale(LC_ALL, "Portuguese"); /*bloco de struct*/ struct Cliente clien[4]; struct produto prod[7]; struct nota not[6]; struct itens inte[11]; int i; int j; int k; int h; int cont; int achou; int op1; int op2; int posi; int codigo_cli; int livre_cliente; int livre_produto; int livre_nota; int valor; int livre_item; int codigo; float pre; int qtde; int valor_inicial; int valor_final; char endere[250]; char telefone[250]; char desc[250]; char unidade[250]; char resp[250]; livre_cliente=1; livre_produto=1; livre_nota=1; livre_item=1; do { printf("Menu de opções"); printf("1-Cadastros"); printf("\n2-Movimentaçoes"); printf("\n3-consultas"); printf("\n4-Sair"); printf("\nDigite sua opção"); scanf("%d",&op1); if(op1<1 || op1>4) { printf("Opção invalida,digite novamente"); } if(op1==1) { do { printf("Sub-menu de Opções"); printf("1-Incluir clientes"); printf("2-alterar clientes"); printf("3-excluir clientes"); printf("4-incluir produtos"); printf("5-alterar produtos"); printf("6-excluir produtos"); printf("7-sair"); printf("Digite sua opnião"); scanf("%d", &op2); if(op2<1 || op2>7) { printf("Opção invalida,digite novamente"); } if(op2==1) { printf("Inclusão de clientes"); if(livre_cliente==4) { printf("cadastro de cliente lotado"); } else { printf("Digite o código do cliente a ser incluído"); scanf("%d",&codigo); achou=0; } for(i=0;i<3;i++) { if(clien.cod_cliente==codigo) { achou=1; } } if(achou==1) { printf("Já existe cliente com esta código"); } else { printf("Digite o endereço do cliente"); fgets(clien[livre_cliente].ende,250,stdin); printf("Digite o telefone do cliente"); fgets(clien[livre_cliente].fone,250,stdin); clien[livre_cliente].cod_cliente=codigo; printf("Cliente cadastrado com sucesso"); livre_cliente++; } } if(op2==2) { printf("alteração de Clientes"); if(livre_cliente==1) { printf("Cadastro de clientes vazio"); } else { printf("Digite o código do cliente a ser alterado"); scanf("%d" ,&codigo); achou=0; } for(i=0;i<3;i++); { if(clien.cod_cliente==codigo) { achou=1; posi=i; } } if(achou==0) { printf("Não existe cliente com esse código"); } else { printf("Digite o novo endereço do cliente"); fgets(clien[posi].ende,250,stdin); printf("Digite o novo telefone do cliente"); fgets(clien[posi].fone,250,stdin); printf("Cliente alterado com sucesso!"); } } if(op2==3) { printf("Exclusão de clientes"); if(livre_cliente==1) { printf("Cadastro de clientes vazio"); } else { printf("Digite o código do cliente a ser excluido"); scanf("%d",&codigo); achou=0; } for(i=0;i<3;i++) { if(clien.cod_cliente==codigo); { achou=1; posi=1; } } if(achou==0) { printf("Não existe cliente com este código"); } else { achou=0; } for(j=0;j<livre_nota;j++) { if(not[j].cod_cliente==codigo) { achou=1; } } if(achou==1) { printf("Cliente possui notas.Não pode excluir"); } else { for(j=posi;j<livre_cliente;j++) { clien[j].cod_cliente=clien[j+1].cod_cliente; clien[j].ende=clien[j+1].ende; clien[j].fone=clien[j+1].fone; printf("Cliente excluído com sucesso"); livre_cliente=livre_cliente - 1; } } } if(op2==4) { printf("inclusão de produtos"); if(livre_produto==7) { printf("Cadastro de produtos lotado"); } else { printf("Digite o código do produto a ser incluido"); scanf("%d", &prod[livre_produto].cod_produto); achou=0; } for(i=0;i<6;i++); { if(prod.cod_produto==codigo) { achou=1; } } if(achou==1) { printf("Digite a descrição do produto"); fgets(prod[livre_produto].desc,250,stdin); printf("Digite a unidade do produto"); fgets(prod[livre_produto].unid,250,stdin); printf("Digite o preço unitário do produto"); scanf("%f",&prod[livre_produto].preco_unit); printf("Digite a quantidade em estoque do produto"); scanf("%d",&prod[livre_produto].qtde_est); } } if(op2==5) { printf("Alteção de produtos"); if(livre_produto==1) { printf("Cadastro de produtos vazio"); } else { printf("Digite o código do produto a ser alterado"); scanf("%d", &codigo); achou=0; } for(i=0;i<6;i++) { if(prod.cod_produto==codigo) { achou=1; posi=i; } } if(achou==0) { printf("Não existe produto com este código"); } else { printf("Digite a nova descrição do produto"); fgets(prod[livre_produto].desc,250,stdin); printf("Digite a nova unidade do produto"); fgets(prod[livre_produto].unid,250,stdin); printf("Digite o novo preço unitário"); fgets(prod[livre_produto].preco_unit,250,stdin); printf("Digite a nova quantidade em estoque"); fgets(prod[livre_produto].qtde_est,250,stdin); printf("Produto alterado com sucesso"); } } if(op2==6) { printf("Exclusão de produtos"); if(livre_produto==1) { printf("Cadastro de produtos vazio"); } else { printf("Digite o código do produto a ser excluido"); scanf("%d",&codigo); achou=0; } for(i=0;i<6;i++) { if(prod.cod_produto==codigo) { achou=1; posi=i; } } if(achou==0) { printf("Não existe produto com este código"); } else { achou==0; for(j=0;j<livre_item;j++) { if(inte[j].cod_prod==codigo) { achou=1; } } if(achou==1) { printf("Não pode excluir produto. Faz parte de alguma nota"); } else { for(j=0;j<livre_produto;j++) { prod[j].cod_produto=prod[j+1].cod_produto; prod[j].desc=prod[j+1].desc; prod[j].unid=prod[j+1].unid; prod[j].preco_unit=prod[j+1].preco_unit; prod[j].qtde_est=prod[j+1].qtde_est; } printf("Produto excluido com sucesso"); livre_produto=livre_produto-1; } } } }while(op2!=7); } }while(op1!=4); }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!