Ir ao conteúdo
  • Cadastre-se

Diego Barrufi

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Boa tarde meu queridos amigos, estou com um problema nesse código, sera que uma alma generosa poderia dar uma olhada? <#include <stdio.h> <#include <stdlib.h> <#define MAX 100 <#include <locale.h> //O sistema a ser construído necessitará atender aos requisitos funcionais abaixo: //Possuir um menu de opção. (Funcionando) //Incluir o registro das obras. //Listar todos os livros.(quando tento listar, ele esta selecionando ambos, revistar e livros) //Listar todas as revistas. //Listar as obras por caixa.(nao consegui criar esta parte, estou a 1 semana nesse código e empaquei). typedef struct cadastro { char descricao[50]; int categoria; int quantidadeEstoque; int categoriaLivro; int categoriaResvistas; int caixa; } Cadastro; void identificacao(); void cadastroItens(Cadastro produto[MAX]); void ListarTodosLivros(Cadastro produto[MAX]); void ListarTodasRevistas(Cadastro produto[MAX]); void ListarProdutosCaixa(int buscaLocal, Cadastro produto[MAX]); int contarRegistro(Cadastro produto[MAX]); int main() { Cadastro produto[MAX]; setlocale(LC_ALL, "Portuguese"); int op, buscaLocal, buscaCategoria; do{ identificacao(); printf("\n1 - Cadastro de Livros e Revistas"); printf("\n2 - Listar todos os livros"); printf("\n3 - Listar todas as Revistas"); printf("\n4 - Listar produto por Caixas"); printf("\n0 - Sair"); printf("\nEscolha Opção: "); scanf("%d", &op); switch(op){ case 1: cadastroItens(produto); break; case 2: ListarTodosLivros(produto); printf("\n"); system("pause"); break; case 3: ListarTodasRevistas(produto); printf("\n"); system("pause"); break; case 4: printf("Informe a caixa que deseja selecionar");; fflush(stdin); scanf("%d", &buscaLocal); ListarProdutosCaixa(buscaLocal, produto); printf("\n"); system("pause"); break; case 0: printf("\nSaindo do sistema!!!"); break; default: printf("\nErro! Opcao Invalida\n"); system("pause"); break; } }while(op!=0); return 0; } void identificacao(){ system("cls"); int t; for(t=0; t<50; t++) printf("-"); printf("\n >>>> Diego Fernando de Jesus Barrufi <<<<"); printf("\n >>>> RA: 20115177-5 <<<< "); printf("\n >>>> Engenharia de Software <<<< \n"); for(t=0; t<50; t++) printf("-"); } void cadastroItens(Cadastro produto[MAX]) { identificacao(); int i; int sec; FILE * arq; arq = fopen("dadosDosLivros.txt", "a+"); if(arq != NULL) { for(i = 0; i < 1; i++){ printf("\nNome do Livro/Revista: "); fflush(stdin); gets(produto.descricao); printf("\nCategorias: \n[1] Livro | [2] Resvita\n"); fflush(stdin); scanf ("%d", &sec); switch(sec){ case 1: (produto.categoriaLivro = 1); break; case 2: (produto.categoriaResvistas = 1); break; default: printf ("\nOpacao invalida"); } //scanf("%d", &produto.categoria); fwrite(&produto, sizeof(Cadastro), 1, arq); } fclose(arq); } else { printf("\nErro ao abrir o arquivo para leitura!\n"); exit(1); } } int contarRegistro(Cadastro produto[MAX]) { FILE * arq = fopen("dadosDosLivros.txt", "r"); if(arq != NULL) { int contador = 0; while(1) { Cadastro p; int registro = fread(&p, sizeof(Cadastro), 1, arq); if(registro < 1) break; else produto[contador] = p; contador++; } fclose(arq); return contador; } else { printf("\nErro ao abrir o arquivo para leitura!\n"); exit(1); } } void ListarTodosLivros(Cadastro produto[MAX]){ identificacao(); int quantidadeLivro = contarRegistro(produto); int i; printf("\n>>>> Lista de Livros<<<< %d\n", quantidadeLivro); printf("ITEM \t | DESCRIÇÃO \t\t| CATEGORIA \t | LOTE"); for(i = 0; i < quantidadeLivro; i++) { printf("\n%d \t | %s \t\t| %d \t\t | %d \t\t | %d", i+1, produto.descricao, produto.categoriaLivro, produto.caixa); } } void ListarTodasRevistas(Cadastro produto[MAX]){ identificacao(); int quantidadeDeRevistas = contarRegistro(produto); int i; printf("\n>>>> Lista de Revistas <<<< %d\n", quantidadeDeRevistas); printf("ITEM \t | DESCRIÇÃO \t\t| CATEGORIA \t | CAIXA"); for(i = 0; i < quantidadeDeRevistas; i++) { printf("\n%d \t | %s \t\t | %d \t\t | %d \t\t | %d", i+1, produto.descricao, produto.categoriaResvistas, produto.caixa); } } void ListarProdutosCaixa(int buscarLote, Cadastro produto[MAX]){ identificacao(); int quantidadeproduto = contarRegistro(produto); int i; printf("\n>>>> Lista de Produtos por caixa <<<< \n"); printf("Lote pesquisado: %d \n", buscarLote); printf("CODIGO \t | DESCRIÇÃO \t\t | CATEGORIA \t | CAIXA"); for(i = 0; i < quantidadeproduto; i++) { if(produto.caixa == buscarLote){ printf("\n%d \t | %s \t\t | %d \t\t | %d \t\t | %d", i+1, produto.descricao, produto.categoria, produto.caixa); } } }>

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