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"); }