Ir ao conteúdo
  • Cadastre-se
DrinhaJP

Dúvida na resolução de exercício

Recommended Posts

Boa tarde, tudo bem? :)

Estou no 2º semestre no curso de Análise e ainda não estou familiarizada com as lógicas de programação :unsure:, alguém poderia me ajudar a encontrar o erro no exercício a baixo?^_^ Segue o que eu fiz, quanto ao erro, seria o cálculo da média que está dando resultado errado. :wacko:

//Elaborar um algoritmo que calcule a média das notas dos alunos de uma sala de aula qualquer,

//sendo que em primeiro lugar deverá ser solicitada a digitação da quantidade de alunos existentes

//nessa sala e,posteriormente a digitação de todas as nota dos alunos da mesma. enqt/faça

#include<stdio.h>

#include<conio.h>

main()

{

int QTA, cont=1;

float NT, M;

printf("Informe a quantidade de alunos: ");

scanf("%i",&QTA);

while (cont<=QTA)

{

printf("%i%c Aluno: ", cont, 167);

scanf("%i",&NT);

cont=cont+1;

M=(M+NT)/QTA;

}

printf("A media e: %2.f", M);

getch();

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Antes de mais nada:

int main()

The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int and [...]

§5.1.2.2.1

Ref.: PDF | PÁGINA WEB

Quanto ao seu código, o problema principal foi uma falha na sua lógica ^^

Abaixo segue ele revisado e comentado, onde fiz alterações:


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

int main()
{
int QTA, cont=1;
float NT, M = 0.; // Inicializa-se M para que ele não seja utilizado não inicializado na primeira execução do laço.

printf("Informe a quantidade de alunos: ");
scanf("%i",&QTA);

while (cont<=QTA)
{
printf("%i%c Aluno: ", cont, 167);
scanf("%f",&NT); // Aqui, NT é do tipo float. A formatação adequada é %f, não %i
cont=cont+1;
// O problema da média errada estava aqui.
M=M+(NT)/QTA;
}

// Aqui estava %2.f -- creio que a intenção tenha sido %.2f, para que houvesse
// apenas 2 casas decimais no valor exibido.
printf( "A media e: %.2f", M );
getch();

return EXIT_SUCCESS; // stdlib.h
}

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

×