Ir ao conteúdo

Posts recomendados

Postado

Olá, estou fazendo este código, entretanto quero que o programa mostre o nome do aluno com a maior nota, a nota maior aparece normalmente, só o nome que não. Como estou iniciando não sei qual seria o erro... Alguém poderia me explicar também qual a função do gets e getchar... ? O trecho da duvida está com um comentário no lado.

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>>

int main()
{
int nA, cond ;
char aluno[20], AluD[20];
float nt, maior;
printf("Digite a quantidade de alunos:\n");
scanf("%i", &nA);

cond = 1;
while (cond <=nA){
    printf("ALUNO \n", cond);
    printf("Digite o nome do aluno:\n");
    scanf("%c", &aluno);
    gets(aluno);
    printf("Digite a sua nota:\n");
    scanf("%f", &nt);
    if (nt>maior){           
            maior = nt;
            AluD = aluno; //<--aqui
    }
    cond = cond +1;
}
    printf("%c %f", AluD, maior); //<--e aqui
    return 0;
}
  • Curtir 1
Postado
2 horas atrás, DanubiaMacedo disse:

AluD = aluno;

Compilei o seu programa para ver se tinha algo errado, o compilador mostrou um erro nesta linha provavelmente porquê AluD é um vetor e precisa indicar o [local] em um vetor para ser trabalhado.

ficou assim:

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>>

int main()
{
int nA, cond ;
char aluno[20], AluD[20];
float nt, maior;
printf("Digite a quantidade de alunos:\n");
scanf("%i", &nA);

cond = 1;
while (cond <=nA){
    printf("ALUNO \n", cond);
    printf("Digite o nome do aluno:\n");
    scanf("%c", &aluno);
    gets(aluno);
    printf("Digite a sua nota:\n");
    scanf("%f", &nt);
    if (nt>maior){
            maior = nt;
            for(int i=0;i<19;i++){
            AluD[i] = aluno[i];
            }
    }
    cond = cond +1;
}
    puts(AluD);
    printf("%f", maior);
    return 0;
}

obs:use a função "puts" para imprimir strings, fica bem mais simples.(c++)

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!