Site hosted by Angelfire.com: Build your free website today!

Ejercicio de Errores

El siguiente programa reporta 9 errores, luego del programa encontrará el reporte. Explique en cada caso cual es el error y como lo corregiría, si no lo encuentra por lo menos explique según el mensaje que entiende sobre el error. Dentro del programa verá en rojo los sitios de los errores (Reporte de errores luego del programa)
 

PROGRAMA

#include "iostream.h"
#include "string.h"

struct Nodo {
 char persona[50];
 char email[50];
};

class Vector  {
 struct Nodo *Lista;
 int indicepila;
 int cuantos;
public:
 Vector(int pcuantos) ;
  Lista = new struct Nodo[pcuantos]; // Error 1
  indicepila = new int(-1);  // Error 2
  cuantos = 0;
 }
 void entrarDato(char *pPersona, char *pEmail) {
  strcpy(&Lista[cuantos].persona,pPersona); //Error 3
  strcpy(&Lista[cuantos].email,pEmail); //Error 3
  cuantos++;
 }
 struct Nodo sacarDato() {
  cuantos--;
  return Lista[cuantos];
 }
 int cuantosNodos() {
  return cuantos;
 }
 void mostrarDatos();
 ~Vector(struct Nodo Lista) ;  // Error 4
   delete Lista; // Error 5
 }
}

void mostrarDatos() { // Error 6
 cout << "cuantos:" << cuantos << endl; // Error 7

 for (indicepila=0; indicepila<cuantos; indicepila++) {
  cout << "Nodo No. " << (indicepila+1) << endl
  cout << "persona:" << (char *)Lista[indicepila].persona <<endl; // Error 8
  cout << "email:" << (char*)Lista[indicepila].email << endl;
  cout << endl;
 }
}
 

main() {
 cout << "hola tu" << endl;
 Vector miLista(10);
 char *a1, *a2;
 a1 = new char[50];
 a2 = new char[50];
 a1 = "Juan Carlos";
 a2 = "jcdiaz@cable.net.co";
 miLista.entrarDato(a1,a2);
 miLista.entrarDato("Asocolflores, "info@asocolflores.net.co"); //Error 9
 miLista.mostrarDatos();

 return 0;
}
 

Reporte de Errores

Error 1 'pcuantos' undeclared identifier
Error 2 '=' cannot convert from 'int *' to 'int'
Error 3 'strcpy' cannot convert parameter 1 from 'char (*)[50]' to 'char *'
Error 4 'Vector' : destructors must have a 'void' formal parameter list
Error 5 sintax error: 'delete'
Error 6 'Vector' followeb by 'void' is illegal (did you forget a ';'?)
Error 7 'cuantos' undeclared identifier
Error 8 sintax error: missing ';' before identifier 'cout'
Error 9 unknown character '0x40'. missing ')' before identifier 'info'