Ayuda con un codigo

Esteban
22 de Julio del 2009
tengo este codigo en C++ pero no funciona al compilar sale [Linker error] undefined reference to `[email protected]' y no se por que por favor no se si podrian ayudarme


#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>



using namespace std;


class Persona
{
private: //atributos privados
int cedula;
string nombre;
string apellido;
string telefono;
string direccion;

public: //metodos que e dejaran vacios y mas adelante decimos que parametro llevan.
void persona();
void agregar_persona(); //estos tres parametros los utilizamos con Vendedor y Cliente.
void modificar_persona();//para Agregar, Modificar y Consultar :)
void consultar_persona();
void leerCedula();
void leerNombre();
void leerApellido();
void leerDireccion();
void leerTelefono();
void imprimirCedula();
void imprimirNombre();
void imprimirApellido();
void imprimirDireccion();
void imprimirTelefono();

void Persona::leerCedula(int leer_cedula)
{
cin>>leer_cedula;
};
void Persona::leerNombre(string leer_nombre)
{
cin>>leer_nombre;
};
void Persona::leerApellido(string leer_apellido)
{
cin>>leer_apellido;
};
void Persona::leerDireccion(string leer_direccion)
{
cin>>leer_direccion;
};
void Persona::leerTelefono(string leer_telefono)
{
cin>>leer_telefono;
};

void Persona::imprimirCedula(int imprimir_cedula)
{
cout<<imprimir_cedula;
};
void Persona::imprimirNombre(string imprimir_nombre)
{
cout<<imprimir_nombre;
}
void Persona::imprimirApellido(string imprimir_apellido)
{
cout<<imprimir_apellido;
};
void Persona::imprimirDireccion(string imprimir_direccion)
{
cout<<imprimir_direccion;
};
void Persona::imprimirTelefono(string imprimir_telefono)
{
cout<<imprimir_telefono;
};


void Persona::persona(int cedul, string nombr, string apellid, string telefon, string direccio)
{
cedula = cedul;
nombre = nombr;
apellido = apellid;
telefono= telefon;
direccion = direccio;
};

void Persona::agregar_persona(int cedu, string nomb, string apelli, string telefo, string direcci){
FILE *fd;
fd = fopen("Persona.DAT", "wb"); if(fd==NULL)
{
cout<<endl<<"Error en la operación de abrir archivo"; //cambiar este aviso
}
Persona persona; //se crea el objeto "persona" de la clase "Persona"
system("cls");
cout<<"**********************"<<endl;
cout<<"****AGREGAR VENDEDOR****"<<endl;
cout<<"**********************"<<endl;
cout<<endl<<endl;
cedula = cedu; //Se inicializan los parametros
nombre = nomb;
apellido = apelli;
telefono = telefo;
direccion = direcci;
cout<<endl<<"CEDULA: "; //Guardamos los valores que introduzca el usuario
cin>>cedu; //para cedula, nombre, apellido, telefono y direccion.
cout<<endl<<"NOMBRE: ";
cin>>nomb;
cout<<endl<<"APELLIDO: ";
cin>>apelli;
cout<<endl<<"TELEFONO: ";
cin>>telefo;
cout<<endl<<"DIRECCION: ";
cin>>direcci;
fwrite(&persona,sizeof(persona),1,fd); //con "fwrite" escribimos y guardamos en el archivo
fclose(fd); //los valores que introduce el usuario.
};

void Persona::modificar_persona(string nuevo_telefono, string nueva_direccion)
{
FILE *fd;
fd = fopen("Persona.DAT", "wb");
if(fd==NULL)
{
cout<<endl<<"Error en la operación de abrir archivo"; //cambiar este aviso
}
Persona persona; //creamos el mismo objeto "persona" de la clase "Persona"
system("cls");
cout<<"**********************"<<endl;
cout<<"****MODIFICAR VENDEDOR****"<<endl;
cout<<"**********************"<<endl;
cout<<endl<<endl;
direccion = nueva_direccion;
telefono = nuevo_telefono;
cout<<endl<<"NUEVA DIRECCION: ";
cin>>nueva_direccion;
cout<<endl<<"NUEVA TELEFONO: ";
cin>>nuevo_telefono;
fwrite(&persona,sizeof(persona),1,fd); //Guardamos los valores introducidos por el usuario
fclose(fd);
};

void Persona::consultar_vendedor(int ced, string nom, string apell, string direcc, string telef)
{
FILE *fd;
fd = fopen("Persona.DAT", "rb");
if(fd==NULL)
{
cout<<endl<<"Error en la operación de abrir archivo"; //cambiar este aviso
}
else
{
Persona persona; //creamos el mismo objeto "persona" de la clase "Persona".
system("cls");
fread(&persona,sizeof(Persona),1,fd);//leemos el objeto persona y obtenemos el tamaña que ocupa
cout<<"**********************"<<endl;
cout<<"****CONSULTA VENDEDOR*****"<<endl;
cout<<"**********************"<<endl;
cout<<endl<<endl;
cout<<endl<<"CEDULA: ";
persona.imprimirCedula();
cout<<endl<<"NOMBRE: ";
persona.imprimirNombre();
cout<<endl<<"APELLIDO: ";
persona.imprimirApellido();
cout<<endl<<"DIRECCION: ";
persona.imprimirDireccion();
cout<<endl<<"TELEFONO: ";
persona.imprimirTelefono();
cout<<endl<<endl;
system("PAUSE");
fclose(fd);
}
}
};