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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Duda ejercicio fecha en: 26 Octubre 2022, 20:28 pm
Me gustaría hacer un programa en C donde le reste un número entero a una fecha pero encuentro problemas al restarle número grandes. Supongo que tengo que crear un vector pero no sé usarlo bien.
pd : soy principiante y de momento llevo esto.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define TAM 12
  4.  
  5. void main()
  6. {
  7.    int dia, mes, año, n, absoluto, resta;
  8.    int m[TAM]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  9.  
  10.    printf("Introduce una fecha:\n");
  11.    scanf("%d%d%d", &dia, &mes, &año);
  12.    printf("Introduce el numero que quieras restar a la fecha:\n");
  13.    scanf("%d", &n);
  14.  
  15.  
  16.    if(dia - n > 0){
  17.        dia=dia-n;
  18.        printf("%d/%d/%d", dia, mes, año);
  19.    }
  20.    else if(dia - n < 0){
  21.        absoluto = (dia-n)*-1;
  22.  
  23.        if(mes-1==1 || mes-1==3 || mes-1==5 || mes-1==7 || mes-1==8 || mes-1==10 || mes-1==12){
  24.           dia=31-absoluto;
  25.           mes=mes-1;
  26.           printf("%d/%d/%d", dia, mes, año);
  27.        }
  28.        else{
  29.            dia=30-absoluto;
  30.            mes=mes-1;
  31.            printf("%d/%d/%d", dia, mes, año);
  32.        }
  33.    }
  34. }

MOD: El código debe ir entre etiquetas de Código GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines