Hola, le comento algunas cosas acerca de su implementación.
- La variable transcurridos debe de inicar en cero ya que es un acumulador de sumas.
- En la declaración del vector dias no se requiere colocar la longitud, ya que al ser declarado de esta forma el compilador es el que se encarga calcular su longitud.
- No todos los meses tienen 31 días, aquí hay un punto grave de su algoritmo ya que si el año es bisiesto y lee como día 29 de febrero tendrá errores muy tontos. Para salvar esto le aconsejo leer el año, luego el mes y finalmente el día c/u con su respectiva validación.
- En la declaración de su for este no hace efecto a ninguna línea ya que hay un ; al final.
- Si esta sumando los dias de los meses trancurridos no debería tomar i<n, sino i<n-1, ya que al final suma los días del mes en curso.
Puesto de esta manera su código quedaría como se muestra abajo, faltando los puntos de lecturas de año y sus validaciones. Esto para que haga sus pruebas y tenga como avanzar lo que le falta.
Código C:
Ver original#include <stdlib.h>
#include <stdio.h>
int main() {
int n, i, d, transcurridos = 0, restantes;
int dias[] = {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-1; i++) {
transcurridos += dias[i];
}
transcurridos += d;
restantes = 365 - transcurridos;
printf("Dias restantes: %d", restantes
); return 0;
}
Si tiene más dudas puede preguntar.