Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
Cristian Kirsch Foesch

C Preencher uma struct com scanf

Recommended Posts

Galera eu quero preencher uma struct usando o scanf logo antes de digitar o ano para descobrir o semestre, e imprimir junto com o resultado (aprovado ou reprovado), mas não estou conseguindo, alguem pode ajudar? Gratidão

/*seminario
							Comandos = if, switch
							Funções = soma, troca
							Vetores e tipo construído
							Como criar e preencher estrutura*/
#include <stdio.h>
#include <stdlib.h>
typedef struct{ //Tentativa de criar e preencher a struct
	char Nome;
}Nome;

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[i]);
  }

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[i]; 
//Realiza a divisão das notas pelo numero de elementos
m = soma / n; 
//Retorna a media
	return m;
}
Nome SetNome(char Nome){
	printf("Digite o nome do Aluno\n");
	scanf("%c", &Nome);
}

 

  • Curtir 1

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
Entre para seguir isso  





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

×