problema na void inputEstoque()está esta preenchendo o arquivo com vários 0000000, preciso de ajuda não sei o problema uma vez que o outro arquivo foi preenchido corretamente (void inputFornecedor() ) grato por qualquer ajuda ou apontamento de algum erro.
#include<stdio.h>#include<string.h>#include<stdlib.h>void menu();void opcao_menu();void visualizar_fornecedor();void inputEstoque();void visualizar_Estoque();structFornecedor{char cod[2];char cnpj[15];char cia[20];};structProduto{structFornecedor f;char nome[20];int qtd;int custo;int valorc;int venda;};structFornecedor fornecedores;structProduto produtos;void quebra_linha(){
printf("\n");}//preencher fornecedoresvoid preenche_fornecedor (structFornecedor*p){
fflush(stdin);
printf("\ncodigo do fornecedor: ");
scanf ("%s", p->cod);
fflush(stdin);
printf("\ninforme cnpj do fornecedor: ");
scanf("%s",p->cnpj);
fflush(stdin);
printf("\nnome da empresa: ");
scanf("%s",p->cia);}void preenche_produtos (structProduto*p){
preenche_fornecedor(&(*p).f);
printf ("informe o produto p/ cadastrar no estoque: ");//getchar();
scanf("%s",p->nome);
printf ("informe a quantidade da compra: ");
scanf("%d",&p->qtd);
printf("informe o preço unitario: ");
scanf("%d",&p->custo);
p->valorc=p->custo*p->qtd;
printf("valor da mercadoria no estoque %d: ",p->valorc);
p->venda =(p->valorc*1.4)-(p->valorc);}// cadastrar fornecedorvoid inputFornecedor(){
system("clear");structFornecedor fornecedores;char resp;FILE* f;
f = fopen("fornecedores.txt","ab");do{
preenche_fornecedor(&fornecedores);
fwrite(&fornecedores,sizeof(structFornecedor),1, f);/*fwrite(&fornecedores.cnpj, sizeof(char), strlen (fornecedores.cnpj), f);
fwrite(&fornecedores.cia, sizeof(char), strlen (fornecedores.cia), f);*/
printf("gostaria de cadastrar outro fornecedor (s/n) ? \n");
getchar();
scanf("%c",&resp);}while(resp =='s');
fclose(f);
system("clear");
menu();}void visualizar_fornecedor(){
system("clear");structFornecedor fornecedores;FILE* f;
f = fopen("fornecedores.txt","rb");while(fread(&fornecedores,sizeof(structFornecedor),1, f)==1){
printf("---------------------------------------------");
quebra_linha();
printf("Codigo de registro: %s\n", fornecedores.cod);
printf("Cnpj: %s\n", fornecedores.cnpj);
printf("Empresa %s\n", fornecedores.cia);
printf("---------------------------------------------");
quebra_linha();}
fclose(f);
getchar();
getchar();
menu();}void inputEstoque(){char resp;
system("clear");structProduto produtos;FILE* f;
f = fopen("estoque.txt","ab");do{
preenche_produtos (&produtos);
fwrite(&fornecedores,sizeof(structProduto),1, f);
quebra_linha();
printf("gostaria de cadastrar outro produto (s/n) ? \n");
getchar();
scanf("%c",&resp);}while(resp =='s');
fclose(f);
system("clear");
menu();}
Pergunta
andre01
problema na void inputEstoque() está esta preenchendo o arquivo com vários 0000000, preciso de ajuda não sei o problema uma vez que o outro arquivo foi preenchido corretamente (void inputFornecedor() ) grato por qualquer ajuda ou apontamento de algum erro.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.