Ir ao conteúdo
  • Cadastre-se

C Dificuldade na resolução de questão utilizando Struct


Felippe Melo

Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

#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
Link para o comentário
Compartilhar em outros sites

@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
Link para o comentário
Compartilhar em outros sites

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