Ir ao conteúdo
  • Cadastre-se

Se alguem puder ajudar


vaccarin

Posts recomendados

se alguem puder ajudar fiz ele mas nao ta calculando a media coretamente :S

tenho prova semana que vem e se no pc ja ta complicado magina no papel hehe

eu nao fiz com 15 alunos porque é muito chato testar hehe ...

Faça um programa que receba:

As notas de 15 alunos em quatro provas diferentes e armazene-as em uma matriz 15 x 4;

Os nomes dos 15 alunos e armazene-os em um vetor de 15 posições.

Calcule e mostre:

Para cada aluno, o nome, a média aritmética das quatro provas e a situação (Aprovado ou Reprovado). Assuma média para aprovação igual ou superior a 6;

A média da classe.

Tai o que eu fiz:

#include <conio.h>
#include <stdio.h>
main()
{
char nome[3][100];
float nota[3][4];
float soma=0;
float media[3][1];
int i, j;
for(i=1; i<=3; i++)
{
printf("\nDigite o nome %d Aluno: ",i);
scanf("%s",&nome[i]);
}
for(i=1; i<=3; i++)
{
for(j=1; j<=4; j++)
{
printf("\nEntre com a %d nota do %s: ", j, nome[i]);
scanf("%f",&nota[i][j]);
soma=soma + nota[i][j];
}
media[i]=soma/4;
}
for(i=1; i<=3; i++)
{
if(media[i][j] >=7)
{
printf("\nO aluno: %s \nFoi aprovado \nCom a media: %f", nome[i],media[i][j]);
}
else
{
printf("\n\nO aluno: %s \nFoi Reprovado \nCom a media: %f",nome[i],media[i][j]);
}
}
getch();
}

agradeço desde ja a ajuda.

Link para o comentário
Compartilhar em outros sites

Seu problema é com os índices. Os vetores começam na posição 0, não 1. Você criou um vetor de 3 posições (0,1 e 2) e pedia pra ele ler de 1 até 3, sendo que 3 não existe, por isso o erro. Você esqueceu de zerar a soma depois de cada aluno também.

Arrumei mais algumas coisinhas no seu programa (como o gets() no lugar de scanf). Mas sua lógica no geral estava certa sim.


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

int main()
{
char nome[3][30];
float nota[3][4];
float soma=0;
float media[3];
int i, j;

for(i=0; i<3; i++)
{
printf("\nDigite o nome do %do Aluno: ",i+1);
gets(nome[i]);
}

for(i=0; i<3; i++)
{
for(j=0; j<4; j++)
{
printf("\nEntre com a %d nota do aluno %s: ", j+1, nome[i]);
scanf("%f",&nota[i][j]);
soma=soma + nota[i][j];
}
media[i]=soma/4;
soma=0;
}

for(i=0; i<3; i++)
{
if(media[i] >=7)
{
printf("\nO aluno: %s \nFoi aprovado \nCom a media: %f", nome[i],media[i]);
}
else
{
printf("\n\nO aluno: %s \nFoi Reprovado \nCom a media: %f",nome[i],media[i]);
}
}
getch();
return 0;
}

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!