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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  {RESUELTO}Como saco el dia?,Codeblocks
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: {RESUELTO}Como saco el dia?,Codeblocks  (Leído 5,274 veces)
SonaArtica

Desconectado Desconectado

Mensajes: 53


Estudiando...♥


Ver Perfil WWW
{RESUELTO}Como saco el dia?,Codeblocks
« en: 27 Agosto 2012, 08:39 am »

Le hice una segunda modificacion al codigo y me quede en que nose cmo hacer para que me quede   el dia :(
Código
  1. #include <stdio.h>
  2. #include <math.h>
  3. int main(){
  4.        int mes,fecha,dia,año;
  5.        printf("Ingrese una fecha en el sig formato dd/mm/aa sin los / \n");
  6.        fflush(stdin);
  7.        scanf(" %d",&fecha);
  8.        año=(fecha%100);
  9.        dia=(fecha/10);
  10.        mes=(fecha/100)%100;
  11.        printf("El año  es %d",año);
  12.        printf("El dia es %d",dia);
  13.        printf("El mes es %d",mes);
  14.  
  15.  
  16.  
  17. return 0;
  18. }


Gracias por la ayuda  y Saludos   :-X


« Última modificación: 27 Agosto 2012, 18:26 pm por SonaArtica » En línea

<z
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Como saco el dia?,Codeblocks
« Respuesta #1 en: 27 Agosto 2012, 09:10 am »

¿Te sirve?.

Código
  1.  
  2. #include <stdio.h>
  3. #include <math.h>
  4. int main()
  5. {
  6.    int dia, mes, ano;
  7.    char div = '\0';
  8.    printf("Ingrese una fecha en el sig formato dd/mm/aaaa (ejemplo: 21/01/1989)\n");
  9.    scanf("%d%c%d%c%d",&dia, &div, &mes, &div, &ano);
  10.    fflush(stdin);
  11.    printf("El año es %d\n",ano);
  12.    printf("El dia es %d\n",dia);
  13.    printf("El mes es %d\n",mes);
  14.    getchar();
  15.    return 0;
  16. }
  17.  
  18.  

o tambien así como es lo que tu quieres...

Código
  1.  
  2. #include <stdio.h>
  3. #include <math.h>
  4. int main(){
  5.    int mes,fecha,dia, ano;
  6.    printf("Ingrese una fecha en el sig formato dd/mm/aa sin los / \n");
  7.    scanf(" %d",&fecha);
  8.    fflush(stdin);
  9.    dia = (fecha / 10000);
  10.    mes = (fecha - (dia * 10000)) / 100;
  11.    ano = fecha - (dia * 10000) - (mes * 100);
  12.    printf("El año es %d\n",ano);
  13.    printf("El dia es %d\n",dia);
  14.    printf("El mes es %d\n",mes);
  15.    getchar();
  16.    return 0;
  17. }
  18.  
  19.  

Dulces Lunas!¡.


« Última modificación: 27 Agosto 2012, 09:19 am por BlackZeroX (Astaroth) » En línea

The Dark Shadow is my passion.
do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: Como saco el dia?,Codeblocks
« Respuesta #2 en: 27 Agosto 2012, 09:22 am »

¡Buenas!

El algoritmo que utilizas para sacar los datos de dia, mes y anio (no utilices la ñ, para el compilador es un caracter estraño), no es correcto.

Si tienes un numero con el formato ddmmaa, tendras que el numero es:

aa * 1000 + mm * 1001 + dd * 1002 = num

Por lo tanto:

aa = num %100
mm = (num / 100) % 100
dd = (num / 1002)

Siemre suponiendo que el usuario ha introducido un numero de 6 digitos.

¡Saludos!

PD: Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Como saco el dia?,Codeblocks
« Respuesta #3 en: 27 Agosto 2012, 14:57 pm »

¿Te sirve?.

Código
  1. char div = '\0';
  2. printf("Ingrese una fecha en el sig formato dd/mm/aaaa (ejemplo: 21/01/1989)\n");
  3. scanf("%d%c%d%c%d",&dia, &div, &mes, &div, &ano);
Dos comentarios:

* Si el carácter a leer se descarta de inmediato se puede utilizar "%*c" con ese efecto y nos ahorramos una variable:
Código
  1. scanf("%d%*c%d%*c%d",&dia, &mes, &ano);

* Si se desea que el carácter separador sea si o si el '/' se puede indicar directamente:
Código
  1. scanf("%d/%d/%d",&dia, &mes, &ano);

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
SonaArtica

Desconectado Desconectado

Mensajes: 53


Estudiando...♥


Ver Perfil WWW
Re: Como saco el dia?,Codeblocks
« Respuesta #4 en: 27 Agosto 2012, 18:23 pm »


¿Te sirve?.

Código
  1.  
  2. #include <stdio.h>
  3. #include <math.h>
  4. int main()
  5. {
  6.    int dia, mes, ano;
  7.    char div = '\0';
  8.    printf("Ingrese una fecha en el sig formato dd/mm/aaaa (ejemplo: 21/01/1989)\n");
  9.    scanf("%d%c%d%c%d",&dia, &div, &mes, &div, &ano);
  10.    fflush(stdin);
  11.    printf("El año es %d\n",ano);
  12.    printf("El dia es %d\n",dia);
  13.    printf("El mes es %d\n",mes);
  14.    getchar();
  15.    return 0;
  16. }
  17.  
  18.  

o tambien así como es lo que tu quieres...

Código
  1.  
  2. #include <stdio.h>
  3. #include <math.h>
  4. int main(){
  5.    int mes,fecha,dia, ano;
  6.    printf("Ingrese una fecha en el sig formato dd/mm/aa sin los / \n");
  7.    scanf(" %d",&fecha);
  8.    fflush(stdin);
  9.    dia = (fecha / 10000);
  10.    mes = (fecha - (dia * 10000)) / 100;
  11.    ano = fecha - (dia * 10000) - (mes * 100);
  12.    printf("El año es %d\n",ano);
  13.    printf("El dia es %d\n",dia);
  14.    printf("El mes es %d\n",mes);
  15.    getchar();
  16.    return 0;
  17. }
  18.  
  19.  

Dulces Lunas!¡.

Gracias BlackZeroX (Astaroth)  ;D Me quedo cn el segundo codigo que es de la manera que lo estaba haciendo,gracias.

Do-while: SI jeje se me paso cuando lo pase aca, pero en el codigo lo tenia cmo ano y la ñ solo la utilize en el printf, igual gracias  ;-)
En línea

<z
SonaArtica

Desconectado Desconectado

Mensajes: 53


Estudiando...♥


Ver Perfil WWW
Re: Como saco el dia?,Codeblocks
« Respuesta #5 en: 27 Agosto 2012, 18:25 pm »

* Si se desea que el carácter separador sea si o si el '/' se puede indicar directamente:
Código
  1. scanf("%d/%d/%d",&dia, &mes, &ano);

Un saludo

Gracias tambien a  rir3760, no sabia que en el scanf se podia poner la / sin problemas. :D
En línea

<z
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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