Ir ao conteúdo

Posts recomendados

Postado

Preciso de ajuda para finalizar um codigo com structs, eu estou com dúvida de como mostrar se o aluno foi aprovado ou reprovado levando em consideração que a média é 6

Exercicio:
Crie um programa para calcular a média e exibir o status (aprovado, reprovado ou em recuperação) de cada aluno da nossa turma. Para isso, crie uma estrutura para alunos, que deve ter nome, RA, 3 notas (utilize vetor – veja slides em material de apoio) e um status (aprovado, reprovado ou em recuperação).
Crie um vetor para uma turma de 10 alunos, leia e armazene os dados desses alunos nesse vetor. Após, calcule, aluno a aluno, a média das notas e o status correspondente. Mostre, ao final, os dados de cada aluno.

 

Código:

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

typedef struct aluno
{
    char nome[30];
    float nota[3];
    int ra;

} pass;

int main (int argc, char *argv[])
{
    pass vetAlu[2];
    int soma;
    float media;
    int i;
    int j;

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

        printf("Digite o nome do aluno %d: ",i+1);
        gets(vetAlu.nome);
        printf ("Digite o RA do aluno: ");
        scanf("%d",&vetAlu.ra);
        printf ("Digite as notas do aluno 1");

        for(int j=0; j<3; j++)
        {

            printf("\n%d: ",j+1);
            scanf("%f",&vetAlu.nota[j]);
            soma+= vetAlu.nota[j];
            fflush(stdin);
        }
    }
}

  • Obrigado 1
Postado

Pode evoluir um pouco mais, certo?

 

  • mostre os valores que está lendo. É mais seguro
  • use prompts para orientar a leitura das notas
  • comece com valores fixos e faça as contas todas, antes de ficar lendo. Isso só via te atrasar

 

  • Curtir 2
Postado

@Otávio Lima Santos     com a média 6 o aluno estará de recuperação , e como está no enunciado , na struct precisa colocar também o status ,   e para mostrar o resultado use o comando if , adicionando ao status , e no final escrever o que está na struct ,  então seu código poderia ser assim  :

 #include <stdio.h>
#include <ctype.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#define cls system("cls");
#define Tabulacao(w) textcolor_2(0,0);for(f=0;f<w;f++)printf(" ");
#define H GetStdHandle(STD_OUTPUT_HANDLE)
void textcolor_2(int l ,int f){SetConsoleTextAttribute(H,l+(f<<4));}
typedef   struct aluno{
    char  nome  [30  ],
          status[30  ];
    float nota  [3   ];
    int   ra          ;
}   pass              ;
int main( int argc, char *argv[] ){
    pass vetAlu[10   ];
    int soma,i,j,f,w  ;
    for(i=0; i<2; i++){
        printf("Digite o nome do aluno %d --: ",i+1);
        fflush(stdin);
        gets  (vetAlu[i].nome);
        printf("Digite o RA do aluno -------: ");
        fflush(stdin);
        scanf ("%d",&vetAlu[i].ra);
        printf("Digite as notas do aluno 1 -:\n");
        for(j=0; j<3; j++){
            printf("Nota %d ----------------: ",j+1);
            fflush(stdin);
            scanf("%f",&vetAlu[i].nota[j]);
        }
    }
    printf("\n\n");
    for(i=0; i<2; i++     ){
        soma = 0           ;
        for(j=0; j<3; j++  )
               soma+= vetAlu[i].nota[j];
        if(    soma/3 == 6 )
            strcpy(vetAlu[i].status,"esta de Recuperacao !");         // adiciona este status
        else
            if(soma/3 <  6 )
                strcpy(vetAlu[i].status,"Foi Reprovado (a) !"  );     // adiciona este status
                else
                    strcpy(vetAlu[i].status,"Foi Aprovado (a) !"   ); // adiciona este status
    }
    cls
    Tabulacao(15);                            // inicio da linha com dez espaços em branco
    textcolor_2(14,0);
    printf("Dados Do (a) Aluno (a) :\n\n");
    for(i=0;i<2; i++){
        Tabulacao(10);                        // inicio da linha com dez espaços em branco
        textcolor_2(15,0);
        printf("O (a) Aluno (a) %s , com as notas :\n",vetAlu[i].nome);
        for(j=0; j<3; j++){
            Tabulacao(10);                    // inicio da linha com dez espaços em branco
            textcolor_2(15,0);
            printf("nota %d = %.2f",j+1,vetAlu[i].nota[j]);
            if(j<2)printf("\n");
        }
        Tabulacao(3);                           // inicio da linha com três espaços em branco
        textcolor_2(15,12);                     // cor branca no fundo vermelho
        printf("  %s  \n\n",vetAlu[i].status);  // escreve o status
    }
    printf("\n\n");
    textcolor_2(0,10);                          // cor preta no fundo verde
    return 0;
}

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!