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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Temas
Páginas: [1]
1  Informática / Hardware / Duda sobre discos duros IDE en: 16 Noviembre 2010, 23:25 pm
Hola, bueno tengo una PC antigua con una placa base 'PCCHIPS Aristo M748LMRT/Amptron PII-3748' la cual soporta discos duros IDE y quiero comprar un disco duro para esa PC. He visto discos duros IDE de 80GB, 120GB, 160GB y 250GB, mi pregunta es ¿funcionarán con esa placa base? Gracias de antemano por las respuestas que me puedan dar.

Un saludo!
2  Programación / Programación C/C++ / Calendario perpetuo en: 24 Julio 2010, 08:17 am
Hola a todos! :D

Bueno al punto, vagando por la la Internet me encontré con una página que da el calendario (calendario gregoriano) de cualquier año  y quise hacer un programa en C que haga lo mismo  :rolleyes:, el resultado es el programa que está a continuación.

Código:
/*
  Calendario perpetuo.
  Autor: czealt
  fecha: julio de 2010
*/

#include <stdio.h>
#include <stdlib.h>

#define year_ref  2010
#define diainicio Viernes

enum Dia{ Domingo, Lunes, Martes, Miercoles, Jueves, Viernes, Sabado };

enum Mes{ Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Setiembre,
         Octubre, Noviembre, Diciembre };

int esbisiesto(int year);
int cdiasmes(int mes,int year);
void imprimirmes(int mes, int year, int diaunomes);

int main(int argc, char *argv[])
{
  int a, year, ai=year_ref, af, ndias=0, dia1enero, mes, diaunomes;

  if(argc < 2)
  {
    printf("Uso: %s A¤o\n", argv[0]);
    return 0;
  }
  year = atoi(argv[1]);

  af = year-1;
  if(year < year_ref)
  {
    ai = year;
    af = year_ref-1;
  }
  for(a = ai; a <= af; a++)
    ndias += esbisiesto(a)?2:1;

  dia1enero = (diainicio + ((year >= year_ref)?1:-1) * ndias) %7;
  if(dia1enero < 0)
    dia1enero += 7;

  printf("Calendario del a¤o %d\n", year);
  diaunomes = dia1enero;
  for(mes = Enero; mes <= Diciembre; mes++)
  {
    imprimirmes(mes, year, diaunomes);
    diaunomes = (diaunomes + cdiasmes(mes, year)) %7;
  }
  return 0;
}

int esbisiesto(int year)
/*
"Un año es bisiesto si es divisible por 4, excepto el último de cada siglo
(aquellos divisibles por 100) que para ser bisiestos, tambien deben ser
divisibles por 400."
*/
{
  return (year%4) == 0 && ((year%100) != 0 || (year%400) == 0);
}

int cdiasmes(int mes,int year)
/*
 Determina la cantidad de dias que trae cada mes.
*/
{
  static const int diasmes[] = {31,28,31,30,31,30,31,31,30,31,30,31};
  int cdias = diasmes[mes];
  if(mes == Febrero && esbisiesto(year))
    cdias++;
  return cdias;
}

void imprimirmes(int mes, int year, int diaunomes)
{
  static const char *strmes[]={"Enero","Febrero","Marzo","Abril","Mayo",
                               "Junio","Julio","Agosto","Setiembre","Octubre",
                               "Noviembre","Diciembre"};
  const int diasmes = cdiasmes(mes,year);
  int c, dia;
  printf("\n%s\n  D  L  M  M  J  V  S\n", strmes[mes]);
  dia = (35 - diaunomes) % 35 + 1;
  for(c = 35; c; c--)
  {
    if(dia > diasmes)
      printf("   ");
    else
      printf("%3d", dia);
    if((c - 1) % 7 == 0) putchar('\n');
    dia = dia % 35 + 1;
  }
}

Si tienen mejoras y/o criticas al codigo me gustaria conocerlas.

Saludos  :)
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines