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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Ayuda con codigo de preguntas y respuestas en: 25 Septiembre 2017, 00:00 am
Lee los comientarios del codigo:
Código
  1. #include<stdio.h>
  2. #include<string.h>
  3. #include<stdlib.h>
  4.  
  5. main(){ //Pongamos el int, no seamos tan cabezas
  6. char c1[15]="hi", c2[15];
  7.  
  8. printf("hello\n");
  9. etiqueta_1:
  10. scanf("%s",&c2[0]); //poner &c2[0] es lo mismo que poner c2, Además, yo utiilizari scanf("%15s",c2) para que no se pueda poner mas que el largo del string.
  11. //Si no se puede usar: fgets(c2,15,stdin)
  12. int n;
  13.  
  14. n = strcmp(c1,c2); //Esto podes ponerlo directamente cono condicion del if..
  15.  
  16. if(n==0){ // if(!strcmp(c1,c2))
  17. int l;
  18. char c3[30], c4[30]="Iam good.How are you?";
  19.  
  20. printf("How are you?\n");
  21. scanf("%s",&c3[0]);
  22.  
  23. l = strcmp(c3,c4);
  24.  
  25. if(n==0){ //Aca es: if(l==0)
  26. int m;
  27. char c5[30], c6[30]="A little. Are you American?";
  28.  
  29. printf("Good.Do you speak English?\n");
  30. scanf("%s",&c5[0]);
  31.  
  32. m = strcmp(c5,c6);
  33.  
  34. if(n==0){ //Aca es: if(m==0)
  35. int o;
  36. char c7[30], c8[30]="Where are you from?";
  37.  
  38. printf("yes\n");
  39. scanf("%s",&c7[0]);
  40.  
  41. o = strcmp(c7,c8); //si pensas hacer la conversacion muy larga, tendrias que ver como hacer mas escalable el program, y no tener que escribir tanto(Ver al final).
  42.                   //Si queres verificar que el usuario responde bien en todos los casos tendrias que ver que pasa cuando m!=0 y l!=0, por que esto hace el goto solo cuando falla el primero de todos. Tendrias que usar el mismo n en todos lados de ultima..
  43. }
  44. }
  45. }
  46.  
  47.  
  48. if(n>0){ //Este if(n>0) y lo que hay en el else, pueden estar juntos, directamente usar el else..
  49. printf("Vuelva a intentarlo\n");
  50. goto etiqueta_1;
  51. }
  52.  
  53. else{
  54. printf("Vuelva a intentarlo\n");
  55. goto etiqueta_1;
  56. }
  57.  
  58. system("pause"); //Ojo con las llamadas a system..
  59. return 0;
  60. }
  61.  
  62. //Yo personalmente no me gusta el "goto", yo haria algo como:
  63.  
  64. do{
  65. scanf("%s", c2);
  66. printf("Estoy aca y voy a entrar aca hasta que le acertes a la frase..")
  67. }while(strcmp(c1,c2));
  68.  
  69. en lugar de lo que haces vos:
  70.  
  71. lala:
  72. scanf("%s", c2);
  73. if(strcmp(c1,c2))
  74. goto lala:
  75.  
  76. //Por otro lado, si queres hacer que puedas agregar tantas frases como quieras, sin tener que cambiar tanto codigo, podrias hace algo como:
  77.  
  78. #include <stdio.h>
  79. #include <string.h>
  80. #define NUM 4
  81. int main(){
  82. char *respuestas[NUM]={"hi", "Iam good. How are you?", "A little. Are you American?", "Where are you from?"};
  83. char *preguntas[NUM] = {"Hello\n", "How are you?\n", "Good. Do you speak English?\n", "yes\n"};
  84. int i;
  85. char aux[30] ={0};
  86. for(i=0; i<NUM; i++){
  87. do{
  88. int j;
  89. for(j=0; j<strlen(aux); ++j)
  90. aux[j]=0;
  91. printf(preguntas[i]);
  92. scanf("%s", aux);
  93. }while(strcmp(aux,respuestas[i]));
  94. }
  95. getchar(); //Lo mismo que el system("sleep")..
  96. }
  97.  

Ojo que el ultimo main no esta ni revisado ni compilado.
2  Programación / Programación C/C++ / Re: Programacion C en: 21 Septiembre 2017, 21:43 pm
No veo la relación entre C/C++ y la suma de los primeros naturales, pero bueno.., supongamos que el muchacho reformula la pregunta y pregunta como programar algo que calcule la suma.

Te cuento, hay un habilidad muy útil en la vida, se le dice googlear, saber hacerlo requiere mucha practica (?).. Si ponés en google: suma multiplo C y mirás lo que aparece notarás que la tercer página tiene el título: Múltiplos de 3 y 5 en C++ | Alejandro Morán.

Ahí debería saltar el bichito de la intuición y sospecharás que tiene algo que ver con lo que preguntás... Efectivamente, si entrás te encontrás con un código fuente que hace lo que queres hacer vos.

Felicitaciones, aprendiste lo básico sobre googlear
3  Seguridad Informática / Hacking / Re: Un libro o tutorial para empezar en el hacking usando Python? en: 21 Septiembre 2017, 06:25 am
Buenas, mira te dejo este libro que conocí hace apenas unos dias, a mi parecer esta bastante bueno, y todo lo que da está orientado al hacking, miralo medio por arriba si te prece (o el indice).

El libro se llama "Violent python - Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers", y se puede bajar del

link:http://zempirians.com/ebooks/Violent%20Python%20-%20A%20Cookbook%20for%20Hackers,%20Forensic%20Analysts,%20Penetration%20Testers%20and%20Security%20Engineers.pdf

Yo solo he leido el primer y segundo capitulo, asi que no se realmente hasta donde llega a profudizar ni que tan acertado sea el contenido.

Espero que te sirva, un saludo.
4  Seguridad Informática / Hacking / Re: Esto supongo que es una estafa en: 18 Septiembre 2017, 22:35 pm
Yo sólo he preguntado si las personas que entienden de hacking en este foro me pueden asegurar si es una estafa o no.

Cíñete a mi pregunta que es esta: ¿Pensais que es una estafa? (por si no queda claro en el título). Por tanto, no me acuses a mí ni de querer estafar al sistema de evaluación ni de querer robar a nadie.

Estoy en el sitio adecuado para preguntar algo sobre hacking.

Por otro lado, el que yo haya hecho esa pregunta, no declara ninguna de mis intenciones por lo que puedes ahorrarte los consejos.

Faaaa "macho", un consejo (aunque quedó claro que es preferible ahorrarselos), si entras a un sitio a hacer una pregunta, y la gente se presta de buena manera (sin ningun tipo de obligación) a responderte, mantene las formas y responde correctamente, te mandaste agresivo de la nada y el tipo te habia respondido bien a tu pregunta.
5  Programación / Programación C/C++ / Re: Problema en C puntero a punteros. en: 17 Septiembre 2017, 19:44 pm
Buenas, un par de detalles nomás sobre la respuesta de AlbertoBSD.

En las lineas 11 y 13, falta el & en los scanf.
Por otro lado, no veo por que utilizar calloc en lugar de malloc, es mas lento y de todos modos despues le asignas un valor a cada uno de los elemetos, asi que estaria de más inicializarlos en cero.

En la linea 14 es m->filas (dentro del calloc).

Es una buena practica además, castear lo que devuelve el malloc, si bien todo deberia funcionar igual, te devuelve un void* y lo estas igualando a un Matriz* por ejemplo en la linea 9. Te evitas que te joda el compilador. Otra practica muy recomendable (si no casi obligatoria) es corroborar que todo sale bien, si falla el primer calloc ya todo el resto te va a tirar segmentation fault por todos lados, un:
Código
  1. if(m==NULL){fprintf(stderr,"Error allocando, linea %d\n", __LINE__); exit(EXIT_FAILURE);}

te salva las papas (sobretodo en programas mas complejos.) O definir una funcion por ejemplo:
Código
  1. void *safe_malloc(int n, size_t size){
  2.       void *aux;
  3.       aux = calloc(n,size);
  4.       if(aux==NULL){
  5.             fprintf(stderr,"Error Allocando %d bytes", n*size);
  6.             exit(EXIT_FAILURE);
  7.       }
  8.       return aux;
  9. }

y despues simplemente en llamas a
Código
  1. safe_malloc(cantidad,sizeof(tipo));

Un saludo,
Tucho.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines