Buenas tardes.
Tengo este pequeño programa, como controlo los datos digitados por el usuario que solo sea para 5 personas. cuando lo ejecuto y deseo ingresar datos solo para dos personas lo sigue haciendo para muchas mas.
Les agradezco me colaboren, es urgente. Les dejo el código.
Código:
#include <iostream.h>
#include <cstdlib.h>
#include <conio.h>
// Definición de la estructura persona
struct persona {
char nombre[20];
int edad;
char telefono[10];
};
// Definición de la función principal
int main(){
int n=5, i;
clrscr();
// Definición del puntero p de tipo persona utilizado para reservar memoria
persona *p;
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: ";
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
free(p);
system("PAUSE");
}
.