#include<stdio.h>
#include<stdlib.h>
typedef struct {
char nome[ 30 ] ;
int idade;
int altura;
} Pessoa;
int main( void ) {
int escolha= 1 , linhas= 1 , i= 0 ;
Pessoa * p = NULL;
for ( ;; ) {
puts ( "(0) para sair do programa (1) para inserir novo nome \n " ) ; switch ( escolha) {
case 1 :
p
= ( Pessoa
* ) realloc ( p
, sizeof ( Pessoa
* ) * linhas
) ; if ( ! p) {
puts ( "nao foi possivel alocar memoria" ) ; }
puts ( "insira o nome da pessoa" ) ; scanf ( "%s" , p
[ linhas
] .
nome ) ; puts ( "insira a idade da pessoa" ) ; scanf ( "%d" , & p
[ linhas
] .
idade ) ; puts ( "insira a altura da pessoa" ) ; scanf ( "%d" , & p
[ linhas
] .
altura ) ; linhas++;
break ;
case 0 :
for ( i= 1 ; i< linhas; i++ )
printf ( "Pessoa %d nome: %s\t idade: %d\t altura: %d \n " , i
, p
[ i
] .
nome , p
[ i
] .
idade , p
[ i
] .
altura ) ; default :
puts ( "Caractere invalido inserido!" ) ; }
}
return 0 ;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+Cgp0eXBlZGVmIHN0cnVjdHsKIGNoYXIgbm9tZVszMF07CiBpbnQgaWRhZGU7CiBpbnQgYWx0dXJhOwp9UGVzc29hOwoKaW50IG1haW4odm9pZCl7CiAgICBpbnQgZXNjb2xoYT0xLGxpbmhhcz0xLGk9MDsKICAgIFBlc3NvYSAqcCA9IE5VTEw7CgoKICAgIGZvcig7Oyl7CiAgICAgICAgICAgIHB1dHMoIigwKSBwYXJhIHNhaXIgZG8gcHJvZ3JhbWEgKDEpIHBhcmEgaW5zZXJpciBub3ZvIG5vbWUgXG4iKTsKICAgICAgICAgICAgc2NhbmYoIiVkIiwmZXNjb2xoYSk7CiAgICAgICAgICAgIGdldGNoYXIoKTsKICAgICAgICAgICAgc3dpdGNoKGVzY29saGEpewogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICBwID0gKFBlc3NvYSAqKSByZWFsbG9jKHAsc2l6ZW9mKFBlc3NvYSopKmxpbmhhcyk7CiAgICAgICAgICAgICAgICAgaWYoIXApewogICAgICAgICAgICAgICAgICAgIHB1dHMoIm5hbyBmb2kgcG9zc2l2ZWwgYWxvY2FyIG1lbW9yaWEiKTsKICAgICAgICAgICAgICAgICAgICBleGl0KC0xKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBwdXRzKCJpbnNpcmEgbyBub21lIGRhIHBlc3NvYSIpOwogICAgICAgICAgICAgICAgc2NhbmYoIiVzIiwgcFtsaW5oYXNdLm5vbWUpOwogICAgICAgICAgICAgICAgZ2V0Y2hhcigpOwogICAgICAgICAgICAgICAgcHV0cygiaW5zaXJhIGEgaWRhZGUgZGEgcGVzc29hIik7CiAgICAgICAgICAgICAgICBzY2FuZigiJWQiLCAmcFtsaW5oYXNdLmlkYWRlKTsKICAgICAgICAgICAgICAgIGdldGNoYXIoKTsKICAgICAgICAgICAgICAgIHB1dHMoImluc2lyYSBhIGFsdHVyYSBkYSBwZXNzb2EiKTsKICAgICAgICAgICAgICAgIHNjYW5mKCIlZCIsICZwW2xpbmhhc10uYWx0dXJhKTsKICAgICAgICAgICAgICAgIGdldGNoYXIoKTsKICAgICAgICAgICAgICAgIGxpbmhhcysrOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMDoKCiAgICAgICAgICAgICAgICBmb3IoaT0xO2k8bGluaGFzO2krKykKICAgICAgICAgICAgICAgICAgICBwcmludGYoIlBlc3NvYSAlZCBub21lOiAlc1x0aWRhZGU6ICVkXHRhbHR1cmE6ICVkIFxuIiwgaSxwW2ldLm5vbWUscFtpXS5pZGFkZSxwW2ldLmFsdHVyYSk7CiAgICAgICAgICAgICAgICBmcmVlKHApOwogICAgICAgICAgICAgICAgZXhpdCgxKTsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICAgIHB1dHMoIkNhcmFjdGVyZSBpbnZhbGlkbyBpbnNlcmlkbyEiKTsKICAgICAgICAgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0=