1.
UTILIZA LA ETIQUEDA CODE PARA MOSTRAR EL CODIGO
2. Te conviene declarar la estructura que usas como global.
3. Para los saltos de linea en C++ se puede usar endl en vez de "\n"
4. Para cout debes usar << y para cin debes usar >>.
5. Si quieres usar la variable p para hacer referencia a la estructura entonces debes declararla como un puntero a la estructura, no a entero.
6. Debes cerrar el primer for que abriste para que cargue los registros.
7. A las librerías en C++ ya no necesitan que les pongas el .h
8. Te aconsejo que uses un arreglo de tipo char para el telefono.
9. En el malloc tienes que reservar espacio para el tamaño de la estructura pero multiplicarlo por el número de registros. Sino solo te podra guardar un registro, entiendes??
Con todo eso, el código quedaría más o menos asi
Código C++:
Ver original#include <iostream>
#include <cstdlib>
using namespace std;
// Definición de la estructura persona
typedef struct {
char nombre[20];
int edad;
char telefono[10];
} persona;
// Definición de la función principal
int main(char* argc, int argv) {
int n=10, i;
persona *p;
// Definición del puntero p de tipo persona utilizado para reservar memoria persona
cout << "PROGRAMA QUE GUARDA EL REGISTRO DE PERSONAS" << endl;
cout << endl << "NUMERO DE PERSONAS A INGRESAR: ";
cin >> n;
// Reserva de memoria dinámica a través de malloc()
p
= (persona
*)malloc(sizeof(persona
)*n
);
// El ciclo for usado para la entrada de los datos de las personas
for(i=0; i<n; i++) {
cout << endl << "DIGITE EL NOMBRE " << i << ": ";
cin >> p[i].nombre;
cout << "DIGITE LA EDAD: ";
cin >> p[i].edad;
cout << "DIGITE El NUMERO TELEFONICO: ";
cin >> p[i].telefono;
}
// El ciclo for usado para la impresión o visulización de los datos registrados
for(i=0; i<n; i++) {
cout << " NOMBRE: " << p[i].nombre << endl;
cout << " EDAD: " << p[i].edad << endl;
cout << " TELEFONO: " << p[i].telefono << endl;
}
// La función free ( ) libera la memoria asignada al apuntador p
return 0;
}