300 - C++ Solución Th3_Cr0w

Iniciado por Th3_Cr0w, 5 Mayo 2005, 23:03 PM

0 Miembros y 1 Visitante están viendo este tema.

Th3_Cr0w

Lo he programado para windows. Si quereis que lo adapte a linux (es cambiar dos lineas) decídmelo.


/****************************************************
*                  EJERCICIO 300                   *
*                 AUTOR: Th3_Cr0w                  *
****************************************************/

#include <iostream.h>
#include <stdlib.h>
#include <string>

int main()
{

      string fecha;        // Fecha introducida por el usuario.
      int idia, imes;      // Contienen dia y fecha pasadas a entero.
      int i, contdias = 0; //Contadores
      string sdia, smes;   // En ellas se extrae el día y el mes de la fecha.

      /* El usuario introduce la fecha */
      cout << endl;
      cout << " Introduce una fecha (DD-MM-AAAA).\n";
      cout << " Fecha: ";
      cin >> fecha;
      cout << endl;

      /* Se extraen las subcadenas de caracteres correspondientes a día y mes */
      sdia = fecha.substr(0,2);
      smes = fecha.substr(3,2);

      /* Las cadenas "día" y "mes" son convertidas a enteros */
      idia = atoi(sdia.c_str());
      imes = atoi(smes.c_str());


      for(i = 1; i < imes; i++) // Desde el primer mes del año hasta el anterior al introducido.
      {
         switch(i) // Si el mes es...
         {
           case 2:            // Febrero:
             contdias += 28;  // Mes de 28 días. Lo sumamos al contador.
             break;

           case 4:            // Abril:
           case 6:            // Junio:
           case 9:            // Septiembre:
           case 11:           // Noviembre:
             contdias += 30;  // Mes de 30 días. Lo sumamos al contador.
             break;

           default:           // El resto de los meses:
             contdias += 31;  // Mes de 31 días. Lo sumamos al contador.
         } // Fin del switch
      } // Fin del for

      /* Se suman al contador los días que han pasado durante el mes actual */
      contdias += (idia - 1);

      /* Se muestra el resultado por pantalla */
      cout << " Han pasado " << contdias << " dias desde el inicio del año.\n\n";

      system("PAUSE");
      return 0;
}

RadicalEd

#include <stdio.h>
#include <windows.h>
int main(void)
{
int tdias=0, meses[12], c, iDia, iMes;
meses[0]=31;
meses[1]=28;
meses[2]=31;
meses[3]=30;
meses[4]=31;
meses[5]=30;
meses[6]=31;
meses[7]=31;
meses[8]=30;
meses[9]=31;
meses[10]=30;
meses[11]=31;
printf("Digite dia: ");
scanf("%d",&iDia);
printf("Digite mes: ");
scanf("%d",&iMes);
for(c=0;c<=iMes-1;c++)
{
  tdias=tdias+meses[c];
}
printf("total dias hasta la fecha: %d",tdias);
Sleep(2000);
}
Erik# el más inteligente de todos, ya empezó su lenguaje script y ahora quiere empezar un lenguaje esóterico