Ir ao conteúdo
  • Cadastre-se

Roberta Xavier

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. #include <stdio.h> #include <stdlib.h> #include <string.h> #include <windows.h> struct chocolate { char marca[30]; int mesVencimento; int anoVencimento; char preco[15]; }; int exibirMenu(void); void gravarChocolate(void); void buscarChocolate(void); void atualizarPreco(void); void excluirProduto(void); int main(void) { int opcao; do { opcao = exibirMenu(); switch (opcao) { case 1: gravarChocolate(); break; case 2: buscarChocolate(); break; case 3: atualizarPreco(); break; case 4: excluirProduto(); break; case 5: printf("\n Encerrando..."); break; default: printf("\n Opcao invalida!"); } Sleep(1000); system("pause"); } while (opcao != 5); return 0; } int exibirMenu(void) { int opcao; system("cls"); printf("\tEstoque de chocolate\n\n"); printf(" 1. Inserir marca de chocolate\n"); printf(" 2. Buscar marca de chocolate\n"); printf(" 3. Atualizar preco\n"); printf(" 4. Excluir produto\n"); printf(" 5. Encerrar\n\n"); printf(" Digite a opcao desejada: "); scanf("%d", &opcao); return opcao; } void gravarChocolate(void) { struct chocolate meuChocolate; FILE *arquivo; system("cls"); printf("\tESTOQUE DE PRODUTO - INSERIR MARCA\n\n"); printf(" Marca: "); fflush(stdin); gets(meuChocolate.marca); fflush(stdin); printf(" Mes do Vencimento: "); scanf("%d", &meuChocolate.mesVencimento); fflush(stdin); printf(" Ano do Vencimento: "); scanf("%d", &meuChocolate.anoVencimento); fflush(stdin); printf(" Preco: "); fflush(stdin); gets(meuChocolate.preco); arquivo = fopen("chocolates.dat", "ab"); if (!arquivo) { arquivo = fopen("chocolates.dat", "wb"); } fwrite(&meuChocolate, 1, sizeof(struct chocolate), arquivo); fclose(arquivo); } void buscarChocolate(void) { int encontrado = 0; char busca[30]; struct chocolate meuChocolate; FILE *arquivo; system("cls"); /*Se estiver usando Windows, é system("cls");*/ printf("\tESTOQUE DE PRODUTO - BUSCAR MARCA DE CHOCOLATE\n\n"); printf(" Nome da Marca: "); fflush(stdin);/*Se estiver usando Windows, é fflush(stdin);*/ gets(busca); arquivo = fopen("contatos.dat", "rb"); if (arquivo) { fread(&meuChocolate, 1, sizeof(struct chocolate), arquivo); while (!feof(arquivo)) { if (strcmp(busca, meuChocolate.marca) == 0) { puts(meuChocolate.marca); printf("%d %d\n", meuChocolate.mesVencimento, meuChocolate.anoVencimento); puts(meuChocolate.preco); Sleep(2000); system("pause"); encontrado = 1; break; } fread(&meuChocolate, 1, sizeof(struct chocolate), arquivo); } if (!encontrado) { printf("\n Contato nao encontrado!"); Sleep(1000); system("pause"); } fclose(arquivo); } else { printf("\n Nada encontrado no arquivo!"); Sleep(1000); system("pause"); } } void atualizarPreco(void) { int encontrado = 0; char marca[30], preco[15]; struct chocolate marcaTemporaria; FILE *arquivoAntigo = NULL, *arquivoAtualizado = NULL; system("cls"); printf("\tESTOQUE DE PRODUTO - ATUALIZAR PRECO\n\n"); printf(" Nome da Marca: "); fflush(stdin); gets(marca); printf(" Novo Preco: "); fflush(stdin); gets(preco); arquivoAntigo = fopen("chocolate.dat", "rb"); if (arquivoAntigo) { arquivoAtualizado = fopen("temp.dat", "wb"); if (!arquivoAtualizado) { printf("\n Falha na atualizacao do produto!"); Sleep(1000); system("pause"); return; } fread(&marcaTemporaria, 1, sizeof(struct chocolate), arquivoAntigo); while (!feof(arquivoAntigo)) { if (strcmp(marcaTemporaria.marca, marca) == 0) { strcpy(marcaTemporaria.preco, preco); encontrado = 1; } fwrite(&marcaTemporaria, 1, sizeof(struct chocolate), arquivoAtualizado); fread(&marcaTemporaria, 1, sizeof(struct chocolate), arquivoAntigo); } fclose(arquivoAntigo); fclose(arquivoAtualizado); remove("chocolates.dat"); rename("temp.dat", "chocolates.dat"); if (!encontrado) { printf("\n Nao foi possivel encontrar o produto..."); } else { printf("\n Atualizacao realizada com sucesso!"); } Sleep(1000); } else { printf("\n Nenhum produto encontrado!"); Sleep(1000); system("pause"); } } void excluirContato(void) { int encontrado = 0; char marca[30]; struct chocolate marcaTemporaria; FILE *arquivoAntigo = NULL, *arquivoAtualizado = NULL; system("cls"); printf("\tESTOQUE DE PRODUTO - EXCLUIR PRECO\n\n"); printf(" Nome da Marca: "); fflush(stdin); gets(marca); arquivoAntigo = fopen("chocolates.dat", "rb"); if (arquivoAntigo) { arquivoAtualizado = fopen("temp.dat", "wb"); if (!arquivoAtualizado) { printf("\n Falha na exclusao do produto!"); fclose(arquivoAntigo); Sleep(1000); system("pause"); return; } fread(&marcaTemporaria, 1, sizeof(struct chocolate), arquivoAntigo); while (!feof(arquivoAntigo)) { if (strcmp(marcaTemporaria.marca, marca) == 0) { encontrado = 1; } else { fwrite(&marcaTemporaria, 1, sizeof(struct chocolate), arquivoAtualizado); } fread(&marcaTemporaria, 1, sizeof(struct chocolate), arquivoAntigo); } fclose(arquivoAntigo); fclose(arquivoAtualizado); remove("chocolates.dat"); rename("temp.dat", "chocolates.dat"); if (!encontrado) { printf("\n Nao foi possivel encontrar o produto..."); } else { printf("\n Exclusao realizada com sucesso!"); } Sleep(1000); system("pause"); } else { printf("\n Nenhum produto encontrado!"); Sleep(1000); system("pause"); } return 0; } não esta rodando e não sei como resolver

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!