Ir para conteúdo
Fórum Script Brasil

Pergunta

Ola Tudo bom?, Cheguei na famosa Matéria Estrutura de Dados na Faculdade, é estou com um duvida.

Criei Uma struct e um vetor para armazenar os valores nele, ate então tudo certo, só que na hora de eu fazer a busca está me dando um erro, nem compila.

|| ERRO (39    40    C:\Users\Hugo Guedes\Documents\C\BuscaSequencial.c    [Error] incompatible type for argument 2 of 'strcmp') ||

O código do programa

#include <stdio.h>
#include <string.h>
int main(void){
    struct Alunos
    {
        char nome[30];
        float matematica, fisica, media;
    };

    struct Alunos alunos[5];
    int count;
    char Busca;
for(count = 0 ; count < 5 ; count++)
    {
        fflush(stdin);
        printf("\nNome do aluno %d: ", count+1);
        gets(alunos[count].nome);

        printf("Nota de matematica: ");
        scanf("%f", &alunos[count].matematica);

        printf("Nota de fisica: ");
        scanf("%f", &alunos[count].fisica);

        alunos[count].media = (alunos[count].matematica + alunos[count].fisica)/2;
    }

    printf("\nExibindo nomes e medias:\n");

    for(count = 0 ; count < 5 ; count++)
    {
        printf("\nAluno %d\n", count+1);
        printf("Nome: %s\n",alunos[count].nome);
        printf("Media: %.2f\n", alunos[count].media);
    }
        printf("\n Digite o nome do aluno a ser buscado: \n");
        printf("Aluno: ");
        scanf("%c", &Busca);
    for(count = 0; count <= 5; count+1 || strcmp(Busca,alunos[count]) = 0 ){ // Erro esta aqui
        printf(" | ");
    }
    return 0;
}

 

--------------------------------

OBS: Não sou muito bom em C, Estudo para Area da WEB

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olha, não vou ter muito tempo para olhar o codigo, mas na pressa tentei dar uma adaptada para tentar encontrar o problema, vou deixar o codigo abaixo:

#include <stdio.h>
#include <string.h>

int main ( void )

 {
    struct Alunos
    {
       char nome [ 30 ];
       float matematica, fisica, media;
    };

    struct Alunos alunos [ 5 ];
    int count;
    char Busca [ 15 ];

    for ( count = 0 ; count < 5 ; count++ )
       {
          fflush ( stdin );
          printf ( "\nNome do aluno %d: ", count + 1 );
          scanf ( "%s", alunos [ count ].nome );

          printf ( "Nota de matematica: " );
          scanf ( "%f", &alunos [ count ].matematica );

          printf ( "Nota de fisica: " );
          scanf ( "%f", &alunos [ count ].fisica );

          alunos [ count ].media = ( alunos [ count ].matematica + alunos [ count ].fisica ) / 2;
        }

    printf ( "\nExibindo nomes e medias:\n" );

    for ( count = 0 ; count < 5 ; count++)
       {
          printf("\nAluno %d\n", count + 1 );
          printf("Nome: %s\n",alunos [ count ].nome );
          printf("Media: %.2f\n", alunos [ count ].media );
       }

        printf ( "\n Digite o nome do aluno a ser buscado: \n" );
        printf ( "Aluno: " );
        scanf ( "%s", Busca );

    for ( count = 0; count < 5; count++ )
       {
          if ( strcmp ( Busca, alunos [ count ].nome ) == 0 )
            {
              printf(" | ");
            }
       }

    return 0;

}

 

Link para o comentário
Compartilhar em outros sites

  • 0

Sendo mais específico, basta observar o que você fez na linha do erro. Na verdade... Tem uma série de erros aí. 

 

Na chamada  

strcmp(Busca, alunos[count])

Nem você sabe o que está fazendo. Afinal Busca você declarou como um char (e não como uma string/array de char/ponteiro). E alunos é um array de estruturas do tipo Alunos. Ou seja... Literalmente o compilador te disse no que errou. Você tentou comparar um simples char com uma estrutura, quando a definição de strcmp é clara:

int strcmp ( const char * str1, const char * str2 );

Acho que você precisa estudar um pouco mais, amigo.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...