Ir ao conteúdo
  • Cadastre-se

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


DrinhaJP

Posts recomendados

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();

}

Link para o comentário
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
}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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...