Ir ao conteúdo
  • Cadastre-se
Patrick Franco

C RESOLVIDO Variáveis sendo definidas automaticamente

Recommended Posts

Bom dia,

 

Decidi escrever algum código para praticar o que aprendi na faculdade até o momento, então decidi fazer um programa que calcula a média de uma aluno e depois mostra se ele foi aprovado, reprovado ou está em recuperação, aquela coisa de sempre, mas quando executo o mesmo, o programa não me permite entrar com as notas, ele simplesmente executa o programa inteiro sem que eu possa digitar um valor sequer.

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

int main(){
	
	char nome;
	float num1,num2,med,resul;
	
	printf("Digite o primeiro nome do aluno: ");
	scanf("%c",&nome);
	printf("\nDigite o valor da primeira nota do aluno: %c",nome);
	scanf("%f",&num1);
	printf("\nDigite o valor da segunda nota do aluno: %c",nome);
	scanf("%f",&num2);
	
	med = (num1 + num2) / 2;
	
	printf("\nA média do aluno %c foi de %2.2f.\n");
	
	if (med>=6);
	{printf("\nO aluno foi aprovado.\n");}
	
	if(med=5);
	{printf("\nO aluno terá que fazer recuperação.\n");}
	
	if(med<=4);
	{printf("\nO aluno foi reprovado.\n");}
	
	
system("pause");}

Isso já aconteceu outras vezes com outros programas que já tentei fazer, as vezes consegui arrumar por uma grande cag*ada, as vezes não consegui. Se alguém puder me ajudar ficarei muito grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia. Nome é um vetor de char por possuir mais de um caractere. Então você tem que declarar com o tamanho do vetor. Ex: [10]

A leitura deve ser feita assim: 

scanf("%s", nome);

Sem &.

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Patrick Franco disse:

Ahh, agora foi. Obrigado. E o If? Está errado? Aqui aparece a mensagem das 3 condições.

Você colocou ; (ponto e vírgula) depois do condicional. Está errado.

Além disso, sugiro usar if else, para o código não precisar testar os 3 ifs, caso o primeiro já resolva.

Daqui há pouco aparece algum dos mestres da área com uma didática melhor do que a minha. Mas enquanto isso, tente corrigir esses 2 pontos.

Aliás, pra pegar a média exata, esse número 2 precisa ser convertido pra float. Senão ele gera um resultado inteiro (sem as decimais).

  • Obrigado 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





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

×