| 
	
		|  Autor | Tema: Calcular días que quedan hasta final de año  (Leído 7,515 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,447 |  13 Noviembre 2008, 00:51 am por *-.Sub-Vorbio.-*
 |  
						|   |   | Calcular numero de días entre dos fechas! Java
 | *-.Sub-Vorbio.-* | 9 | 40,901 |  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 | 2,160 |  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,707 |  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,363 |  22 Diciembre 2018, 01:42 am por wolfbcn
 |    |