Autor
|
Tema: Alguien ve el error en este programa (Leído 2,635 veces)
|
do-while1
Desconectado
Mensajes: 20
|
El programa compara los días que hay entre dos fechas:#include<stdio.h> #include<stdlib.h>
struct fecha { int dia, mes, year; } fechauno, fechados;
int main (void) { int a, m, d, total; printf("Dame la primera fecha más reciente (dd/mm/aa):\n"); scanf("%d*%d*%d", &fechauno.dia , &fechauno.mes, &fechauno.year); printf("Dame la segunda fecha (dd/mm/aa):\n"); scanf("%d*%d*%d", &fechados.dia , &fechados.mes, &fechados.year); a = (fechauno.year - fechados.year) * 365; m = (fechauno.mes - fechados.mes) * 30; d = fechauno.dia - fechados.dia; total = a + m + d; printf("\n\nHay %d días entre las dos fechas insertadas.\n"); system(" pause "); return 0; } cualquier cosa que escriba me arroja como resultado "4210716"
|
|
|
En línea
|
|
|
|
mr.blood
Desconectado
Mensajes: 150
|
printf("\n\nHay %d días entre las dos fechas insertadas.\n");
Si no pones la variable en el printf, es imposible que te salga bien.
Sa1uDoS
|
|
|
En línea
|
|
|
|
do-while1
Desconectado
Mensajes: 20
|
Ya le he modificado lo que decís pero aun así persiste el error
|
|
|
En línea
|
|
|
|
Daniel_Ruiz
Desconectado
Mensajes: 28
|
#include<stdio.h> #include<stdlib.h> struct fecha { int dia, mes, year; } fechauno, fechados; int main (void) { int a, m, d, total; printf("Dame la primera fecha más reciente (dd/mm/aa):\n"); scanf("%d*%d*%d", &fechauno.dia , &fechauno.mes, &fechauno.year); printf("Dame la segunda fecha (dd/mm/aa):\n"); scanf("%d*%d*%d", &fechados.dia , &fechados.mes, &fechados.year); a = (fechauno.year - fechados.year) * 365; m = (fechauno.mes - fechados.mes) * 30; d = fechauno.dia - fechados.dia; total = a + m + d; printf("\n\ndías entre las dos fechas insertadas.\n"); scanf("%d",total); system(" pause "); return 0; }
creo no estoy seguro
|
|
« Última modificación: 16 Abril 2013, 21:23 pm por Daniel_Ruiz »
|
En línea
|
Importante
Bueno Necesito de su ayuda estoy montando una microempresa, Y estoy reuniendo Quemadoras de Dvd - Cd , Soy de Colombia Bogota si quieres apoyarme enviame un Mp Por Favor!.
|
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
cualquier cosa que escriba me arroja como resultado "4210716" El programa dará el resultado esperado si realizas el cambio que ya te indicaron e introduces los datos correctamente. El problema (error lógico) se debe a que al pedir los datos indicas que el separador es '/': printf("Dame la primera fecha más reciente (dd/mm/aa):\n"); /* ... */ printf("Dame la segunda fecha (dd/mm/aa):\n");
Pero al utilizar scanf indicas que el separador es '*': scanf("%d*%d*%d", &fechauno. dia , &fechauno. mes, &fechauno. year); /* ... */ scanf("%d*%d*%d", &fechados. dia , &fechados. mes, &fechados. year);
Para explicarlo mejor: Dame la primera fecha mas reciente (dd/mm/aa): 31*01*2010 Dame la segunda fecha (dd/mm/aa): 01*01*2010
Hay 30 dias entre las dos fechas insertadas. 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
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Programa sencillo: ¿Qué significa este error?
Programación C/C++
|
noob2012
|
4
|
4,047
|
28 Mayo 2013, 21:41 pm
por elkiy
|
|
|
Alguien que me ayude con este programa en C++
Programación General
|
andreampere
|
2
|
2,271
|
6 Septiembre 2014, 20:23 pm
por andreampere
|
|
|
error logico ayuda con este programa
Programación C/C++
|
MellaSystems
|
8
|
3,278
|
23 Febrero 2015, 06:19 am
por MellaSystems
|
|
|
alguien sabe que error o que le falta a este programa en DEV-C++
Programación C/C++
|
carlos6532433454
|
6
|
2,087
|
28 Septiembre 2018, 00:48 am
por MCKSys Argentina
|
|
|
Alguien que sepa cual es el error en este programa en DEV-C++
« 1 2 »
Programación C/C++
|
Shannon
|
10
|
3,872
|
6 Octubre 2018, 06:21 am
por donYoyo
|
|