Ir ao conteúdo
  • Cadastre-se

88games16

Membro Pleno
  • Posts

    31
  • Cadastrado em

  • Última visita

Tudo que 88games16 postou

  1. mas tem varias linhas com diferentes matérias e diferentes dias eu tenho q fazer um loop mas como faço para parar de ler no final do arquivo
  2. tenho um arquivo txt na formatação calculo, segunda , quarta algera, segunda, quarta, sexta .... quero ler o arquivo txt e guarda em um vetor no formato da struct alguuem pode dar uma luz struct grade{ char materia[26]; char dias[50] };
  3. cara muito obrigado o system("cls") não funcionou talvez por ser linux mas eu tirei a linha que declarava a struct dentro da função e deu certo
  4. 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(); struct Fornecedor { char cod[2]; char cnpj[15]; char cia[20]; }; struct Produto{ struct Fornecedor f; char nome[20]; int qtd; int custo; int valorc; int venda; }; struct Fornecedor fornecedores; struct Produto produtos; void quebra_linha(){ printf("\n"); } //preencher fornecedores void preenche_fornecedor (struct Fornecedor *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 (struct Produto *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 fornecedor void inputFornecedor(){ system("clear"); struct Fornecedor fornecedores; char resp; FILE* f; f = fopen("fornecedores.txt", "ab"); do { preenche_fornecedor(&fornecedores); fwrite(&fornecedores, sizeof(struct Fornecedor), 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"); struct Fornecedor fornecedores; FILE* f; f = fopen("fornecedores.txt", "rb"); while (fread(&fornecedores, sizeof(struct Fornecedor), 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"); struct Produto produtos; FILE* f; f = fopen("estoque.txt", "ab"); do { preenche_produtos (&produtos); fwrite(&fornecedores, sizeof(struct Produto), 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(); } void visualizar_Estoque(){ system("clear"); struct Produto produtos; FILE* f; f = fopen("estoque.txt", "rb"); while (fread(&fornecedores, sizeof(struct Produto), 1, f)==1){ printf("---------------------------------------------"); quebra_linha(); printf("Codigo de registro: %s\n", produtos.f.cod); printf("Cnpj: %s\n", produtos.f.cnpj); printf("Empresa %s\n", produtos.f.cia); printf ("Produto %s\n", produtos.nome); printf ("Quantidade %d\n", produtos.qtd); printf("preco unidade %d\n", produtos.custo); printf(" valor do estoque %d\n", produtos.valorc); printf("lucro esperado %d\n", produtos.venda); printf("---------------------------------------------"); quebra_linha(); } fclose(f); getchar(); getchar(); menu(); } // menu void menu (){ system("clear"); printf (" --------------ESTOQUE EMPRESA ABC--------------\n"); quebra_linha(); printf("Menu:\n"); printf("1 - Consultar estoque cadastrado: \n"); printf("2 - Consultar fornecedores cadastrados: \n"); printf("3 - Cadastrar novo item no estoque: \n"); printf("4 - Cadastrar novo fornecedor: \n"); printf("5 - sair\n"); opcao_menu(); } void opcao_menu(){ int opcao; scanf("%d",&opcao); while(opcao <1 || opcao>5){ printf("opcao nao disponivel no menu\n"); printf("digite o menu que deseja acessar: \n"); scanf("%d",&opcao); } switch (opcao){ case 1: visualizar_Estoque(); break; case 2: visualizar_fornecedor(); break; case 3: inputEstoque(); break; case 4: inputFornecedor(); break; default: printf("valor invalido"); } } int main(){ menu(); return 0; }
  5. Valeu obrigado mas por alguma razão não compila direito quando uso o fgets acabei tendo que usar a scanf duvida no código abaixo faço o cadastro dos fornecedores condigo listar eles na tela porém na hora de fazer do estoque da erro não sei se é na hora de criar o arquivo ou na hora de ler que tem algo errado se alguem puder ajudar fico grato #include <stdio.h> #include <string.h> #include <stdlib.h> void menu(); void opcao_menu(); void visualizar_fornecedor(); void inputEstoque(); void visualizar_Estoque(); struct Fornecedor { char cod[2]; char cnpj[15]; char cia[20]; }; struct Produto{ struct Fornecedor f; char nome[20]; int qtd; int custo; int valorc; int venda; }; struct Fornecedor fornecedores; struct Produto produtos; void quebra_linha(){ printf("\n"); } //preencher fornecedores void preenche_fornecedor (struct Fornecedor *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 (struct Produto *p){ preenche_fornecedor(& p->f); printf ("informe o produto p/ cadastrar no estoque: "); 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; // preço pago pelo pela quantidade comprada printf("valor da mercadoria no estoque %d: ",p->valorc); p->venda = (p->valorc*1.4) - (p->valorc) ;// lucro esperado com a venda } // cadastrar fornecedor void inputFornecedor(){ system("clear"); struct Fornecedor fornecedores; char resp; FILE* f; f = fopen("fornecedores.txt", "ab"); do { preenche_fornecedor(&fornecedores); fwrite(&fornecedores, sizeof(struct Fornecedor), 1, 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(){ // lista os fornecedores cadastrados system("clear"); struct Fornecedor fornecedores; FILE* f; f = fopen("fornecedores.txt", "rb"); while (fread(&fornecedores, sizeof(struct Fornecedor), 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(){ //cadastrar o estoque char resp; system("clear"); struct Produto produtos; FILE* f; f = fopen("estoque.txt", "ab"); do { preenche_produtos (&produtos); fwrite(&fornecedores, sizeof(struct Produto), 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(); } void visualizar_Estoque(){ // listar estoque cadastrado system("clear"); struct Produto produtos; FILE* f; f = fopen("estoque.txt", "rb"); while (fread(&fornecedores, sizeof(struct Produto), 1, f)==1){ printf("---------------------------------------------"); quebra_linha(); printf("Codigo de registro: %s\n", produtos.f.cod); printf("Cnpj: %s\n", produtos.f.cnpj); printf("Empresa %s\n", produtos.f.cia); printf ("Produto %s\n", produtos.nome); printf ("Quantidade %d\n", produtos.qtd); printf("preco unidade %d\n", produtos.custo); printf(" valor do estoque %d\n", produtos.valorc); printf("lucro esperado %d\n", produtos.venda); printf("---------------------------------------------"); quebra_linha(); } fclose(f); getchar(); getchar(); menu(); } // menu void menu (){ system("clear"); printf (" --------------ESTOQUE EMPRESA ABC--------------\n"); quebra_linha(); printf("Menu:\n"); printf("4 - Consultar estoque cadastrado: \n"); printf("2 - Consultar fornecedores cadastrados: \n"); printf("3 - Cadastrar novo item no estoque: \n"); printf("1 - Cadastrar novo fornecedor: \n"); printf("5 - sair\n"); opcao_menu(); } void opcao_menu(){ int opcao; scanf("%d",&opcao); while(opcao <1 || opcao>5){ printf("opcao nao disponivel no menu\n"); printf("digite o menu que deseja acessar: \n"); scanf("%d",&opcao); } switch (opcao){ case 1: getchar(); inputFornecedor(); break; case 2: visualizar_fornecedor(); break; case 3: inputEstoque(); break; case 4: visualizar_Estoque(); break; default: printf("valor invalido"); } } int main(){ menu(); return 0; }
  6. Boa tarde pessoal sou novo com programação estou com problema no programa na função preenche_produtos na hora de ler o nome do produto da erro #include <stdio.h> #include <string.h> struct Fornecedor { int id; char cia[20]; }; struct Produto{ char nome[20]; int qtd; int custo; int venda; int valorc; struct Fornecedor f; }; struct Fornecedor fornecedores[100]; struct Produto produtos[100]; void quebra_linha(){ printf("\n"); } //preencher dados dos fornecedores void preenche_fornecedor (struct Fornecedor *p){ printf("\ncodigo do fornecedor: "); scanf ("%d", &((*p).id)); printf("nome da empresa: "); scanf("%s",p->cia); } // preenche produtos void preenche_produtos (struct Produto *p){ preenche_fornecedor(&(*p).f); printf ("informe o produto p/ cadastrar no estoque: "); getchar(); fgets ((&(*p.nome),20,stdin); 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; } int main(){ printf (" --------------ESTOQUE EMPRESA ABC--------------\n"); quebra_linha(); int opcao; printf("Menu:\n"); printf("1 - Consultar estoque cadastrado: \n"); printf("2 - Consultar lista de fornecedores cadastrados: \n"); printf("3 - Cadastrar novo item no estoque: \n"); printf("4 - Cadastrar novo fornecedor: \n"); scanf("%d",&opcao);

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...