C/Visual C - Ayuda en C

 
Vista:

Ayuda en C

Publicado por Andres Arboleda (1 intervención) el 11/10/2006 01:47:59
Se que para crear variables de tipo entero y caracter se usa int y char respectivamente pero si lo que quiero es crear una variable que mecapture una fecha como la defino. Por ultimo si me piden consultar la persona nacida en un determinado año como lo haria. Gracias. Claro est{a en lenguaje c, trabajo con el turbo C
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Ayuda en C

Publicado por chuidiang (73 intervenciones) el 11/10/2006 06:49:30
Hola:

Si la fecha/hora te la da el ordenador con alguna función estilo time(), lo normal es que sea un entero que corresponde al número de segundos que han pasado desde el 1 de Enero de 1970 a la fecha en cuestión.

Si es para pedírsela al usuario desde teclado, puedes hacer dos cosas.

Pedir una cadena de caracteres char * (o String si tu compilador la tiene) y luego dedicarte a "separar" con alguna funcion con strtok() buscando las barras (o el separador que uses) y obtener dia, mes y año. Por ejemplo, si el usuario introduce "27/12/2003", con strtok() y separando con la /, obtienes dia "27", mes "12" y año "2003". Una vez hecho esto, la función atoi() o similar te permite convertir "27" (char *) en 27 (int).

Otra opción más simple es que al usuario le pidas el dia, el mes y el año por separado, así podrías leerlos directamente como int (siempre que no le de por escribir letras).

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Ayuda en C

Publicado por Carlos (34 intervenciones) el 11/10/2006 17:08:29
Podrías utilizar una cadena de caracteres. De esa forma podrías almacenar tanto texto, como números. Lo harías así

char fecha[100];
printf("Ingrese la fecha: ");
gets(fecha);

Y asunto solucionado. Si lo que deseas son sólo númerosla opción que te dio chuidiang es la mejor aunque para que te quede más ordenado podrías utilizar una estructura de la siguiente forma

struct fecha
{
int año;
int mes;
int día;
}fec;

printf("Ingrese el año: ");
scanf("%i",&fec.año);
printf("Ingrese el mes: ");
scanf("%i",&fec.mes);
printf("Ingrese el dia: ");
scanf("%i",&fec.dia);

Ahora bien, para lo de saber si tal persona nació en un determinado año existen muchas maneras de hacerlo. Se supone que ya anteriormente has capturado la información o la tenías almacenda en memoria. Probablemente la almacenarás en un vector o un matriz. Se me ocurre por ejemplo que barras este arreglo, preguntando posición por posición si corresponde al año que deseas

Ej:

Necesitas saber quien nació en 1945

for (a=1;a<=10;a++)//suponiendo que hay 10 personas
{
if (b[a]==1945)//suponiendo que en el vector b están los años correspondientes
{
printf("%i nacio en el año 1945\n",a);
}
}

Y asunto solucionado

Suerte!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar