Buscar

3-faça um algoritmo que receba

  1.       Faça um algoritmo que receba:
  2.       As notas de 15 alunos em cinco provas diferentes e armazene-as em uma matriz 15 X 5;
  3.       Os nomes dos 15 alunos e armazene-os em um vetor de 15 posições.

Em seguida, calcule e mostre:

  1.       Para cada aluno, o nome, a média aritmética das cinco provas e a situação: Aprovado (média >= 7), Reprovado (média < 5) ou Exame(média entre 5 e 7);
  2. A média da classe.

💡 5 Respostas

User badge image

Andre Smaira

Para responder essa pergunta devemos colocar em prática nosso conhecimento sobre Algoritmo e Estrutura de Dados.


#include <stdio.h>

#include <stdlib.h>

int main()

{

char nome[15][30];

int i, j;

for(i=0;i<15;i++){

printf("Digite o nome dos 15 alunos \n");

fgets(nome[i], 30, stdin);

nome[i][strlen(nome[i])-1] = '\0';

}

float notas[15][5];

for(i=0;i<15;i++)

for(j=0;j<5;j++){

printf("Digite o numero do aluno as 5 notas de cada aluno\n");

scanf("%f",notas[i][j]);

}

for(i=0;i<15;i++)

for(j=0;j<5;j++){

printf("%s \n",nome[i]);

float media = (notas[i][0] + notas[i][1] + notas[i][2] + notas[i][3] + notas[i][4]) / 5;

printf("A media foi: \n %f \n",media);

if(media >= 7){

printf("\n Aprovado \n");

}

if(media >=5){

printf("\n Exame \n");

}

else {

printf("\n Reprovado \n");

}

}

float classe = 0;

for(i=0;i<15;i++)

for(j=0;j<5;j++){

classe = classe + notas[i][j];

}

float media_classe = classe / 75;

printf("A media da classe foi: \n %f \n",media_classe);

system("PAUSE");

return 0;

}


Portanto, o programa em questão faz uso de 2 matrizes que receberão os nomes dos alunos e as notas de cada um em seus respectivos testes, mostrando a média e ainda verificando se o aluno foi aprovado, se precisará de enxame ou se está reprovado.

1
Dislike0
User badge image

Joao Andre MArtins Dias

/*
 * File:   main.cpp
 * Author: joao
 *
 * Algoritmo que receba:
 * As notas de 15 alunos em cinco provas diferentes e armazene-as em uma
 * matriz 15 X 5.
 * 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 cinco provas
 * a situação: Aprovado (média >= 7),
 * Reprovado (média < 5)  
 * Exame(média entre 5 e 7);
 * A média da classe.

 * Created on 03 de Agosto de 2017, 16:26
 */

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

#define MAX 15
using namespace std;

float calculaMedia(float vet[]) {
    float soma = 0;
    for (int i = 0; i < 5; i++) {
        soma += vet[i];
    }
    return (soma / 5);
}

int main(int argc, char** argv) {
    float notasTurma[MAX][5], mediaAluno = 0, mediaClasse = 0, maior = 0, menor = 999;
    char alunos[MAX][20], situacao[20], flag = 0;
    int cont = 0, posMaior, posMenor;

    //-----
    printf("Entre com os dados:\n");
    //Captura os valores de entrada do usuário até que um
    while (!flag && cont < MAX) {
        printf("\nNome:");
        scanf("%s", &alunos[cont]);
        if (alunos[cont][0] == ' ') {
            flag = 1;
        }
        for (int i = 0; i < 5; i++) {
            printf("\nNota prova[%d]:", i);
            scanf("%f", &notasTurma[cont][i]);
        }
        if (!flag)
            cont++;
    }
    printf("Nome \t Media Alunos \t  Situacao\n");
    for (int i = 0; i < cont; i++) {
        mediaAluno = calculaMedia(notasTurma[i]);
        if (mediaAluno >= 7) {
            strcpy(situacao, "APROVADO");
        } else if (mediaAluno < 7 && mediaAluno >= 5) {
            strcpy(situacao, "EXAME");
        } else {
            strcpy(situacao, "REPROVADO");
        }
        printf("[%s] \t [%.2f] \t [%s]\n", alunos[i], mediaAluno, situacao);
        mediaClasse += mediaAluno;
        if (mediaAluno > maior) {
            maior = mediaAluno;
            posMaior = i;
        }
        if (mediaAluno < menor) {
            menor = mediaAluno;
            posMenor = i;
        }
    }
    //Relatorio
    printf("Media da Classe :[%.2f]\n", mediaClasse);
    printf("Maior Média: [%.2f] Aluno(a):[%s] \n", maior, alunos[posMaior]);
    printf("Menor Média  [%.2f] Aluno(a):[%s] \n", menor, alunos[posMenor]);
}

0
Dislike0
User badge image

Joao Andre MArtins Dias

Espero que ajude, criei uma função para auxiliar na resolução do exercicio, ela calcula a madia recebendo um vetor de 5 posições, ai é só passar a posição da linha da matriz de notas que ela retorna a média do aluno. Tinha acabado de resolver um exercicio que pedia no menor e o maior valor ai já inclui esse detalha no exercício também, é bem comum em prova.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis


✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais