Autor
|
Tema: Calcular días que quedan hasta final de año (Leído 7,120 veces)
|
DickGumshoe
|
Hola. Estoy practicando con ejercicios de arrays, y estaba haciendo uno en el que tengo que hacer un array en el que inserto el número de días que tiene cada mes. A partir de ahí, le pido al usuario que inserte una fecha (sólo día y mes). Entonces, tengo que averiguar cuántos días quedan hasta final de año. Mi código es: #include <stdlib.h> #include <stdio.h> int main(){ int n,i,x,d,suma,transcurridos,restantes; int dias[12]={31,28,31,30,31,30,31,31,30,31,30,31}; printf("Elige un dia del 1 al 31"); do{ printf("Elige un mes del 1 al 12"); } while(n<1||n>12); for(i=0;i<n;i++); transcurridos+=dias[n-1]; transcurridos+=d; restantes=365-transcurridos; printf("Dias restantes: %d",restantes ); return 0; }
Sé que mi problema está al plantear el bucle for (de hecho, lo que tengo en el bucle for no lo he enlazado con las instrucciones de debajo)... Muchas gracias. Saludos.
|
|
|
En línea
|
|
|
|
bdoX
Desconectado
Mensajes: 35
|
Te arreglé un poco el codigo. Pero vas a tener que validar otras cosas, como por ejemplo. que cuando te pida el dia. colocas dia 30, despues te pide el mes, y colocas por ejemplo el mes 2, que quiere decir el mes de febrero que tiene 28 dias, tiene que indicarte un error, que te vuelva a pedir el dato. Eso es trabajo tuyo, no es dificil de arreglar ese detalle. #include <stdlib.h> #include <stdio.h> int main () { int n, d, i, transcurridos, restantes; int dias[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; /*inicialiso los valores para hacer operaciones aritmeticas*/ transcurridos = 0; restantes = 0; do { printf ( "Elige un dia del 1 al 31: " ); } while ( d < 1 || d > 31 ); do { printf ( "Elige un mes del 1 al 12: " ); } while ( n < 1 || n > 12 ); /*sumo hasta el mes anterior y le sumo la cantidad de dias transcurridos*/ for ( i = 0; i < (n - 1); i++ ) { transcurridos += dias[i];// No existe el dia cero } transcurridos += d; restantes = (365 - transcurridos); printf ( "Dias restantes: %d\n", restantes ); return 0; }
saludos!
|
|
|
En línea
|
|
|
|
DickGumshoe
|
¡Muchas gracias!
Me ha quedado muy claro, y ya he terminado el bucle do-while que faltaba.
Muchas gracias.
Saludos.
|
|
|
En línea
|
|
|
|
bdoX
Desconectado
Mensajes: 35
|
Que bueno que te haya servido mi ayuda!
saludOS
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Calcular días entre dos fechas...
Ejercicios
|
*-.Sub-Vorbio.-*
|
0
|
5,037
|
13 Noviembre 2008, 00:51 am
por *-.Sub-Vorbio.-*
|
|
|
Calcular numero de días entre dos fechas!
Java
|
*-.Sub-Vorbio.-*
|
9
|
40,183
|
26 Marzo 2009, 23:34 pm
por Choclito
|
|
|
Windows XP: quedan menos de 800 días para el fin de soporte por parte de ....
Noticias
|
wolfbcn
|
0
|
1,968
|
31 Enero 2012, 02:04 am
por wolfbcn
|
|
|
Ayuda con código para calcular los días de un mes
Programación C/C++
|
D_F4UL7
|
1
|
2,362
|
25 Octubre 2016, 15:22 pm
por MAFUS
|
|
|
¿Va mal la batería de tu iPhone? Te quedan 10 días para cambiarla por 30€ (y ...
Noticias
|
wolfbcn
|
0
|
1,002
|
22 Diciembre 2018, 01:42 am
por wolfbcn
|
|