Pesquisar na Comunidade
Mostrando resultados para as tags ''verificando código já existente''.
Encontrado 1 registro
-
Fiz esse código aqui, porém se eu cadastrar o mesmo código ele não informa código já existente. Não consigo identificar o problema, pois a função já foi criada... #include <stdlib.h> #include <string.h> #include <stdio.h> #define TAM 100 int i_cad; struct soft{ int codigo; char nome[TAM]; float versao; int ano; char function[TAM]; char tam[TAM]; } vet_cadastro[TAM]; int cadastrar(struct soft vet_cadastro[TAM], int codigo); void consult(struct soft vet_cadastro[TAM]); int alterar(struct soft vet_cadastro[TAM]); struct soft vet_cadastro[TAM]; int check_cod(int cod); int main(int argc, char *argv[]) { struct soft vet_cadastro[TAM]; char Chave1[10], Chave2[10]; int x, a=1, b=1, cont; int m; char call; int retorno; int n; int codigo; char v1; m = 0; printf("\n --------Bem-Vindo--------\n\n"); printf("\n\t\t ** BIBLIOTECA DE SOFTWARE LIVRE **"); do{ printf("\n\nChave1: "); gets(Chave1); fflush(stdin); printf("\nChave2: "); gets(Chave2); fflush(stdin); a = strcmp(Chave1, "l"); b = strcmp(Chave2, "d"); if (a != 0 || b != 0) printf("\n Chave Incorreta\n\n ----Tente Novamente----"); }while(a != 0 || b != 0); printf("\n ----Login Efetuado----\n\n"); getch(); system("cls"); do{ printf("\n\nEscolha uma das opcoes abaixo: \n\n"); printf("1- Cadastrar SOFTWARE \n2- Consultar SOFTWARE \n3- Alterar cadastro \n4- Sair <- \n"); printf("\nOpcao: "); fflush(stdin); scanf("%d", &m); switch(m){ case 1: system("cls"); printf("\nEntre com a Palavra-Chave(Numeros): "); scanf("%d", &codigo); retorno = check_cod(codigo); if ( retorno == 1 ){ cadastrar(vet_cadastro,codigo); system("cls"); }else { printf("Palavra-Chave já existente !"); getch(); }break; case 2: system("cls"); consult(vet_cadastro); getch(); system("cls"); break; case 3: system("cls"); alterar(vet_cadastro); system("cls"); break; case 4: system("cls"); printf("\n\n\t\t\t\t** ADEUS ! **\n\n"); getch(); break; default: system("cls"); printf("\n\nOpcao Invalida\n\n"); break; } }while(m != 4); return 0; } int cadastrar(struct soft vet_cadastro[TAM], int codigo){ int retorno; if(i_cad > 100)return 0; char call; // do{ vet_cadastro[i_cad].codigo == codigo; fflush(stdin); printf("\nNome do SOFTWARE: "); gets(vet_cadastro[i_cad].nome); fflush(stdin); printf("Versao: "); scanf("%f", &vet_cadastro[i_cad].versao); fflush(stdin); printf("Ano: "); scanf("%d", &vet_cadastro[i_cad].ano); fflush(stdin); printf("Funcionalidade: "); gets(vet_cadastro[i_cad].function); fflush(stdin); printf("Tamanho: "); gets(vet_cadastro[i_cad].tam); fflush(stdin); i_cad++; /* printf("\nDeseja continuar cadastrando ? [s] - sim / [n] - não : "); scanf("%c", &call); system("cls"); fflush(stdin); }while (call == 's' && call != 'n'); */ } void consult(struct soft vet_cadastro[TAM]){ int codigo; int i = 0; printf("\nEntre com a Palavra-Chave(Numeros): "); scanf("%d",&codigo); for ( i = 0; i < TAM; i++ ) { if (vet_cadastro[i].codigo == codigo) { printf("\n Nome: %s", vet_cadastro[i].nome); printf("\n Versao: %f", vet_cadastro[i].versao); printf("\n Ano: %d", vet_cadastro[i].ano); printf("\n Funcionalidade: %s", vet_cadastro[i].function); printf("\n Tamanho: %s", vet_cadastro[i].tam); return; }else { printf("\n\n\t Palavra-Chave não cadastrada !"); return; } } } int alterar(struct soft vet_cadastro[TAM]){ int codigo; int cont; if(cont > 100)return 0; printf("\nEntre com a Palavra-Chave de cadastro: \n"); scanf("%d",&codigo); for(cont=0; cont < 100; cont++){ if(vet_cadastro[cont].codigo == codigo){ fflush(stdin); printf("\nNome do SOFTWARE: "); gets(vet_cadastro[cont].nome); fflush(stdin); printf("Versao: "); scanf("%f", &vet_cadastro[cont].versao); fflush(stdin); printf("Ano: "); scanf("%d", &vet_cadastro[cont].ano); fflush(stdin); printf("Funcionalidade: "); gets(vet_cadastro[cont].function); fflush(stdin); printf("Tamanho: "); gets(vet_cadastro[cont].tam); fflush(stdin); break; } } } int check_cod(int cod){ int i = 0; for ( i = 0; i < TAM; i++ ) { if (vet_cadastro[i].codigo == cod) return 0; } return 1; }