nukenin Postado Janeiro 13, 2022 Denunciar Share Postado Janeiro 13, 2022 boa tarde pessoal, estava revisando algumas coisas aqui, e escrevi esse codigo: [code] #include <iostream> #include <new> using namespace std; int main(){ struct base{ char *nome = new char[256]; int idade; }; struct base db[2]; for(int o = 0; o < 3; o++){ fprintf(stdout, "nome: "); getchar(); fgets(db[o].nome, 256, stdin); fprintf(stdout, "idade: "); cin >> db[o].idade; } fprintf(stdout, "dados gravados"); for(int out = 0; out < 3; out++){ fprintf(stdout, "%s\n", db[out].nome); fprintf(stdout, "%d\n", db[out].idade); } return 0; } [/code] ele funciona quase certo, o problema é que não imprimi o ultimo for Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 vangodp Postado Janeiro 13, 2022 Denunciar Share Postado Janeiro 13, 2022 n vi todo o programa porem quando declarar struct base db[2]; você só tem 2 elementos, porem neste for você tenta acessar um terceiro elementos que n existe. Ou seja você esta estourando a capacidade do tal vetor. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 nukenin Postado Janeiro 13, 2022 Autor Denunciar Share Postado Janeiro 13, 2022 24 minutos atrás, vangodp disse: n vi todo o programa porem quando declarar struct base db[2]; você só tem 2 elementos, porem neste for você tenta acessar um terceiro elementos que n existe. Ou seja você esta estourando a capacidade do tal vetor. Obrigado pela resposta, era isso mesmo Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
nukenin
boa tarde pessoal, estava revisando algumas coisas aqui, e escrevi esse codigo:
[code]
#include <iostream>
#include <new>
using namespace std;
int main(){
struct base{
char *nome = new char[256];
int idade;
};
struct base db[2];
for(int o = 0; o < 3; o++){
fprintf(stdout, "nome: ");
getchar();
fgets(db[o].nome, 256, stdin);
fprintf(stdout, "idade: ");
cin >> db[o].idade;
}
fprintf(stdout, "dados gravados");
for(int out = 0; out < 3; out++){
fprintf(stdout, "%s\n", db[out].nome);
fprintf(stdout, "%d\n", db[out].idade);
}
return 0;
}
[/code]
ele funciona quase certo, o problema é que não imprimi o ultimo for
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.