Ir ao conteúdo
  • Cadastre-se
JosuéVfazani

Trabalho em c

Recommended Posts

Estou fazendo um trabalho em linguagem C(de escola) que e sobre um sistema de cadastro, podia ser de qualquer coisa eu escolhi cadastrar jogos, um dos itens do trabalho é que eu devo fazer uma opção de busca dos produtos usando o nome. No caso eu estou utilizando structs e arquivos binarios que são obrigatorios, mas nao estou conseguindo comparar a string e faze-lo aparecer, essa e a função:

void registro() {
int i,c=0;
     struct Jogos {
           char Nome [100];
           float Preco;
           char Versao [50];
           char Console [20];
           char idioma [50];
        };
        typedef struct Jogos jogo;
        jogo read[500];
        FILE *f;
    f = fopen("CADDEJOGOS.bin", "rb");
    while(fread(&read[c], sizeof(jogo), 1, f) != 0) {
        c++;
    }
 char g[100], *v[500], *h;
strcpy(g,pega_string("Digite o nome do jogo:"));
    for(i=0; i<c; i++){
            if (stricmp(g, read.Nome)==1){
                 printf("Nome: %s\nPreço: %.2f\nVersão:%s\n \n\n", read.Nome, read.Preco, read.Versao);
            }

    }

    fclose(f);
    getch();
    main();
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia @JosuéVfazani

Função stricmp retorna 3 valores inteiros, estes valores são lançados pela função por meio de um comparação lexical de dois strings (ou vetores de char's). Tomemos str1, str2 como exemplo: *Se str1 > str2 resposta é 1, se str1 < str2 resposta é -1 e se str1 == str2 a resposta é 0.

Agora sabendo disso podemos retificar o fragmento abaixo para:

//~O sinal de exclamação [!] inverte return( 0 para 1)
if ( !stricmp( g,read.Nome ) ){
  ... //~Tarefas, códigos etc...
 }

A função converte os dois str em letras minusculas antes da comparação.

 

ScreenHunter_09 Nov. 01 10.33.jpg

 

*Referência: IBM::string.h::stricmp

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×