• Lunes 29 de Abril de 2024, 08:24

Autor Tema:  problemas con archivos en c++  (Leído 1264 veces)

nekiumi

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
problemas con archivos en c++
« en: Martes 9 de Junio de 2009, 12:34 »
0
hola
estoy haciendo un programa de c++ builder 6,el cual me han pedido buscar que no se repita la programación de una sala en un mismo día,es decir en una misma fecha
por ejemplo
fecha:13/5/2009
sala:3
//otra fecha
fecha:13/5/2009
sala:3
como es la misma sala pero en el mismo dia
se repite lo que me piden
fecha:
y sala de nuevo
pero no hay problema si se repite solo la fecha pero si la fecha y la sala juntas
no me sale porque cuando trato de buscar la fehca y la sala para ver ke no se repitan me dice que no puedo compara valores enteros
mi codigo es algo asi

int Busca_de_Fecha(int *cdia,int *cmes,int *canio)

{
FILE *pF;
TProgramacion P;
int Esta,pos;

if( (pF=fopen("Programacion.dat","r+b"))==NU... )
{ printf("No se pudo abrir el archivo de Programacion.dat ");
getch();
return -1;
}
else
{
Esta=0;
while( (!Esta) && (fread(&P,sizeof(TProgramacion),1,pF)>0)...
if((P.Dia,P.Mes,P.Anio)==(cdia,cmes,cani... esta mal ,porque son enteros
Esta=1;

if(Esta)
pos= (ftell(pF)/sizeof(TProgramacion))-1;
else
pos=-1;
fclose(pF);
return(pos);
}
}
alguna ayuda pliss

alfaman

  • Miembro activo
  • **
  • Mensajes: 32
  • Nacionalidad: mx
    • Ver Perfil
    • http://www.as-comitan.com
Re: problemas con archivos en c++
« Respuesta #1 en: Jueves 23 de Julio de 2009, 00:56 »
0
Hola si entendi bien cre que te estas complicando las cosas, si nada mas estas comparando dos cosas, peus create nada mas 2 variables donde una sea para las salas y la otra para las fechas y simplemente crea una variable mas para los resultados y nada mas hasles una conidcion de que no pueden coinsidir en la misma fecha y listo.
Ahora con el problema que te dice sobre que no puedes comparar dos variables de tipo entero, aplicales una mascara de string y con eso te las deve jalar en el momento de hacer la comparacion, para plicar la mascara sonlo pon lo siguiente
Código: C++
  1.  
  2.  
  3. int a,b;
  4. String res;
  5. res=(String)a+(String)b; //Al hacer esto pones una mascara la cual considera a la variable entera como cadena, solo en la linea donde las aplicas.
  6.  
  7.  
  8.  
  9.  

Saludos.