#include <stdio.
h>
#include <stdlib.h>
#include <string.h>
// Definindo a estrutura para armazenar os dados do produto
struct Produto {
char nome[50];
int quantidade;
float preco;
};
int main() {
FILE *arquivo;
struct Produto produto;
char opcao, nomeBusca[50];
int encontrado = 0; // Variável para controlar se o produto foi encontrado ou não
// Abre o arquivo para leitura e escrita (append)
arquivo = fopen("[Link]", "a+");
if (arquivo == NULL) {
printf("Erro ao abrir o arquivo.");
exit(1);
}
// Menu de opções
do {
printf("\nEscolha uma opcao:\n");
printf("1 - Cadastrar produto\n");
printf("2 - Consultar estoque\n");
printf("3 - Buscar produto pelo nome\n");
printf("4 - Sair\n");
printf("Opcao: ");
scanf(" %c", &opcao);
// Verifica a opção escolhida pelo usuário
switch(opcao) {
case '1': // Cadastrar produto
printf("\nDigite o nome do produto: ");
scanf("%s", [Link]);
printf("Digite a quantidade: ");
scanf("%d", &[Link]);
printf("Digite o preco (em R$): ");
scanf("%f", &[Link]);
// Escreve os dados do produto no arquivo
fprintf(arquivo, "%s %d %.2f\n", [Link], [Link],
[Link]);
printf("Produto cadastrado com sucesso.\n");
break;
case '2': // Consultar estoque
printf("\nEstoque atual:\n");
rewind(arquivo); // Retorna ao início do arquivo
while (fscanf(arquivo, "%s %d %f", [Link], &[Link],
&[Link]) == 3) {
printf("Produto: %s, Quantidade: %d, Preco: R$ %.2f\n", [Link],
[Link], [Link]);
}
break;
case '3': // Buscar produto pelo nome
printf("\nDigite o nome do produto a ser buscado: ");
scanf("%s", nomeBusca);
// Busca o produto pelo nome
rewind(arquivo); // Retorna ao início do arquivo
while (fscanf(arquivo, "%s %d %f", [Link], &[Link],
&[Link]) == 3) {
if (strcmp([Link], nomeBusca) == 0) { // Compara o nome lido com
o nome buscado
printf("Produto encontrado:\n");
printf("Produto: %s, Quantidade: %d, Preco: R$ %.2f\n",
[Link], [Link], [Link]);
encontrado = 1; // Indica que o produto foi encontrado
break; // Para a busca assim que o produto é encontrado
}
}
if (!encontrado) { // Se o produto não foi encontrado
printf("Produto nao encontrado.\n");
}
break;
case '4': // Sair do programa
printf("Saindo do programa...\n");
break;
default:
printf("Opcao invalida.\n");
}
} while (opcao != '4'); // Continua o loop até que o usuário escolha sair
// Fecha o arquivo
fclose(arquivo);
return 0;
}