Duvida em programação na linguagem C sobre vetores/strings/ponteiros?????
Eu posso armazenar uma string (nome, por exemplo) dentro de um endereço no vetor?
se sim, como eu faço isso?
É porque estou tentando resolver uma questão que pede para armazenar informações a repeito de alunos com 2 vetores. No primeiro vetor é pra armazenar o nome dos alunos e no segundo as notas finais.
Quem puder me ajudar ficaria muito agradecida!!!
Soluções para a tarefa
Respondido por
1
Ponteiros apontam para o endereço de memória. Um vetor está em um endereço de memória, e cada vetor possui um numero x de indices.
Tem todo um esquema em C que dá pra fazer alocação dinamica em ponteiros, mas para esse exercício não é necessário.
em c. declare um vetor char e um float para os nomes e notas
deixei a solução em anexo
Tem todo um esquema em C que dá pra fazer alocação dinamica em ponteiros, mas para esse exercício não é necessário.
em c. declare um vetor char e um float para os nomes e notas
deixei a solução em anexo
Anexos:
nathaliamouraca:
na hora de mostrar na tela o que foi armazenado não funcionou :(
#include <stdio.h>
//LERÁ 10 ALUNOS
main(void){
struct alunos{
char nome[50];
float nota;
};
alunos getAluno[10];
//LENDO
for(int i=1;i<3;i++){
printf("\nDigite o nome do aluno %d :",i);
fflush(stdin);
gets(getAluno[i].nome);
printf("\nDigite a nota do aluno %d :",i);
scanf("%f",&getAluno[i].nota);
}
//Mostrando na tela
for(int i=1;i<3;i++){
fflush(stdin);
printf("Aluno %s", getAluno[i].nome);
printf(" | Nota: %f ", getAluno[i].nota);
}
}
#include <stdio.h>
//LERÁ 10 ALUNOS
main(){
int x;
puts("Digite a quantidade de alunos");
scanf("%d",&x);
char aluno[x];
float nota[x];
//LENDO
for(int i=0;i<x;i++){
printf("\nDigite o nome do aluno %d :",i+1);
fflush(stdin);
fgets(aluno,40, stdin);
printf("\nDigite a nota do aluno %d :",i+1);
scanf("%f",¬a[i]);
}
//Mostrando na tela
for(int i=0;i<x;i++){
printf("\nAluno %s | Nota: %f ",aluno[i], nota[i]);
}
return 0;
}
Perguntas interessantes