Algoritmo
#include
#include
#include
//-- estrutura produto ------------------
struct produto{ int qtd, cod, ex;//esta variável ex serve para saber se o cadastro está excluído ou não. se for 1 está excluído se for 0 não está. char desc[50]; float custo, venda;
};
//-- variáveis globais -----------
FILE *produtos; struct produto prod;
//-- declaração das funções ------------
void abre_arquivo(){ // função que abre o arquivo de produtos produtos=fopen("produtos.txt","rb+"); // tenta abrir o arquivo (rb+) if(produtos == NULL) // se ele ainda não existe produtos=fopen("produtos.txt","wb+");// então criamos ele (wb+) if(produtos == NULL) // se a criação também não funcionar printf("\nErro ao abrir/criar arquivo de produtos"); // então uma mensagem de erro é mostrada
}
//------ PESQUISA DE PRODUTOS--------------------------------
int pesquisa_prod(int cod){
rewind(produtos);// coloca o ponteiro no inicio do arquivo para pesquisar desde o começo while(feof(produtos) == 0){// enquanto não chega no fim do arquivo... fread(&prod, sizeof(struct produto), 1, produtos);// lê uma struct produto do arquivo e copia ela para a variável global prod if(prod.cod == cod && prod.ex == 0)return 1;// se o codigo do produto que eu acabei de ler (prod.cod) é igual ao código que passei pra função (cod) E o produto não foi excluído... } // então encerro a função retornando uma resposta positiva (1) return 0;// se o while terminou sem passar pelo "return 1" então o código não existe. Neste caso retorno uma resposta negativa (0)
}
//------- CADASTRO DE PRODUTOS ------------------------------- void cad_prod(){ int pos; struct produto aux; system("cls"); printf("-- NOVO CADASTRO --"); printf("\n\nCodigo: "); fflush(stdin);