Ir ao conteúdo

Posts recomendados

Postado

Bom dia,

Precisava de uma ajuda, foi proposto um exercício que consiste em criar uma struct com os valores nome, RA, nota. Entrar com RA, Nome , notas, tirar a média de 2 notas e verificar se média é maior que 6 ele esta aprovado se não reprovado, fiz tudo porém na verificação ele não mostra a 2° verificação se condição for reprovado, não consigo resolver.

Obrigado pela ajuda.

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

 struct ficha{
 char aluno [30];
 int RA;
 float mediaA[2],nota[2][2];
 float media ;
 };

int main()
{
 int i = 0;
 int c = 0;
 setlocale(LC_ALL,"Portuguese");

 struct ficha f[2];
 while(c <2){
    printf("Informe RA do Aluno :");
    fflush(stdin);
    scanf("%i",&f[c].RA);
    printf("Informe o nome do Aluno :");
    fflush(stdin);
    gets(f[c].aluno);
    c = c + 1;

 }
        for(i=0; i< 2; ++i){
         printf("Informe a nota do %i° aluno :\n",i+1);
          for(c=0; c < 2; ++c){
            fflush(stdin);
            scanf("%f",&f[i].nota[i][c]);
            f[i].media += f[i].nota[i][c];

    }
                f[i].mediaA[i] = f[i].media /2 ;
 }
                   for(i=0; i < 2; ++i){
                    printf("O Aluno %s\n",f[i].aluno);
                    printf("E seu RA :%i\n",f[i].RA);
                    printf("\n");

   }
                       for(i=0; i< 2; ++i){
                          for(c=0; c < 2  ; ++c){
                           printf("As notas do  aluno %s foram %.2f\n", f[i].aluno, f[i].nota[i][c]);
                      }
                            printf("\n");
                      }

                                  for(i=0; i< 2; ++i){ // ESSA PARTE AQUI QUE NÂO CONSIGO RESOLVER !
                                     if(f[i].mediaA[i] < 6){
                                     printf("Aprovado !\n");
                                          if(f[i].mediaA[i] > 5){
                                           printf("Reprovado !\n");
                                        }
                                    }
                                           printf("A Média do ALUNO %s: é : %f\n",f[i].aluno, f[i].mediaA[i]);
                                }







  return 0;
}

 

Postado

Mais é tão simples!

Se 7 <= media: Aprovado Senão: Reprovado.

 

Basta usar If else


7:23 Eu resolvi com o operador ternário mais um printf. Até com vetores pode  se resolver também.

char * status []= { "Re%s", "A%s" };
printf( status [7 <= media], "provado \n" );

 

 

  • Curtir 1
Postado
17 horas atrás, AnsiC disse:

Mais é tão simples!

Se 7 <= media: Aprovado Senão: Reprovado.

 

Basta usar If else


7:23 Eu resolvi com o operador ternário mais um printf. Até com vetores pode  se resolver também.


char * status []= { "Re%s", "A%s" };
printf( status [7 <= media], "provado \n" );

 

Obrigado pela ajuda mas, não sei utilizar operador ternário. como ele poderia ajudar ? Desculpe mas estou no 2° ano de analise a e UNIP é péssima em ensinar, tenho aprendido muito mais na net e aqui.

 

 

 

Postado
9 horas atrás, Luis Gonzales disse:

Obrigado pela ajuda mas, não sei utilizar operador ternário. como ele poderia ajudar ? Desculpe mas estou no 2° ano de analise a e UNIP é péssima em ensinar, tenho aprendido muito mais na net e aqui.

O operador tenário ?: é basicamente mais um seletor da linguagem, só que, diferente de switch permite apernas duas respostas.

 

Para seu problema sua lógica é a mesma que aplicada por mim com vetor, sem o vetor.

printf( ((7 <= media) ? "A%s" : "Re%s"), "provado \n" );

 

  • Curtir 1
Postado
18 horas atrás, Luis Gonzales disse:

Obrigado pela ajuda mas, não sei utilizar operador ternário. como ele poderia ajudar ? Desculpe mas estou no 2° ano de analise a e UNIP é péssima em ensinar, tenho aprendido muito mais na net e aqui.

 

No meu ponto de vista, o operador ternario é como se fosse um if e else, if representado por ? e else por :  

seguindo o exemplo do @AnsiC do printf com a mesma logica

 

printf("%s", (media>6) ? "Aprovado" : "Reprovado");

 

vejo muito a utilização do operador ternário para colocar valores nas variáveis

 

int x = (25 < 50) ? 1 : 0; nesse exemplo a variavel x receberá 1, pois 25 é menor que 50.

 

Quando a comparação é muito complexa, recomendo usar outro método, mas alguns simples, o ternário ajuda muito, enfim, fiz esse comentário só para tentar ajudar, boa sorte pra você @Luis Gonzales!

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!