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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8
51  Programación / Programación C/C++ / Re: Programa estaciones (cambio de if-else por switch) en: 11 Noviembre 2011, 15:15 pm
Código
  1. // por encima tienes que hacer un codigo de validacion [1, 12]
  2. int estacao = 1 + (mes / 3) % 4;
  3.  
  4. switch (estacao)
  5. {
  6.  case INVIERNO: puts("i"); break;
  7.  case PRIMAVERA: puts("p");  break;
  8.  case VERANO: puts("v"); break;
  9.  case OTONO: puts("o"); break;
  10. }
Me gusta tu solucion es mucho mejor :D
Salu2 ;)
52  Programación / Programación C/C++ / Re: Programa estaciones (cambio de if-else por switch) en: 11 Noviembre 2011, 12:34 pm
hola yo cambiaria un poquito el codigo que tienes

Código
  1. // Ficheros include del sistema
  2. #include <stdio.h>
  3. // Constantes de la aplicacion
  4. #define INVIERNO  1
  5. #define PRIMAVERA 2
  6. #define VERANO    3
  7. #define OTONO     4
  8.  
  9. int main ()
  10. {
  11.    int mes;
  12.    int estacion;
  13.    do
  14.    {
  15.        printf("Introduzca un mes: ");
  16.        scanf(" %d", &mes);
  17.        if (mes==0)
  18.           return 0;
  19.        if (mes == 12 || mes == 1 || mes == 2)
  20.            estacion = INVIERNO;
  21.        if (mes == 3 || mes == 4 || mes == 5)
  22.            estacion = PRIMAVERA;
  23.        if (mes == 6 || mes == 7 || mes == 8)
  24.            estacion = VERANO;
  25.        if (mes == 9 || mes == 10 || mes == 11)
  26.            estacion = OTONO;
  27.        if (mes >= 1 && mes <=12)
  28.            printf("El mes %d pertenece a la estacion %d\n", mes, estacion);
  29.        else
  30.            printf("ERROR- El mes %d no corresponde a el mes de ningun año\n",mes);
  31.    }
  32.    while (mes != 0 );
  33.    return 0;
  34. }
  35.  

y con un switch seria

Código
  1. // Ficheros include del sistema
  2. #include <stdio.h>
  3. // Constantes de la aplicacion
  4. #define INVIERNO  1
  5. #define PRIMAVERA 2
  6. #define VERANO    3
  7. #define OTONO     4
  8.  
  9. int main ()
  10. {
  11.    int mes;
  12.    int estacion;
  13.    do
  14.    {
  15.        printf("Introduzca un mes: ");
  16.        scanf(" %d", &mes);
  17.        switch(mes)
  18.        {
  19.            case 1: estacion=INVIERNO;
  20.                 break;
  21.            case 2: estacion=INVIERNO;
  22.                 break;
  23.            case 3: estacion=PRIMAVERA;
  24.                 break;
  25.            case 4: estacion=PRIMAVERA;
  26.                 break;
  27.            case 5: estacion=PRIMAVERA;
  28.                 break;
  29.            case 6: estacion=VERANO;
  30.                 break;
  31.            case 7: estacion=VERANO;
  32.                 break;
  33.            case 8: estacion=VERANO;
  34.                 break;
  35.            case 9: estacion=OTONO;
  36.                 break;
  37.            case 10: estacion=OTONO;
  38.                 break;
  39.            case 11: estacion=OTONO;
  40.                 break;
  41.            case 12: estacion=INVIERNO;
  42.                 break;
  43.            case 0: printf("Buen Viaje...");
  44.                 fflush(stdin);
  45.                 getchar();
  46.                 break;
  47.            default: printf("ERROR- mes inexistente\n");
  48.        }
  49.        if (mes >= 1 && mes <=12)
  50.            printf("El mes %d pertenece a la estacion %d\n", mes, estacion);
  51.    }
  52.    while (mes != 0 );
  53.    return 0;
  54. }
  55.  


Aunque creo que no te ayudo mucho dandote la solución, bueno igual espero te sirva :)

salu2 ;)
53  Programación / Programación C/C++ / Re: Duda programa con estructuras de control en: 11 Noviembre 2011, 11:58 am
Hola yo primero idente el codigo (es que me gusta asi :p )

Y le hize un pequeño cambio al code, le quite el primer else. Y solo mostre el mensaje de error al final.
Código
  1. #include <stdio.h>
  2.  
  3. int main ()
  4. {
  5.    char car1;
  6.    char car2;
  7.    char valor1;
  8.    char valor2;
  9.    int valor,flag;
  10.  
  11.    do
  12.    {
  13.        flag = 0;
  14.        printf("Introduzca un valor hexadecimal:\n");
  15.        scanf("\n%c%c", &car1, &car2);
  16.        if(car1 == 'q' && car2 == 'q')
  17.        {
  18.            printf("\nPresione Enter para salir.....");
  19.            fflush(stdin);
  20.            getchar();
  21.            return 0;
  22.        }
  23.        if('0'<=car1 && car1<='9')
  24.            valor1=car1-'0';
  25.        else
  26.            if ('A'<=car1 && car1<='F')
  27.                valor1=car1-'A'+10;
  28.            else
  29.                if ('a'<=car1 && car1<='f')
  30.                    valor1=car1-'a'+10;
  31.                else
  32.                    flag = 1;
  33.        if('0'<=car2 && car2<='9')
  34.            valor2=car2-'0';
  35.        else
  36.            if ('A'<=car2 && car2<='F')
  37.                valor2=car2-'A'+ 10;
  38.            else
  39.                if ('a'<=car2 && car2<='f')
  40.                    valor2=car2-'a'+10;
  41.                else
  42.                    flag = 1;
  43.        if(flag == 0)
  44.        {
  45.            valor= 16*valor1 + valor2;
  46.            printf("\nEL valor decimal de 0x%c%c es %d\n\n",car1,car2,valor);
  47.        }
  48.        else
  49.            printf("\nValor erroneo\n\n");
  50.    }
  51.    while(1);
  52.    return 0;
  53. }
  54.  

Una pequeña observacion, es que una buena practica de programación es hacer uso de una logica positiva... eso quiere decir que las "ramificaciones" deben estar cargadas por el lado de los if y no por el lado de los else.

Mientras escribia mire el codigo y decidi editarlo un poco de otra forma y quedo asi
Código
  1. #include <stdio.h>
  2.  
  3. int main ()
  4. {
  5.    char car1;
  6.    char car2;
  7.    char valor1;
  8.    char valor2;
  9.    int valor,flag;
  10.  
  11.    do
  12.    {
  13.        flag = 0;
  14.        printf("Introduzca un valor hexadecimal:\n");
  15.        scanf("\n%c%c", &car1, &car2);
  16.        if(car1 == 'q' && car2 == 'q')
  17.        {
  18.            printf("\nPresione Enter para salir.....");
  19.            fflush(stdin);
  20.            getchar();
  21.            return 0;
  22.        }
  23.        if('0'<=car1 && car1<='9')
  24.            valor1=car1-'0';
  25.        if ('A'<=car1 && car1<='F')
  26.            valor1=car1-'A'+10;
  27.        if ('a'<=car1 && car1<='f')
  28.            valor1=car1-'a'+10;
  29.        if('0'<=car2 && car2<='9')
  30.            valor2=car2-'0';
  31.        if ('A'<=car2 && car2<='F')
  32.            valor2=car2-'A'+ 10;
  33.        if ('a'<=car2 && car2<='f')
  34.            valor2=car2-'a'+10;
  35.        if(('0'<=car1 && car1<='9' || 'A'<=car1 && car1<='F' || 'a'<=car1 && car1<='f') && ('0'<=car2 && car2<='9' || 'A'<=car2 && car2<='F' || 'a'<=car2 && car2<='f'))
  36.            flag=1;
  37.        if(flag == 1)
  38.        {
  39.            valor= 16*valor1 + valor2;
  40.            printf("\nEL valor decimal de 0x%c%c es %d\n\n",car1,car2,valor);
  41.        }
  42.        else
  43.            printf("\nValor erroneo\n\n");
  44.    }
  45.    while(1);
  46.    return 0;
  47. }
  48.  

Alternativas a hacer resolver un problema de diferentes maneras es lo que hay
 ::)

salu2 ;)
54  Foros Generales / Noticias / Ley Lleras se hunde en el Congreso en: 3 Noviembre 2011, 07:40 am
Seis meses después de propuesta, ‘Ley Lleras’ se hunde en el Congreso

por Mauricio Jaramillo Marín noviembre 2 de 2011 @ 8:42 am
Tema: Internet

El senador Roy Barreras era el encargado de sacar el proyecto adelante, pero los reparos que se le hicieron lo llevaron a archivarlo.

Después de numerosos debates y foros en el Senado, de haber generado movimientos de protesta y de poner a discutir a los usuarios de Internet colombianos sobre sus derechos y los de los creadores de contenidos, la ‘Ley Lleras’ está a punto de quedar archivada. El senador ponente, encargado de sacarla adelante, radicó ante la presidencia del Senado en la noche de este primero de noviembre  la ponencia de archivo del proyecto, con la firma de los otros senadores de la Comisión Primera, Luis Carlos Avellaneda, Juan Manuel Galán, Hemel Hurtado, Karime Mota y Jorge Eduardo Londoño.

El proyecto de Ley ‘por medio del cual se regula la responsabilidad por las infracciones al derecho de autor y derechos de propiedad intelectual en Internet‘, más conocido como ‘Ley Lleras’ –por el segundo apellido del ministro de Interior, Germán Vargas Lleras, ‘padre’ del proyecto– ya estaba en cuidados intensivos desde el 19 de octubre, cuando el gobierno y el senador Barreras acordaron que el proyecto se archivaría.

En su momento, el senador Barreras dijo a ELTIEMPO.COM: “Advertimos que si se tenía que escoger entre el derecho a la libertad de expresión y el derecho a la propiedad intelectual, privilegiaríamos la expresión”.

Tras la ponencia negativa de ayer –que pasará a segundo debate–, el senador insistió en que ”se trata de ponderar dos derechos, y mientras no haya claridad técnica por parte del Gobierno, yo me la juego por la libertad de expresión en internet”. El senador afirmó que después de estos meses, el proyecto no logró subsanar las inconsistencias normativas que generaban los temores jurídicos de los usuarios de Internet.

Como reacción al surgimiento de la ‘Ley Lleras’, se crearon colectivos de usuarios de Internet como Red Pa Todos, grupos como Anonymous atacaron los sitios web de entidades públicas, e incluso surgió un proyecto de Ley paralelo, presentado por el senador Camilo Romero y denominado ‘Internet para todos’. Sobre el hundimiento de la ‘Ley Lleras’, el senador Romero afirma que es una decisión muy acertada porque el proyecto representaba grandes riesgos para los derechos usuarios y la libertad de expresión. Por lo pronto, su proyecto sigue adelante.

Con este final, que se podría calificar como una victoria de los usuarios y las organizaciones que activamente expresaron sus temores y reparos hacia la ‘Ley Lleras’, el tema de los derechos de autor en Internet no queda cerrado, pues las organizaciones promotoras de los derechos de autor buscarán alternativas para defender sus intereses.

Si algo positivo generó este proyecto impulsado por el ministro Vargas Lleras es la apertura a la discusión y la reflexión sobre los derechos y los deberes de los internautas, así como sobre los derechos de los creadores de bienes culturales como la música, los libros y el cine, y esta discusión no muere junto a la ‘Ley Lleras’.

Fuente: enter.co
55  Foros Generales / Foro Libre / Re: Nunca dejes a tu novia jugar al xbox en: 26 Julio 2011, 07:49 am
jejejeje ta bueno el fake


no sex for a f***ing mont... esa es razon mas que suficiente para no dejarla jugar :p
56  Programación / Programación C/C++ / Re: triangulo divisiorio usando continue en: 25 Julio 2011, 20:56 pm
Creo que por fin entendi el ejercicio... la verdad no me quedo claro pero bueno aqui te pongo el codigo

Alli salen los números divisibles entre 3, le agregue una variable que es la x, si quieres cambiar el valor de la x lo modificas para que sea otro número, sino tambien puedes ponerle lo demas para que sea el usuario el que decida.

Espero que asi sea el ejercicio :p

Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6. int filas = 9,i,j,x=3;
  7. for(i = 1; i <= filas; i++)
  8. {
  9.        if(i%x==0)
  10.           cout<<i;
  11. for(j = i + 1; j <= (2 * i - 1); j++)
  12. {
  13. if((j%10)%x!=0)
  14.    continue;
  15.            cout << j%10;
  16.        }
  17.        for(j=j-2; j >= i; j--)
  18. {
  19.    if((j%10)%x!=0)
  20.    continue;
  21.            cout << j%10;
  22.        }
  23. cout << endl;
  24. }
  25. }
  26.  

Salu2 ;)
pd: no se porque usas esa libreria de mas O.o
57  Sistemas Operativos / Windows / Re: Ayuda con Bootmgr en: 25 Julio 2011, 20:41 pm
Uyy que pereza cuando pasa eso con el sector de arranque... bueno bienvenido al foro, lo primero que te recomendaria es que antes de crear un tema revises si hay información reelevante respecto a tu problema.

Creo que este topic en el foro te puede servir
http://foro.elhacker.net/windows/problema_bootmgr_con_windows_7_ultimate-t291906.0.html

Salu2 ;)
58  Foros Generales / Foro Libre / Re: Duda existencial xD en: 22 Julio 2011, 22:41 pm
Es sencillo

Aunque ya WHK y EvilGoblin dieron la respuesta correctamente me gustaria dar una explicación extra


Es una simple regla de 3

tenemos 227 horas para hacer 1 trabajo, este trabajo es el 100% y se nos dice cuanto porcentaje se aumentaría si el mismo trabajo lo hacemos en 5 horas. Entonces se plantearia de esta manera (Espero se entienda porque se plantea asi


    5 horas ------> 100%
227 horas ------->   X

Ahora
X= (227*100)/5 entonces X=22700/5, asi tenemos X=4540%

((227/5)=45,4 * 100) o sea aumentas un 4540%

Hemos llegado a la misma respuesta :)

Salu2 ;)
59  Programación / Programación C/C++ / Re: duda con el brake, continue en: 22 Julio 2011, 14:46 pm
break
El break te rompe el ciclo, osea se sale inmeditamente

considera este codigo :p (no pondre codigos completos sino solo para lo necesario de la explicación
Código
  1. int main()
  2. {
  3.    for(int i=0;i<10;i++)
  4.    {
  5.        if(i==7)
  6.            break;
  7.        cout<<i<<" ";
  8.    }
  9. }
  10.  
Esto hace que se salga del for por lo que imprimira 0 1 2 3 4 5 6, el 7 no lo alcanza a impriimir puesto que cuando llega al break sale del siclo. Eso lo puedes aplicar a los demas loop

continue
El continue lo que hace es pasar al siguiente siclo, se salta las condiciones siguientes a el y pasa al siguiente ciclo.

Considera el siguiente codigo (ya se que faltan las librerias)
Código
  1. int main()
  2. {
  3.    for(int i=0;i<10;i++)
  4.    {
  5.        if(i==7)
  6.            continue;
  7.        cout<<i<<" ";
  8.    }
  9. }
  10.  
Este codigo imprimira 0 1 2 3 4 5 6 8 9, cuando llego al 7 simplemente salto al siguiente ciclo

Salu2 ;)
60  Programación / Programación C/C++ / Re: Reto Universidad [C++]. en: 22 Julio 2011, 14:32 pm
el srand es para inicializar la semilla randomica... palabras mas palabras menos es para que cuando utilices el rand repetidas ocasiones te arroje  resultados diferentes.

En el caso de tu 6to ejercicio te funciona porque estas cambiando los limites, el superior y el inferior. Solo por esa razon te da resultados distintos.

Pero si no cambiases los limites entonces el numero aleatorio seria siempre el mismo. Por eso la necesidad de inicializar la semilla randomica.
Páginas: 1 2 3 4 5 [6] 7 8
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines