Codigo em C - Programa pra uma facção
#include
//estrutra heterogênea struct Roupa{
//variaveis que existem dentro da estrutura int cod; float preco;
};
int verificar(int cod_digitado){
// abre arq
FILE* fr; fr = fopen("roupa.txt", "r");
// cria as variaveis int cod; float preco;
// enquanto nao termina o arquivo, verifique while(!feof(fr)){ fscanf(fr, "%d %f", &cod, &preco); if(cod_digitado==cod){ printf("\nCODIGO>> %d", cod); return cod;
}
}
fclose(fr); printf("\n"); return -1;
}
//função void cadastrar(){ struct Roupa r; printf("\nDigite o codigo: "); scanf("%d", &r.cod); printf("Digite o preco: "); scanf("%f", &r.preco);
int resp;
//ferificar se o códio já existe - verifica todas as linhas if(verificar(r.cod) != -1){ printf("\n----\nErro: O Codigo ja existe!\n"); printf("\nDeseja ler todos os codigos ja existentes? Sim-1 \t "); scanf("%d", &resp); if(resp==1){ ler();
} else { menu(); }
}
else { printf("-----------------------\nCADASTRADO COM SUCESSO!\n-----------------------");
//manipulação - Armazear arquivo
FILE* fr; fr=fopen("roupa.txt", "a+"); fprintf(fr, "%d %f \n", r.cod, r.preco); fclose(fr); }
int resposta; printf("\nDeseja cadastrar novamente? Sim-1 \t\n"); scanf("%d", &resposta);
if(resposta==1){ cadastrar(); }
}
void ler(){
FILE* fr; fr = fopen("roupa.txt", "r"); int cod; float preco;
//lê todas as linhas do arquivo while(!feof(fr)){ fscanf(fr, "%d %f", &cod, &preco); printf("\n-----------------------------\n|CODIGO: %d | PRECO: R$%.2f", cod, preco);
}
fclose(fr); printf("\n"); }
//função void pesquisar(){
int i, resposta; struct Roupa r; printf("Digite o codigo: "); scanf("%d", &resposta);
//manipulação - Ler
FILE* fr;
int existe=0, cod; float preco; fr=fopen("roupa.txt", "r"); while(!feof(fr)){ fscanf(fr, "%d %f", &cod, &preco); if (cod==resposta){ printf("Preco: %.2f\n", preco); existe=1; }
} if (existe==0){ printf("O codigo nao existe");
}