Yo creo un proyecto, no? Entonces digo, bien, aqui termina la parte del menu que estoy programando, voy a crear un nuevo archivo .cpp , como hago para entrelazarlos? Es decir, yo tengo mi main.cpp con, por ejemplo, mi menu. En este selecciono el apartado, "Busqueda" Pero tengo todo el código de busqueda en otro archivo .cpp, como hago para iniciarlo desde mi main? Como tengo que armar el código del segundo .cpp para que pueda reconocerlo?
Bien, el problema de código es el siguiente
Yo estoy programando un simple programa de revision de asegurados,
En este el productor tiene la posibilidad de agregar, buscar, quitar, y modificar asegurados.
Ya la parte de buscar y agregar la tengo programada, el productor ingresa la patente
del vehiculo a asegurar y al hacerlo crea un .txt con la patente del asegurado, para
proximamente poner todos los datos de éste y asi guardarlo. Luego, cuando el productor intenta buscar, se le solicita la patente, que en realidad es el nombre del .txt previamente creado.
Hasta ahi genial, mi problema viene a la hora de programar la funcion de "modificar" que nombre como "informar" pero al caso es lo mismo.
La idea de modificarlo es crear un archivo temporal para despues eliminar el original y que el temporal pase a ser original.
El codigo no esta terminado, pero debería iniciar y poner en pantalla unos textos.
En lugar de eso me tira el siguiente error
[Linker error] undefined reference to `error()' ld returned 1 exit status
El codigo es largo, debido a que no se crear diferentes archivos y lograr entrelazarlos
Código:
#include <cstdlib>
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
/*String para letras y numeros, char x[y] para letras, y float para numeros */
using namespace std;
void agregar ();
void buscar () ;
void eliminar ();
void instrucciones();
void informar();
void error ();
void modificar();
int resp;
int main()
{
do{
int resp; /*Esta variante sirve para las repuestas de "Volver y Salir" */
int eleccion;
system("cls"); /*Esto es para que se borren las lineas anteriores*/
system("color 0F");/*Cambia el color de fondo/fuente */
cout <<"Bienvenido al sistema de verificacion de pagos"<<endl;
cout <<"Elija su operacion:"<<endl;
cout<<"1-Agregar Asegurado"<<endl;
cout<<"2-Buscar Asegurado"<<endl;
cout<<"3-Eliminar Asegurado"<<endl;
cout<<"4-Como usar el programa"<<endl;
cout<<"5-Modificar Asegurado"<<endl;
cout<<"Elija su opcion: "; cin>>eleccion;
getch();
if(eleccion==1){ agregar() ;while(resp==2);
}
else if (eleccion==2){ buscar() ;while(resp==2);
}
else if (eleccion==3){ eliminar(); while(resp==2);}
else if (eleccion==4){
instrucciones();while(resp==2);}
else if (eleccion==5){ informar();while(resp==2);}
else { error();while(resp==2);
}}
while(resp==2); }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//===========================================VOIDS===============================================================//
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void agregar() {
int resp;
system("cls");
string asegurado;
cout<<"PATENTE A AGREGAR: ";
cin >> asegurado;
ofstream entrada(asegurado.c_str(),ios::out); ;
if (entrada.fail())
{
cout << "El archivo no se creo correctamente" << endl;
}
else{
char nombre[20];
char apellido[20];
char compania[10];
char marca_vehiculo[30];
string modelo;
float ano;
string patente;
string carpeta;
string poliza;
string vigenciad;
string vigenciah;
string importe;
cout <<"ES IMPORTANTE COLOCAR BIEN LOS DATOS PARA NO CREAR MAL EL ARCHIVO DEL ASEGURADO" <<endl;
cout <<"NO COLOCAR ESPACIOS, COLOCAR GUIONES BAJOS '_'" <<endl ;
cout <<"Nombre :"; cin>>nombre ;
cout <<"Apellido :"; cin>>apellido ;
cout <<"Compania :"; cin>>compania ;
cout <<"Marca :"; cin>>marca_vehiculo ;
cout <<"Modelo :"; cin>>modelo ;
cout <<"Ano :"; cin>>ano ;
cout <<"Patente :"; cin>>patente ;
cout <<"Carpeta :"; cin>>carpeta ;
cout <<"Poliza :"; cin>>poliza ;
cout <<"Vigencia Desde :"; cin>>vigenciad;
cout <<"Vigencia Hasta :"; cin>>vigenciah;
cout <<"Importe: "; cin>>importe;
entrada<<nombre
<<" "
<<apellido
<<" "
<<endl
<<" "
<<compania
<<" "
<<endl
<<" "
<<marca_vehiculo
<<" "
<<endl
<<" ";
entrada
<<modelo
<<" "
<<endl
<<" "
<<ano
<<" "
<<endl
<<" "
<<patente
<<" "
<<endl
<<" "
<<carpeta
<<" "
<<endl
<<" "
<<poliza
<<" "
<<endl
<<" "
<<vigenciad
<<" "
<<vigenciah
<<" "
<<endl
<<" "
<<importe;
entrada.close();
cout<<"Los datos fueron almacenados correctamente"<<endl;
cout<<"--------------------------------------------------------"<<endl;
cout <<"1.Salir "<<endl;
cout <<"2.Volver "<<endl;
cout <<"Elija una opcion [1-2]";
cin>>resp;
} }void buscar () { ;
system("cls");
string asegurado;
ifstream salida ;
cout
<< "BUSQUE PATENTE: ";
cin>>asegurado ;
system ("cls");
salida.open(asegurado.c_str(),ios::in) ;
if (salida.fail()) {
cout<<"La patente ingresada es incorrecta o no existe" ;
getch();
}else{
char nombre [20];
char apellido [20];
char compania [10];
char marca_vehiculo [20];
char modelo [20];
int ano;
string patente;
string carpeta;
int poliza;
string vigenciad;
string vigenciah;
string importe;
salida>>nombre;
while(!salida.eof()){
salida
>>apellido
>>compania
>>marca_vehiculo
>>modelo
>>ano
>>patente
>>carpeta
>>poliza
>>vigenciad
>>vigenciah
>>importe;
cout <<"RESULTADO DE LA BUSQUEDA"<<endl;
cout <<"Nombre: "<<nombre<<endl;
cout <<"Apellido: "<<apellido<<endl;
cout <<"Compania: "<<compania<<endl;
cout <<"Marca Vehiculo: "<<marca_vehiculo<<endl;
cout <<"Modelo: "<<modelo<<endl;
cout <<"Ano: "<<ano<<endl;
cout <<"Patente: "<<patente<<endl;;
cout <<"Carpeta: "<<carpeta<<endl;
cout <<"Poliza: "<<poliza<<endl;
cout <<"Vigencia"<<vigenciad;
cout <<" "<<vigenciah<<endl;
cout <<"Monto: "<<importe<<endl;
cout<<"--------------------------------------------------------"<<endl;
cout <<"1.Salir "<<endl;
cout <<"2.Volver "<<endl;
cout <<"Elija una opcion [1-2]"; cin>>resp;
getch ();
}
}
}
void eliminar (){
system("cls");
cout<<"Esta sección esta en desarrollo!"<<endl;
cout<<"--------------------------------------------------------"<<endl;
cout <<"1.Salir "<<endl;
cout <<"2.Volver "<<endl;
cout <<"Elija una opcion [1-2]"; cin>>resp;
getch();
}
void instrucciones (){
system("cls");
cout<<"**Este programa se utiliza dandole ordenes a la pantalla**"<<endl;
cout<<"**esta te pedira datos constantemente**"<<endl;
cout<<"**Y va a esperar una respuesta del usuario**"<<endl;
cout<<"**NO SE PUEDEN USAR ESPACIOS. USAR GUIONES BAJOS**"<<endl;
cout<<"**Para buscar datos, el programa revisa los archivos previamente**"<<endl;
cout<<"**bautizados al colocar el dominio de los vehiculos**"<<endl;
cout<<"**En el caso de haber una respuesta nula, escribir ceros**"<<endl;
cout<<"--------------------------------------------------------"<<endl;
cout <<"1.Salir "<<endl;
cout <<"2.Volver "<<endl;
cout <<"Elija una opcion [1-2]"; cin>>resp;
getch();
}
void informar (){ system("cls");
ofstream aux;
ifstream lectura;
char nombre [20];
char apellido [20];
char compania [20];
string marca_vehiculo;
string modelo;
int ano;
string carpeta;
int poliza;
string vigenciad;
string vigenciah;
string importe;
bool encontrado=false;
int patente;
string asegurado;
aux.open("aux",ios::out);
cout<<"Ingrese la PATENTE de la poliza a modificar"; cin>>asegurado;
lectura.open (asegurado.c_str(),ios::in);
if (lectura.fail()){ cout<<"Fallo";}
else if (aux.is_open() && lectura.is_open()){
cout<<"nice";
Desde ya muchisimas gracias.