Ir ao conteúdo
  • Cadastre-se
Adams Ribeiro

C++ notas e aprovação

Recommended Posts

Estou fazendo um programa que pegue o nome e o RA e 03 notas de 05 alunos. Este programa calcula a media e informa se o aluno foi aprovado ou reprovado.

Saida:

Nome RA N1 N2 N3 Média Aprovado/Reprovado.

 

Consegui até uma parte mais agora travei, alguem pode ajudar?

 

#include <cstdlib> 
#include <iostream> 

int main() 

int i, j; 
char aluno[5][5]; 
float nota[3]; 
float soma, media[5]; 

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

 printf("\nNome do aluno: "); 
 gets(aluno); 
 soma = 0; 
 for(j=0; j<3; j++) 
 { 
printf("\Informe a %d.a nota: ", j+1); 
scanf("%f", &nota[j]); 
soma = soma + nota[j]; 

media = soma/3; 
printf("\nAluno: %s - media: %f \n", aluno, media); 

if (aluno, media >=6) 
printf(" Aluno aprovado"); 
else 
printf(" Aluno reprovado "); 

}

system("PAUSE"); 
return 0; 
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo,

 

Veja se te ajuda as explicações

 

#include<stdio.h>
#include<stdlib.h>
#define QNT_NOTAS 3
#define QNT_ALUNOS 5 /*Convem no inicio do aprendizado tratar alguns numeros ja dados no enunciado como constante*/

int main(){

    int i, j;
    char aluno[20]; /*Aqui voce havia declarado uma matriz, mas para o preenchimento basta ser um vetor de tamanho consideravel*/
    float nota[QNT_NOTAS];
    float media; /*soma, media[5];*/

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

        printf("Nome do aluno: ");
        gets(aluno); /*O gets() pode ser perigoso pois nao limita a quantidade de elementos de uma string*/
        media = 0;

        for(j = 0; j < QNT_NOTAS; j++){
          
            printf("Informe a %d.a nota: ", j + 1);
            scanf("%f%*c", &nota[j]); /*Aqui, quando voce digita o numero e da um ENTER, este ENTER e' considerado basicamente um caractere '\n', enquanto a proxima
            instruçao de entrada for uma leitura de um numero pelo scanf(), este ENTER sera "ignorado" e ficara em um buffer.
            Veja que depois que o for do j terminar sua instrucao a proxima leitura sera o gets(). Primeiramente sera verificado o buffer, que esta com o '\n'
            armazenado. Este '\n' sera associado ao gets() que entendera como um "ENTER de conclusao". Resultado, nao havera leitura para o aluno 2 e nem para os
            proximos.
            A melhor forma de resolver e' limpando este ENTER. Para isso, use o %*c. O asterisco em um codigo de formatacao, le o dado especifico e nao o armazena.
            */
            media += nota[j] / QNT_NOTAS; /*O recebimento da media pode ser feito aqui*/
        }

        /*media = soma / QNT_NOTAS;*/
        printf("Aluno: %s - media: %.2f => ", aluno, media);

        if (media >= (float)6) /*veja o porque do (float) no link abaixo*/
            printf(" Aluno aprovado\n\n");
        else
            printf(" Aluno reprovado\n\n");

    }

return 0;
}

Sobre o link http://forum.imasters.com.br/topic/554464-me-da-um-help-por-favor-urgente/#entry2212351

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

×