Logo

¡Bienvenido a Stratos!

Acceder

Foros



Chorrada Estructuras De Datos

Iniciado por nsL, 30 de Junio de 2004, 07:20:41 PM

« anterior - próximo »

nsL

 Jelou
Me decidi meter con el lenguaje C hace unos dias y ya estoy haciendo algun programita para ir practicando, y decidi hacer uno, que tomando 2 fechas te calcule la distancia temporal (dias meses años) entre ambas (muy tipiko pa ir empezando ;)).
y ya lo tengo hecho, pero me da un error al pasar por referencia una estructura de datos, no se si es por que no entendi bien lo de los punteros o ke, os pongo el codigo y el error q me devuelve:

#include "stdio.h"
#include "stdlib.h"

typedef struct Datos{
   int Anio,Mes,Dia;
}tDatos;

tDatos Actual,Dest,Resul;

void Conversor( tDatos AnioAct,tDatos AnioDest,tDatos *Resultado)
{
   *Resultado.Anio = AnioDest.Anio - AnioAct.Anio;
   *Resultado.Mes = abs(AnioDest.Mes - AnioAct.Mes);
   *Resultado.Dia = abs(AnioDest.Dia - AnioAct.Dia);
}

void main () {

   printf("Escribe la fecha actual (Dia Mes Año): ");
   scanf("%d %d %d",&Actual.Dia,&Actual.Mes,&Actual.Anio);
   printf("/nEscribe la fecha futura (Dia Mes Año): ");
   scanf("%d %d %d",&Dest.Dia,&Dest.Mes,&Dest.Anio);
   Conversor(Actual,Dest, &Resul);
   printf("/n/nLa distancia temporal entre ambas fechas es de:");
   printf("%d Días %d Meses %d Años",Resul.Dia,Resul.Mes,Resul.Anio);
}

Errores:

C:\Omar\programacion\anios.cpp(12) : error C2228: left of '.Anio' must have class/struct/union type
C:\Omar\programacion\anios.cpp(13) : error C2228: left of '.Mes' must have class/struct/union type
C:\Omar\programacion\anios.cpp(14) : error C2228: left of '.Dia' must have class/struct/union type

estoy bajo VC++ 6.0 (aunq no creo q importe), aver si me decis en que falla, q ya mire por manuales y no se donde puede estar el fallo :(
thx de antemano
Yo no muero hasta la muerte -

BeRSeRKeR

 En vez de con esto:

void Conversor( tDatos AnioAct,tDatos AnioDest,tDatos *Resultado)
{
*Resultado.Anio = AnioDest.Anio - AnioAct.Anio;
*Resultado.Mes = abs(AnioDest.Mes - AnioAct.Mes);
*Resultado.Dia = abs(AnioDest.Dia - AnioAct.Dia);
}


prueba con esto:

void Conversor( tDatos AnioAct,tDatos AnioDest,tDatos *Resultado)
{
Resultado->Anio = AnioDest.Anio - AnioAct.Anio;
Resultado->Mes = abs(AnioDest.Mes - AnioAct.Mes);
Resultado->Dia = abs(AnioDest.Dia - AnioAct.Dia);
}


Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

nsL

 aps, ya va :D
muchas gracias (vaya rapidez en responder)
encima ya me di cuenta que tenia que haber puesto \n y no /n  :)  
Yo no muero hasta la muerte -






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.
Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.