Ir ao conteúdo

Posts recomendados

Postado

Olá, estou com uma dúvida nesta questão que necessita da utilização de struct. A minha dúvida é como juntar as duas estruturas e compara-las para que seja imprimido o nome e sobrenome junto com a nota. Outra dúvida é o meu ciclo for que não é inicializado.

 

Escreva um programa que preencha, a partir do teclado, duas estruturas distintas do tipo vetor com os nomes e as notas (as notas têm de estar contidas no intervalo 0 ≤ nota ≤ 10) dos alunos, respectivamente, de uma turma de 100 alunos. Após, exteriorize somente os nomes dos alunos que obtiveram notas iguais ou maiores que 5 (cinco).

 

#include <stdio.h>

struct nome {
	char nome;
	char sobrenome;
};
struct nota{
	int nota;
};


int main(void){
	int i,j,h;
	
struct nome aluno[2];
struct nota boletim[2];

for (i = 0; i < 2; ++i){
	printf("Digite o nome do Aluno\n");
	scanf("%s%s", &aluno[i].nome, &aluno[i].sobrenome);
	printf("Digite a nota do Aluno\n");
	scanf("%i", &boletim[i].nota);
}
for (i = 0; i < 2; ++i){
	if (boletim[i].nota >= 2){
	printf("O Aluno %s %s tem foi aprovado com nota %i", aluno[i].nome, aluno[i].sobrenome, boletim[i].nota);
		}
}
	system("pause");
	return 0;
}

 

  • Amei 1
Postado
#include <stdio.h>

struct nome {
	char nome[20];
	char sobrenome[20];
};
struct nota{
	int nota;
};


int main(void){
	int i,j,h;
	
struct nome aluno[2];
struct nota boletim[2];

for (i = 0; i < 2; ++i){
	printf("Digite o nome do Aluno\n");
	scanf("%s%s", aluno[i].nome, aluno[i].sobrenome);
	printf("Digite a nota do Aluno\n");
	scanf("%i", &boletim[i].nota);
}
for (i = 0; i < 2; ++i){
	if (boletim[i].nota >= 5){
	printf("O Aluno %s %s foi aprovado com nota %i\n", aluno[i].nome, aluno[i].sobrenome, boletim[i].nota);
		}
}
	system("pause");
	return 0;
}

 

  • Amei 2
Postado

@Felippe Melo    não vai precisar comparar os nomes , não , apenas as notas  ,  e seu programa está sendo cancelado antes de escrever o resultado no último printf , por que a variáveL nome que você colocou é do tipo char  , mas  para apenas um caractere , e na hora de escrever você colocou o especificador de string , que na LinguaGem  é 

char nome[20];  // string com mais de um caractere na Linguagem c
char nome    ;  // armazena apenas um caractere na Linguagem c

assim coloque esses colchetes na variável  nome  e sobrenome ; e tudo irá bem  .

#include <stdio.h>
#include <stdio.h>  // para usar o system("pause");

struct nome 
{
	char nome[12];
	char sobrenome[25];
};

 

  • Curtir 1
  • 2 anos depois...
Postado

Boa noite.

 

Essa pergunta é/foi mais um exemplo, como muitos outros que li até agora, do porquê devo ativar todas as opções de alerta do compilador e aprender com isso.

 

Veja (máximize a tela para visão completa) :

Capturar(1).png.b10636d256e5a8f9eb8dfd5e2839c1f3.png

 

Olha aí, ele diz o mesmo que os colaboradores do fórum: bom d+

Agora seu programinha compila.


#include <stdio.h>

#define ALUNO	2

struct identidade 
  {
   char nome[32] , sobrenome[32];
  };
struct aluno 
  {
   float nota;
   struct identidade id;
  };

int main ()
{
 struct aluno classe[ALUNO];
 for (int aluno= 0 ; aluno<ALUNO; ++aluno)
   {
    printf ("Digite o nome do Aluno\n");
    scanf ("%s%s",classe[aluno].id.nome,classe[aluno].id.sobrenome);
    printf ("Digite a nota do Aluno\n");
    scanf ("%f", &classe[aluno].nota);
   }
 for (int aluno= 0; aluno<ALUNO; ++aluno)
   {
    if (classe[aluno].nota >= 5.0f)
        printf ("O Aluno %s %s tem foi aprovado.",classe[aluno].id.nome,
                classe[aluno].id.sobrenome);
   }
 putchar ('\n');
}

 

 

 

 

  • Curtir 1

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

Mostrar 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

Mostrar mais  
×
×
  • Criar novo...