Ir ao conteúdo
  • Cadastre-se
Cristiano.cbx

C Programação C. Estou com dificuldade para elaborar um programa de calcular média

Recommended Posts

Preciso fazer o seguinte trabalho para a faculdade:

 

OBS: o professor disse que precisava ter 2 vetores. Criei um para o nome só.

 

1) Faça um algoritmo que leia o nome do aluno e que leia 4 notas dele e calcule a média. O nome do aluno deverá aparecer depois da mensagem do sistema na hora que for para digitar as notas da seguinte forma: "Digite as 4 notas do XXXXX". E o nome do aluno também deverá aparecer quando a média for calculada, da seguinte forma: "A média do XXXXX é:    ".
Se a média do aluno for maior ou igual a 5 mostre a seguinte mensagem: "O Aluno está aprovado, boas férias!". Se a média for menor que 5 mostre a seguinte mensagem: "O aluno está de recuperação.

 

Fiz isso aqui abaixo mas está dando errado. Qualquer nota que coloco sempre dá "Aluno em recuperação". e também não consegui colocar o nome do aluno onde se pede. Se puderem me ajudar, comecei a pouco na faculdade e ta brabo.

 

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

main()

{
   setlocale(LC_ALL,"portuguese");

   char nome[1];
   int v;
   float notas[4];
   int media;
   int i;

   for(i=0;i<1;i++){
       printf("Digite o nome do aluno:\n");
       scanf("%s",&nome[v]);
   }

   printf("Digite as quatros notas do %s:\n",&nome[v]);

   for(i=0;i<4;i++){
   scanf("%f",&notas);
   media=(notas+notas)/4;
   }
   media=(media);

   if(media>5){
    printf("O Aluno está aprovado, boas férias!");
   }
   else{
    printf("O Aluno está de recuperação.");
   }
   return 0;

}
 

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala amigo, beleza? Boa tarde!

 

Então, vê se esse código aqui resolve o seu problema.

 

Abraço!

 

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

int main(void){
	setlocale(LC_ALL, "Portuguese");
	
	int i;
	float n1, n2, n3, n4, media;
	char nome_aluno[30];
	
	printf("Digite o nome do aluno: ");
	gets(nome_aluno);
	
	printf("Digite as 4 notas do %s: ", nome_aluno);
	scanf("%f %f %f %f", &n1, &n2, &n3, &n4);
	
	media = (n1 + n2 + n3 + n4) / 4;
	printf("A média do %s é: %.2f", nome_aluno, media);
	
	if(media >= 5){
		printf("\nO aluno %s está aprovado, boas férias!\n", nome_aluno);
	}
	else{
		printf("\nO aluno %s está de recuperação!\n", nome_aluno);
	}
system("pause");	
}

 

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Cristiano.cbx  As 4 notas não podem ser atribuídas a 4 variáveis float? Uma pra cada nota? O teu professor está pedindo um vetor de 4 posições e cada posição armazena uma nota? É isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@malloc_ Amigo isso. Precisa um vetor para ler e armazenar um nome de aluno e um vetor para ler as 4 notas e armazenar para depois serem somadas e calcular a média dividindo o total por 4, e de acordo com a nota apresentar a mensagem que ele pediu.. to tentando aqui é ta tensoooo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Cristiano.cbx ah sim, entendi. Não tinha me ligado na parte do vetor das notas.

Vou tentar aqui e caso eu consiga, envio aqui novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Cristiano.cbx dei uma modificada aqui, vê se isso te ajuda.

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

int main(void){
	setlocale(LC_ALL, "Portuguese");
	
	int i;
	float soma, notas[4], media;
	char nome_aluno[30];
	
	printf("Digite o nome do aluno: ");
	gets(nome_aluno);
	
	soma = 0;

	printf("Digite as 4 notas do %s: ", nome_aluno);
	for(i = 0; i <= 3; i++){
		scanf("%f", &notas[i]);
		soma = soma + notas[i];
	}
	
	media = soma / 4;
	
	printf("A média do %s é: %.2f", nome_aluno, media);
	
	if(media >= 5){
		printf("\nO aluno %s está aprovado, boas férias!\n", nome_aluno);
	}
	else{
		printf("\nO aluno %s está de recuperação!\n", nome_aluno);
	}
system("pause");	
}

 

  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Victor Portugal Amigo, deu certissimo... te agradeço muito cara... valeu mesmo.. n conhecia esse jeito q você fez, show!! 

adicionado 0 minutos depois

@malloc_ Amigo muito obrigado... o outro amigo conseguiu ajudar.. te agradeço pela intenção. vocês são 10

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Cristiano.cbx show. Abraço parceiro!

Aproveitando que tem gente comentando neste tópico, vou deixar o link para um tópico que eu fiz no início do mês sobre um problema que eu não consegui resolver ainda.

Se você e o @malloc_ puderem me ajudar com isso, agradeço muito. É um trabalho para a faculdade que vale 4 pontos, então, sabe como é né?! hahaha

Segue o link para o tópico: Caixeiro Viajante com três eixos(X, Y e Z).

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Cristiano.cbx Tranquilo, valeu. Conseguindo alguma coisa, só postar lá no tópico.

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Cristiano.cbx tranquilo, parceiro. Valeu aí!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Cristiano.cbx estou cursando Engenharia da Computação na UCP, parceiro.

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

×