elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con error LINKER WARNING
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con error LINKER WARNING  (Leído 3,464 veces)
Renzo21

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Ayuda con error LINKER WARNING
« en: 6 Febrero 2014, 04:41 am »

Buenas Noches.

Realicé un programa, cuando voy a compilar me aparece que no tiene errores pero cuando lo voy a correr me aparece este error y no permite crear el .exe:
Linker Warning: No module definition file specified: using defaults.
Linker Error: Undefined symbol ModificarClientes() in module AEROLINE.CPP (este ultimo lo repite 15 veces, solo que con el resto de las 16 funciones que empiezan por Ingresar, Modificar, Consultar y Eliminar).

Aquí anexo el código
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <dos.h>
struct {
 char Marca[10];
 char Modelo[10];
 int Puestos;
 char Velocidad[10];
 char Matricula[7];
  } Aviones;
struct {
 int NumVuelo;
 char Matricula[7];
 char OriVuelo[3];
 char DesVuelo[3];
 char Fecha[8];
 } Rutas;
struct {
 long int CedCliente;
 char NomCliente[20];
 } Clientes;
struct {
 long int CedCliente;
 int NumVuelo;
 char Fecha[8];
 char Asiento[4];
 } Ventas;
struct date d;
struct  time t;
char sel;
char menuPrincipal();
char menuAviones2();
char menuRutas2();
char menuCientes2();
char menuVentas2();
int busquedaAviones(char MatriBus[7]);
int busquedaRutas(int NumVueloBus);
int busquedaClientes(long int Cedbus);
int busquedaVentas(long int Cedbus);
void menuAviones();
void menuRutas();
void menuClientes();
void menuVentas();
void incluirAviones();
void incluirRutas();
void incluirClientes();
void incluirVentas();
void consultarAviones();
void consultarRutas();
void consultarClientes();
void consultarVentas();
void modificarAviones();
void modificarRutas();
void modificarClientes();
void modificarVentas();
void eliminarAviones();
void eliminarRutas();
void eliminarClientes();
void eliminarVentas();
void Aeronave();
void ImprimirMatriz();
void CalcularPunto (char Asiento[4]);
void Presenta();
void main()
{
do
{
sel=menuPrincipal();
switch(sel)
 {
 case '1':{
       menuAviones();
       break;
       }
 case '2':{
       menuRutas();
       break;
       }
 case '3':{
       menuClientes();
       break;
       }
 case '4':{
       menuVentas();
       break;
       }
 }
} while (sel != '5');
}

char menuPrincipal()
{
 char y;
 clrscr();
 gotoxy(30,8);printf("*Nueva Aerolínea*");
 gotoxy(20,10);printf("1.- Aviones");
 gotoxy(20,12);printf("2.- Rutas");
 gotoxy(20,14);printf("3.- Clientes");
 gotoxy(20,16);printf("4.- Ventas");
 gotoxy(20,18);printf("5.- Salida");
 gotoxy(50,20);printf("Seleccion = ");
 scanf ("%c",&y);
 return (y);
}

void menuAviones()
{
char menuAviones2();
void IngresarAviones();
void ConsultarAviones();
void ModificarAviones();
void EliminarAviones();
char opc;
do
{
opc=menuAviones2();
switch(opc)
 {
 case '1':{
       IngresarAviones();
       break;
       }
 case '2':{
       ConsultarAviones();
       break;
       }
 case '3':{
       ModificarAviones();
       break;
       }
 case '4':{
       EliminarAviones();
       break;
       }
 }
} while (opc != '5');
}

char menuAviones2()
{
 char y;
 clrscr();
 gotoxy(30,8);printf("*Nueva Aerolínea*");
 gotoxy (30,9);printf ("Menu de Aviones");
 gotoxy(20,11);printf("1.- Incluir Avion en Flota");
 gotoxy(20,13);printf("2.- Consultar Flota");
 gotoxy(20,15);printf("3.- Modificar Flota");
 gotoxy(20,17);printf("4.- Eliminar Avion en Flota");
 gotoxy(20,18);printf("5.- Salida");
 gotoxy(50,20);printf("Seleccion = ");
 scanf ("%c",&y);
 return (y);
}

void menuRutas()
{
char menuRutas2();
void IngresarRutas();
void ConsultarRutas();
void ModificarRutas();
void EliminarRutas();
char opc;
do
{
opc=menuRutas2();
switch(opc)
 {
 case '1':{
       IngresarRutas();
       break;
       }
 case '2':{
       ConsultarRutas();
       break;
       }
 case '3':{
       ModificarRutas();
       break;
       }
 case '4':{
       EliminarRutas();
       break;
       }
 }
} while (opc != '5');
}

char menuRutas2()
{
 char y;
 clrscr();
 gotoxy(30,8);printf("*Nueva Aerolínea*");
 gotoxy (30,9);printf ("Menu de Rutas");
 gotoxy(20,11);printf("1.- Incluir Ruta");
 gotoxy(20,13);printf("2.- Consultar Ruta");
 gotoxy(20,15);printf("3.- Modificar Ruta");
 gotoxy(20,17);printf("4.- Eliminar Ruta");
 gotoxy(20,18);printf("5.- Salida");
 gotoxy(50,20);printf("Seleccion = ");
 scanf ("%c",&y);
 return (y);
}

void menuClientes()
{
char menuClientes2();
void IngresarClientes();
void ConsultarClientes();
void ModificarClientes();
void EliminarClientes();
char opc;
do
{
opc=menuClientes2();
switch(opc)
 {
 case '1':{
       IngresarClientes();
       break;
       }
 case '2':{
       ConsultarClientes();
       break;
       }
 case '3':{
       ModificarClientes();
       break;
       }
 case '4':{
       EliminarClientes();
       break;
       }
 }
} while (opc != '5');
}

char menuClientes2()
{
 char y;
 clrscr();
 gotoxy(30,8);printf("*Nueva Aerolínea*");
 gotoxy (30,9);printf ("Menu de Cliente");
 gotoxy(20,11);printf("1.- Registrar Cliente ");
 gotoxy(20,13);printf("2.- Consultar Cliente");
 gotoxy(20,15);printf("3.- Modificar Cliente");
 gotoxy(20,17);printf("4.- Eliminar Cliente");
 gotoxy(20,18);printf("5.- Salida");
 gotoxy(50,20);printf("Seleccion = ");
 scanf ("%c",&y);
 return (y);
}

void menuVentas()
{
char menuVentas2();
void Aeronave();
void IngresarVentas();
void ConsultarVentas();
void ModificarVentas();
void EliminarVentas();
char opc;
do
{
opc=menuVentas2();
switch(opc)
 {
 case '1':{
       Aeronave();
       break;
       }
 case '2':{
       IngresarVentas();
       break;
       }
 case '3':{
       ConsultarVentas();
       break;
       }
 case '4':{
       ModificarVentas();
       break;
       }
 case '5':{
       EliminarVentas();
       break;
       }
 }
} while (opc != '6');
}

char menuVentas2()
{
 char y;
 clrscr();
 gotoxy(30,8);printf("*Nueva Aerolínea*");
 gotoxy (30,9);printf ("Menu de Ventas");
 gotoxy(20,11);printf("1.- Disponibilidad");
 gotoxy(20,13);printf("2.- Ingresar Venta - Disponibilidad");
 gotoxy(20,15);printf("3.- Consultar Venta");
 gotoxy(20,17);printf("4.- Modificar Flota");
 gotoxy(20,19);printf("5.- Eliminar Avion en Flota");
 gotoxy(20,21);printf("6.- Salida");
 gotoxy(50,23);printf("Seleccion = ");
 scanf ("%c",&y);
 return (y);
}

int busquedaAviones(char MatriBus[7])
{
 int z,band=0;
  FILE *arch1;
  arch1=fopen("Aviones.dat","r");
  while ((band==0)&&(fread(&Aviones,sizeof(Aviones),1,arch1)==1))
  {
   if (strcmp(Aviones.Matricula,MatriBus)==0)
    {
     band=1;
    }
  }
  if (band==0)
    z = 0;
  else
    z = 1;
  fclose(arch1);
  return(z);
}

int busquedaRutas(int NumVueloBus)
{
 int z,band=0;
  FILE *arch2;
  arch2=fopen("Rutas.dat","r");
  while ((band==0)&&(fread(&Rutas,sizeof(Rutas),1,arch2)==1))
  {
   if (Rutas.NumVuelo==NumVueloBus)
    {
     band=1;
    }
  }
  if (band==0)
    z = 0;
  else
    z = 1;
  fclose(arch2);
  return(z);
}
int busquedaClientes(long int Cedbus)
{
 int z,band=0;
  FILE *arch3;
  arch3=fopen("Clientes.dat","r");
  while ((band==0)&&(fread(&Clientes,sizeof(Clientes),1,arch3)==1))
  {
   if (Clientes.CedCliente==Cedbus)
    {
     band=1;
    }
  }
  if (band==0)
    z = 0;
  else
    z = 1;
  fclose(arch3);
  return(z);
}

int busquedaVentas(long int Cedbus)
{
 int z,band=0;
  FILE *arch4;
  arch4=fopen("Ventas.dat","r");
  while ((band==0)&&(fread(&Ventas,sizeof(Ventas),1,arch4)==1))
  {
   if (Ventas.CedCliente==Cedbus)
    {
     band=1;
    }
  }
  if (band==0)
    z = 0;
  else
    z = 1;
  fclose(arch4);
  return(z);
}

void incluirAviones()
{
char MatriBus[7];
int m;
clrscr();
printf("Ingrese la matricula del avion= ");
scanf("%s",&MatriBus);
m=busquedaAviones(MatriBus);
if (m==0)
 {
  strcpy(Aviones.Matricula,MatriBus);
  printf("Ingrese la marca del avion= ");
  scanf("%s",&Aviones.Marca);
  printf("Ingrese el modelo del avion= ");
  scanf("%s",&Aviones.Modelo);
  printf("Ingrese la cantidad de puestos que posee el avion= ");
  scanf("%d",&Aviones.Puestos);
  printf("Ingrese la velocidad de crucero del avion= ");
  scanf("%s",&Aviones.Velocidad);
FILE *arch1;
arch1=fopen("Aviones.dat","at+");
fwrite(&Aviones,sizeof(Aviones),1,arch1);
fclose(arch1);
printf("\n Avion Registrado");
 }
else
 {
  printf("\n Avión ya registrado");
  }
getch();
}

void incluirRutas()
{
int NumVueloBus;
int m;
clrscr();
printf("Ingrese el número de vuelo= ");
scanf("%d",&NumVueloBus);
m=busquedaRutas(NumVueloBus);
if (m==0)
 {
  printf("Ingrese la matricula que realiza la ruta= ");
  scanf("%s",&Rutas.Matricula);
  printf("Ingrese el origen del vuelo= ");
  scanf("%s",&Rutas.OriVuelo);
  printf("Ingrese el destino del vuelo= ");
  scanf("%d",&Rutas.DesVuelo);
  printf("Ingrese la fecha del vuelo= ");
  scanf("%s",&Rutas.Fecha);
FILE *arch2;
arch2=fopen("Rutas.dat","at+");
fwrite(&Rutas,sizeof(Rutas),1,arch2);
fclose(arch2);
printf("\n Ruta Registrada");
 }
else
 {
  printf("\n Ruta ya registrada");
  }
getch();
}

void incluirClientes()
{
long int Cedbus;
int m;
clrscr();
printf("Ingrese la cedula del Cliente= ");
scanf("%ld",&Cedbus);
m=busquedaClientes(Cedbus);
if (m==0)
 {
  printf("Ingrese el nombre del cliente= ");
  gets(Clientes.NomCliente);
FILE *arch3;
arch3=fopen("Clientes.dat","at+");
fwrite(&Clientes,sizeof(Clientes),1,arch3);
fclose(arch3);
printf("\n Cliente Registrado");
 }
else
 {
  printf("\n Cliente ya registrado");
  }
getch();
}

void incluirVentas()
{
long int Cedbus;
int m;
clrscr();
printf("Ingrese la cedula del Cliente= ");
scanf("%ld",&Cedbus);
m=busquedaVentas(Cedbus);
if (m==0)
 {
  printf("Ingrese el numero del vuelo a realizar= ");
  scanf("%d",Ventas.NumVuelo);
  printf("Ingrese la fecha del vuelo a realizar= ");
  scanf("%s",Ventas.Fecha);
  printf("Ingrese el asiento al cliente= ");
  scanf("%s",Ventas.Asiento);
FILE *arch4;
arch4=fopen("Ventas.dat","at+");
fwrite(&Ventas,sizeof(Ventas),1,arch4);
fclose(arch4);
printf("\n Venta Registrada");
 }
else
 {
  printf("\n Venta no registrada");
  }
getch();
}

void consultarAviones()
{
char MatriBus[7];
int m;
clrscr();
printf("Ingrese la matricula del avion= ");
scanf("%s",&MatriBus);
m=busquedaAviones(MatriBus);
 if (m == 1)
  {
   printf("Marca del avion= %s  \n",Aviones.Marca);
   printf("Modelo del avion= %s  \n",Aviones.Modelo);
   printf("Puestos del avion= %d \n",Aviones.Puestos);
   printf("Velocidad del avion= %s  \n",Aviones.Velocidad);
  }
  else
  {
     printf("\n Matricula no registrada");
  }
  getch();

}

void consultarRutas()
{
int NumVueloBus;
int m;
clrscr();
printf("Ingrese el número de vuelo= ");
scanf("%d",&NumVueloBus);
m=busquedaRutas(NumVueloBus);
 if (m == 1)
  {
   printf("Matricula del avion= %s  \n",Rutas.Matricula);
   printf("Origen del vuelo= %s  \n",Rutas.OriVuelo);
   printf("Destino del vuelo= %s \n",Rutas.DesVuelo);
   printf("Fecha del vuelo= %s  \n",Rutas.Fecha);
  }
  else
  {
     printf("\n Vuelo no registrado");
  }
  getch();

}

void consultarClientes()
{
long int Cedbus;
int m;
clrscr();
printf("Ingrese la cedula del Cliente= ");
scanf("%ld",&Cedbus);
m=busquedaClientes(Cedbus);
 if (m == 1)
  {
  printf("Nombre del cliente= %s  \n",Clientes.NomCliente);
  }
  else
  {
     printf("\n Cliente no registrado");
  }
  getch();

}

void consultarVentas()
{
long int Cedbus;
int m;
clrscr();
printf("Ingrese la cedula del Cliente= ");
scanf("%ld",&Cedbus);
m=busquedaVentas(Cedbus);
if (m == 1)
  {
   printf("Numero de vuelo= %d  \n",Ventas.NumVuelo);
   printf("Fecha del vuelo= %s  \n",Ventas.Fecha);
   printf("Asiento= %s \n",Ventas.Asiento);
  }
  else
  {
     printf("\n Vuelo no registrado");
  }
  getch();
}

void modificarAviones()
{
char MatriBus[7];
int m;
clrscr();
printf("Ingrese la matricula del avion= ");
scanf("%s",&MatriBus);
m=busquedaAviones(MatriBus);
if (m==1)
 {
 FILE *arch1;
 arch1=fopen("Aviones.dat","r");
 FILE *arch5;
arch5=fopen("TempAviones.dat","at+");
while((fread(&Aviones,sizeof(Aviones),1,arch1)==1))
{
  if (strcmp(Aviones.Matricula,MatriBus)==0)
  {
  printf("Ingrese la marca del avion= ");
  scanf("%s",&Aviones.Marca);
  printf("Ingrese el modelo del avion= ");
  scanf("%s",&Aviones.Modelo);
  printf("Ingrese la cantidad de puestos que posee el avion= ");
  scanf("%d",&Aviones.Puestos);
  printf("Ingrese la velocidad de crucero del avion= ");
  scanf("%s",&Aviones.Velocidad);
  }
 fwrite(&Aviones,sizeof(Aviones),1,arch5);
}
fclose(arch1);
fclose(arch5);
remove("Aviones.dat");
rename("TempAviones.dat","Aviones.dat");
printf("\n Registro de Aviones modificado");
}
else
 {
 printf("\n Matricula no registrada");
 }
getch();
}

void modificarRutas()
{
int NumVueloBus;
int m;
clrscr();
printf("Ingrese el número de vuelo= ");
scanf("%d",&NumVueloBus);
m=busquedaRutas(NumVueloBus);
if (m==1)
 {
 FILE *arch2;
 arch2=fopen("Rutas.dat","r");
 FILE *arch6;
 arch6=fopen("TempRutas.dat","at+");
 while((fread(&Rutas,sizeof(Rutas),1,arch2)==1))
  {
  if (Rutas.NumVuelo==NumVueloBus)
  {
  printf("Ingrese la matricula que realiza la ruta= ");
  scanf("%s",&Rutas.Matricula);
  printf("Ingrese el origen del vuelo= ");
  scanf("%s",&Rutas.OriVuelo);
  printf("Ingrese el destino del vuelo= ");
  scanf("%d",&Rutas.DesVuelo);
  printf("Ingrese la fecha del vuelo= ");
  scanf("%s",&Rutas.Fecha);
  fwrite(&Rutas,sizeof(Rutas),1,arch6);
  }
fclose(arch2);
fclose(arch6);
remove("Rutas.dat");
rename("TempRutas.dat","Rutas.dat");
printf("\n Registro de Rutas modificado");
 }
 }
else
 {
 printf("\n Vuelo no registrado");
 }
getch();
}

void modificarClientes()
{
long int Cedbus;
int m;
clrscr();
printf("Ingrese la cedula del Cliente= ");
scanf("%ld",&Cedbus);
m=busquedaClientes(Cedbus);
if (m==1)
 {
 FILE *arch3;
 arch3=fopen("Clientes.dat","r");
 FILE *arch7;
 arch7=fopen("TempClientes.dat","at+");
 while((fread(&Clientes,sizeof(Clientes),1,arch3)==1))
  {
  if (Clientes.CedCliente==Cedbus)
  {
  printf("Ingrese el nombre del cliente= ");
  gets(Clientes.NomCliente);
 fwrite(&Rutas,sizeof(Rutas),1,arch7);
 }
fclose(arch3);
fclose(arch7);
remove("Clientes.dat");
rename("TempClientes.dat","Clientes.dat");
printf("\n Registro de Clientes modificado");
 }
}
else
 {
 printf("\n Cliente no registrado");
 }
getch();
}

void modificarVentas()
{
long int Cedbus;
int m;
clrscr();
printf("Ingrese la cedula del Cliente= ");
scanf("%ld",&Cedbus);
m=busquedaVentas(Cedbus);
if (m==1)
 {
 FILE *arch4;
 arch4=fopen("Ventas.dat","r");
 FILE *arch8;
 arch8=fopen("TempVentas.dat","at+");
 while((fread(&Ventas,sizeof(Ventas),1,arch4)==1))
  {
  if (Ventas.CedCliente==Cedbus)
  {
  printf("Ingrese el numero del vuelo a realizar= ");
  scanf("%d",Ventas.NumVuelo);
  printf("Ingrese la fecha del vuelo a realizar= ");
  scanf("%s",Ventas.Fecha);
  printf("Ingrese el asiento al cliente= ");
  scanf("%s",Ventas.Asiento);
 fwrite(&Ventas,sizeof(Ventas),1,arch8);
 }
fclose(arch4);
fclose(arch8);
remove("Ventas.dat");
rename("TempVentas.dat","Ventas.dat");
printf("\n Registro de Ventas modificado");
 }
}
else
 {
 printf("\n Venta no registrada");
 }
getch();
}
void eliminarAviones()
{
char MatriBus[7];
int m;
clrscr();
printf("Ingrese la matricula del avion= ");
scanf("%s",&MatriBus);
m=busquedaAviones(MatriBus);
if (m==1)
 {
 FILE *arch1;
 arch1=fopen("Aviones.dat","r");
 FILE *arch5;
 arch5=fopen("TempAviones.dat","at+");
while ((fread(&Aviones,sizeof(Aviones),1,arch1)==1))
   {
     if (strcmp(Aviones.Matricula,MatriBus)!=0)
     {
    fwrite(&Aviones,sizeof(Aviones),1,arch5);
     }
   }
  fclose(arch1);
  fclose(arch5);
  remove("Aviones.dat");
  rename("TempAviones.dat","Aviones.dat");
  printf("\n Registro Eliminado");
  }
  else
  {
     printf("\n Matricula No Encontrada");
  }

  getch();

}

void eliminarRutas()
{
int NumVueloBus;
int m;
clrscr();
printf("Ingrese el número de vuelo= ");
scanf("%d",&NumVueloBus);
m=busquedaRutas(NumVueloBus);
if (m==1)
 {
 FILE *arch2;
 arch2=fopen("Rutas.dat","r");
 FILE *arch6;
 arch6=fopen("TempRutas.dat","at+");
while ((fread(&Rutas,sizeof(Rutas),1,arch2)==1))
   {
     if (Rutas.NumVuelo != NumVueloBus)
     {
    fwrite(&Rutas,sizeof(Rutas),1,arch6);
     }
   }
  fclose(arch2);
  fclose(arch6);
  remove("Rutas.dat");
  rename("TempRutas.dat","Rutas.dat");
  printf("\n Registro Eliminado");
  }
  else
  {
     printf("\n Ruta no Encontrada");
  }

  getch();

}

void eliminarClientes()
{
long int Cedbus;
int m;
clrscr();
printf("Ingrese la cedula del Cliente= ");
scanf("%ld",&Cedbus);
m=busquedaClientes(Cedbus);
if (m==1)
 {
 FILE *arch3;
 arch3=fopen("Clientes.dat","r");
 FILE *arch7;
 arch7=fopen("TempClientes.dat","at+");
while ((fread(&Clientes,sizeof(Clientes),1,arch3)==1))
   {
     if (Clientes.CedCliente != Cedbus)
     {
    fwrite(&Clientes,sizeof(Clientes),1,arch7);
     }
   }
  fclose(arch3);
  fclose(arch7);
  remove("Clientes.dat");
  rename("TempClientes.dat","Clientes.dat");
  printf("\n Registro Eliminado");
  }
  else
  {
     printf("\n Cliente no registrado");
  }

  getch();
}

void eliminarVentas()
{
long int Cedbus;
int m;
clrscr();
printf("Ingrese la cedula del Cliente= ");
scanf("%ld",&Cedbus);
m=busquedaVentas(Cedbus);
if (m==1)
 {
 FILE *arch4;
 arch4=fopen("Ventas.dat","r");
 FILE *arch8;
 arch8=fopen("TempVentas.dat","at+");
while ((fread(&Ventas,sizeof(Ventas),1,arch4)==1))
   {
     if (Ventas.CedCliente != Cedbus)
     {
    fwrite(&Ventas,sizeof(Ventas),1,arch8);
     }
   }
  fclose(arch4);
  fclose(arch8);
  remove("Ventas.dat");
  rename("TempVentas.dat","Ventas.dat");
  printf("\n Registro Eliminado");
  }
  else
  {
     printf("\n Venta no registrada");
  }
  getch();
}
void Aeronave()
{
void ImprimirMatriz(char P[4][18],int posy, int posx);
int i,j,NumVueloBus;
char P[4][18];
char FechaBus[8];
for (i=40;i<=50;i++)
 {
 gotoxy(i,1);printf ("_");
 }
for (j=2;j<=9;j++)
 {
 gotoxy(40,j);printf ("|");
 }
for (j=2;j<=9;j++)
 {
 gotoxy(50,j);printf ("|");
 }
for (i=25;i<=40;i++)
 {
 gotoxy(i,9);printf ("_");
 }
for (i=50;i<=65;i++)
 {
 gotoxy(i,9);printf ("_");
 }
for (j=10;j<=14;j++)
 {
 gotoxy(25,j);printf ("|");
 }
for (j=10;j<=14;j++)
 {
 gotoxy(65,j);printf ("|");
 }
for (i=25;i<=40;i++)
 {
 gotoxy(i,14);printf ("_");
 }
for (i=50;i<=65;i++)
 {
 gotoxy(i,14);printf ("_");
 }
for (j=15;j<24;j++)
 {
 gotoxy(40,j);printf ("|");
 }
for (j=15;j<24;j++)
 {
 gotoxy(50,j);printf ("|");
 }
for (i=40;i<=50;i++)
 {
 gotoxy(i,23);printf ("_");
 }
gotoxy(2,20);printf ("Disponibilidad");
gotoxy(2,21);printf ("Fecha de Vuelo=");
scanf ("%s",&FechaBus);
gotoxy(2,22);printf ("Numero de Vuelo=");
scanf ("%d",&NumVueloBus);
FILE *arch4;
arch4=fopen("Ventas.dat","r");
while ((fread(&Ventas,sizeof(Ventas),1,arch4)==1))
{
  if (Ventas.NumVuelo==NumVueloBus && strcmp(Ventas.Fecha,FechaBus)==0)
  {
  void CalcularPunto(char Asiento[4]);
  }
}
fclose(arch4);
ImprimirMatriz(P,4,18);
getch();
}

void ImprimirMatriz(char P[4][18],int posy, int posx)
{
int i, j, y, x;
x=posx;
y=posy;
for(i=0; i<=4; i++)
 {
 for(j=0; j<=18; j++)
  {
  gotoxy(x,y);printf ("{%d} ",P[j]);
  x=x+1;
  }
 x=posx;
 y=y+1;
 }
}

void CalcularPunto (char Asiento[4])
{
int fil, col;
char as[4],P[18][4];
as[0]=Asiento[0];
as[1]=Asiento[1];
fil=(int)(as);
switch (Asiento[3])
 {
 case 'a':col=0;break;
 case 'b':col=1;break;
 case 'c':col=2;break;
 case 'd':col=3;break;
 }
P[fil][col]='x';
getch();
}

void Presenta()
{
clrscr();
getdate(&d);
gettime(&t);
gotoxy(1,1);printf ("Integrantes:");
gotoxy(1,2);printf ("*Guerra Genesis");
gotoxy(1,3);printf ("*Martinez Borja");
gotoxy(1,4);printf ("Rattazzi Renzo");
gotoxy(1,5);printf ("Salazar Irmar");
gotoxy(60,1);printf("Fecha :%d/%d/%d",d.da_day,d.da_mon,d.da_year);
gotoxy(60,2);printf("Hora : %2d:%02d:%02d\n",t.ti_hour, t.ti_min, t.ti_sec);
getch();
}

Gracias por la ayuda, es para un proyecto de la universidad y solo me resta ese error.


« Última modificación: 6 Febrero 2014, 04:45 am por Renzo21 » En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Ayuda con error LINKER WARNING
« Respuesta #1 en: 6 Febrero 2014, 05:17 am »

eso no es posible si a la hora de compilar todo va bien entonces el programa ha sido creado existosamente.
luego en tiempo de ejecucion no te puede dar un error de tiempo de diseño. de todos modos te esta diciendo claro que
en el archivo AEROLINE.CPP no encuentra el simbolo "ModificarClientes" el cual es la definicion de una funcion. definela


En línea

Renzo21

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ayuda con error LINKER WARNING
« Respuesta #2 en: 6 Febrero 2014, 05:22 am »

Pero ya en el programa están definidas, por ejemplo:

void modificarRutas()
{
int NumVueloBus;
int m;
clrscr();
printf("Ingrese el número de vuelo= ");
scanf("%d",&NumVueloBus);
m=busquedaRutas(NumVueloBus);
if (m==1)
 {
 FILE *arch2;
 arch2=fopen("Rutas.dat","r");
 FILE *arch6;
 arch6=fopen("TempRutas.dat","at+");
 while((fread(&Rutas,sizeof(Rutas),1,arch2)==1))
  {
  if (Rutas.NumVuelo==NumVueloBus)
  {
  printf("Ingrese la matricula que realiza la ruta= ");
  scanf("%s",&Rutas.Matricula);
  printf("Ingrese el origen del vuelo= ");
  scanf("%s",&Rutas.OriVuelo);
  printf("Ingrese el destino del vuelo= ");
  scanf("%d",&Rutas.DesVuelo);
  printf("Ingrese la fecha del vuelo= ");
  scanf("%s",&Rutas.Fecha);
  fwrite(&Rutas,sizeof(Rutas),1,arch6);
  }
fclose(arch2);
fclose(arch6);
remove("Rutas.dat");
rename("TempRutas.dat","Rutas.dat");
printf("\n Registro de Rutas modificado");
 }

Todas las funciones a utilizar están ya definidas en el programa, todas las que me aparecen el mensaje de error, están definidas.
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Ayuda con error LINKER WARNING
« Respuesta #3 en: 6 Febrero 2014, 05:36 am »

Revisa bien tu código, el error del linker es claro: simbolo no definido
yo no sé si tenes multiples cpp's, que sé yo.. muchas cosas a tomar en cuenta
En línea

nolasco281


Desconectado Desconectado

Mensajes: 319


Ver Perfil
Re: Ayuda con error LINKER WARNING
« Respuesta #4 en: 6 Febrero 2014, 07:36 am »

primero que nada creaste un proyecto donde a donde exportastes tus archivos o segundo asegurate que llames a las clase en el lugar donde las nesecitas saludos.

Código
  1. #include <dos.h>

segun lei por ahi esto ya esta opsoleto


y si no aca puedes encontrar una mejor declaracion tema y de por que te puede suceder ese error saludos.

http://foro.elhacker.net/programacion_cc/problema_dev_c_linker_error_undefined_reference_to-t279347.0.html
« Última modificación: 6 Febrero 2014, 09:31 am por nolasco281 » En línea

Lo que se puede imaginar... se puede programar.
Renzo21

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ayuda con error LINKER WARNING
« Respuesta #5 en: 6 Febrero 2014, 15:23 pm »

Listo pana! Muchisimas gracias. Ya corrió bien!
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Ayuda con error LINKER WARNING
« Respuesta #6 en: 6 Febrero 2014, 15:56 pm »

Realicé un programa, cuando voy a compilar me aparece que no tiene errores pero cuando lo voy a correr me aparece este error y no permite crear el .exe:
Linker Warning: No module definition file specified: using defaults.
Linker Error: Undefined symbol ModificarClientes() in module AEROLINE.CPP (este ultimo lo repite 15 veces, solo que con el resto de las 16 funciones que empiezan por Ingresar, Modificar, Consultar y Eliminar).
Sin animo de ofender pero deberías conseguir un buen libro sobre C++ y rescribir el programa desde cero ya que tiene bastantes problemas.

El primero lo indica el vinculador: la extensión "cpp" sugiere que el lenguaje es C++ pero de este tiene nada, es C.

Otro es el uso de extensiones como <dos.h> y <conio.h>, si apenas empiezas con C++ no deberías utilizarlas, las razones de ello se dan en el tema |Lo que no hay que hacer en C/C++. Nivel basico|.

Por ultimo el error que mencionas ya lo insinúa el mensaje generado: "Undefined symbol ModificarClientes()". Si revisamos tu programa por alguna razón duplicas los prototipos de las funciones:
Código
  1. // ...
  2.  
  3. void modificarClientes();
  4.  
  5. // ...
  6.  
  7. void menuClientes()
  8. {
  9.   char menuClientes2();
  10.   void IngresarClientes();
  11.   void ConsultarClientes();
  12.   void ModificarClientes(); // modificarClientes != ModificarClientes

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Yoel Alejandro

Desconectado Desconectado

Mensajes: 254



Ver Perfil WWW
Re: Ayuda con error LINKER WARNING
« Respuesta #7 en: 7 Febrero 2014, 02:11 am »

Pues la razón es más que clara, te equivocaste con las mayúsculas/minúsculas al escribir la función en uno y en otro sitio. Recuerda que C es sensible a mayúsculas y minúsculas.

La función que declaraste es [/tt]modificarClientes()[/tt], pero luego mencionas una ModificarClientes() (con 'M' en lugar de 'm') que no ha sido definida. De ahí el error.

¿Te has preguntado por qué no falla al compilar pero sí al enlazar? Te explico un poco como funciona C. El proceso de generar un ejecutable se divide en compilado y enlazado (linkado). Cuando encuentra una llamada a una función que no está definida es ese mismo archivo fuente, pero supone que está en otro, simplemente queda indicada una "referencia por resolver", y no pasa nada. Es decir, deja como "huecos" en el programa. Por eso el compilador no genera error.

Luego, el enlazador debe encontrar todas las referencias sin resolver y resolverlas; es decir, hallar los códigos fuente de las funciones pendientes por definir en el programa principal. Si no los consigue, entoces se produce un error de linkado y no se genera un ejecutable. Fue lo que ocurrió al buscar la definición de la función ModificarClientes() y no encontrarla ...
En línea

Saludos, Yoel.
P.D..-   Para mayores dudas, puedes enviarme un mensaje personal (M.P.)
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines