Ir ao conteúdo

Posts recomendados

Postado

Pessoal gostaria de saber se é possivel transformar meu vetor vnotas[4] em uma struct 

 

                                    /*seminario
                            Comandos = if, switch
                            Funções = soma, troca
                            Vetores e tipo construído
                            Como criar e preencher estrutura*/
#include <stdio.h>
#include <stdlib.h>

float media (int n, float *vnotas); //Declarando a função media
int main (void)
{
float vnotas[4];
int semestre;
float media_notas;                                                            
int i;

    for (i = 0; i < 4; i++) //Leitura das medias
{
    printf("Digite os valores das notas: ");
    scanf("%f", &vnotas);
  }
printf("Digite o ano de ingresso para saber em que semestre o aluno esta:\n");
scanf("%d", &semestre);
 if(semestre <2017){
     printf("error 404\n");
     printf("Semestre inserido invalido\n");
 }
    switch( semestre ){
        case 2017 :
        printf("O aluno esta no Segundo semestre\n");
        break;
        case 2018 :
        printf("O aluno esta no Primeiro semestre\n");
        break;    
    }
//Chamada da função
media_notas = media(4,vnotas); 
   printf ( "\nMedia = %.1f \n", media_notas );
  
    // Se a media for maior que 7, imprime que o aluno esta aprovado 
    if(media_notas >=7){
        printf("Aluno Aprovado\n");
        printf("O aluno pode prosseguir para o proximo semestre\n");}
    // Se a media for menor que 7, imprime que o aluno esta repovado 
    else{
        printf("Aluno Reprovado\n");           
           printf("O aluno deve refazer a materia ou fazer a resolucao\n\n");}
system("pause");
return 0;
}
/*Função para cálculo da média 
   Parâmetros: 
      Recebe a quantidade de elementos n
      Recebe o endereço inicial do vetor notas em *vnotas
   Retorno: 
     Retorna a media na variavel m */
float media (int n, float *vnotas)
{
int i;
//Realiza a soma das notas   
float m = 0, soma = 0;
    for (i = 0; i < n; i++)
        soma = soma + vnotas
//Realiza a divisão das notas pelo numero de elementos
m = soma / n; 
//Retorna a media
    return m;
}

Postado

Não entendi muito bem, você quer transformar os vetores nota para ficar armazenado em um vetor de estrutura?

 

Talvez seja isso?

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

struct Notas
{
    float nota;
}notas[4];

float media (int n, Notas* nts); //Declarando a função media

int main (void)
{
    int semestre;
    float media_notas;                                                            
    int i;

    for (i = 0; i < 4; i++) //Leitura das medias
    {
        printf("Digite os valores das notas: ");
        scanf("%f", &notas[i].nota);
      }
    
    printf("Digite o ano de ingresso para saber em que semestre o aluno esta:\n");
    scanf("%d", &semestre);
    
    if (semestre < 2017)
    {
        printf("error 404\n");
        printf("Semestre inserido invalido\n");
     }
     
    switch (semestre)
    {
        case 2017 :
        printf("O aluno esta no Segundo semestre\n");
        break;
        case 2018 :
        printf("O aluno esta no Primeiro semestre\n");
        break;    
    }
    
    //Chamada da função
    media_notas = media(4, notas); 
       printf("\nMedia = %.1f\n", media_notas);
  
    // Se a media for maior que 7, imprime que o aluno esta aprovado 
    if(media_notas >=7)
    {
        printf("Aluno Aprovado\n");
        printf("O aluno pode prosseguir para o proximo semestre\n");
    }
    else // Se a media for menor que 7, imprime que o aluno esta repovado 
    {
        printf("Aluno Reprovado\n");           
        printf("O aluno deve refazer a materia ou fazer a resolucao\n\n");
    }
    system("pause");
    return 0;
}

/*Função para cálculo da média 
   Parâmetros: 
      Recebe a quantidade de elementos n
      Recebe o endereço inicial do vetor notas em *vnotas
   Retorno: 
     Retorna a media na variavel m */
float media (int n, Notas* nts)
{
    int i;
    //Realiza a soma das notas   
    float m = 0, soma = 0;
    
    for (i = 0; i < n; i++)
        soma = soma + nts[i].nota; 
    
    //Realiza a divisão das notas pelo numero de elementos
    m = soma / n; 
    
    //Retorna a media
    return m;
}

 

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