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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 ... 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 [81] 82 83
801  Programación / Programación C/C++ / Re: Ayuda en C en: 29 Junio 2012, 02:46 am
Bueno se me ha adelantado durasno , la proxima vez que postees , por favor pon las etiquetas GeSHi y los errores , verás que pronto acuden los usuarios a ayudar. Y lo que te venia diciendo durasno corregido , mas una cosa ¿Porqué utilizas conio.h? para hacer el getch , simplemente en vez de utilizar valores enteros de carácteres para comparar en el switch ,utiliza valores enteros que es mas fácil , y recoges la opcion con:
Código
  1. scanf("%d",&opcion);
Te dejo el código corregido , he dejado los comentarios y eso , he añadido la función de buscar persoa para que te buscase un nombre que tu le metieses también , y los problemillas puntuales que salían :)
Código
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. //#include <conio.h> Omitido , acostumbrate a no usarla...
  5.  
  6.  
  7. typedef struct perso//definimos la estructura que usaremos, debemos tener cuidado de no elegir los mismo nombres
  8.        //para la definicion de la variable y para la variable
  9. {
  10.    char nombre [30];
  11.    char apellido [30];
  12.    int edad;
  13.    struct perso *lista;
  14.  
  15. } persona;
  16.  
  17. void ingrese_persona(persona *p);//declaramos las funciones
  18. void imprima_persona(persona *p);
  19. persona *busca_persona(persona *listanueva,char *nombre);
  20. persona *agregar_persona(persona*lista);
  21.  
  22. int main ()
  23. {
  24.    int opcion=0,N=0;
  25.    persona *listanueva=NULL;
  26.    char nombpersbusc[30];//Variable para albelgar el nombre de la persona a buscar.
  27.    do //ciclo do while para evitar seleccionar un numero que no este entre las opciones
  28.    {
  29.        printf ("\n\nMenu:\n\n");
  30.        printf("Seleccione una opcion:\n\t\t");
  31.        printf("\n\n\t\t 1.-Ingresar persona");
  32.        printf("\n\t\t2.-Imprimir lista");
  33.        printf("\n\t\t3.Buscar persona");
  34.        printf("\n\t\t4.-Salir\n\n");
  35.        scanf("%d", &opcion);
  36.        //opcion=getch();//se ocupa getch() y no getchar() o si no me devuelve dos veces el menu cada vez y nos lee el caracter desde teclado, parecido a scanf
  37.        switch (opcion)
  38.        {
  39.  
  40.        case 1://definimos las opciones y sus correspondientes valores
  41.            if(N<5)
  42.            {
  43.                printf("Selecciono opcion: 1\n\n");
  44.                listanueva=agregar_persona(listanueva);//llama a funcion
  45.                N++;
  46.            }
  47.            else
  48.                printf("limite de personas");
  49.            break;
  50.        case 2:
  51.            printf("Selecciono opcion: 2\n\n");
  52.            imprima_persona(listanueva);//llama para imprimri
  53.            break;
  54.        case 3:
  55.            printf("Selecciono opcion:3\n\n");
  56.            printf("Digame el nombre de la persona a buscar:");
  57.            scanf("%s",nombpersbusc);
  58.            listanueva=busca_persona(listanueva,nombpersbusc);
  59.            break;
  60.        default:
  61.            printf("seleccion no valida\n\n"); //nos evita
  62.            break;
  63.  
  64.        }
  65.  
  66.    }
  67.  
  68.    while (opcion!=4);
  69.    return 0;
  70.  
  71. }
  72.  
  73. void ingrese_persona (persona *p)
  74. {
  75.    printf("\nIngrese nombre: ");
  76.    scanf("%s", p->nombre);
  77.    printf("Ingrese apellido: ");
  78.    scanf("%s", p->apellido);
  79.    printf("Ingrese edad: ");
  80.    scanf("%d", &(p->edad));
  81.    p++;
  82.    p->lista=NULL;
  83. }
  84.  
  85. void imprima_persona(persona *p)
  86. {
  87.    persona *aux3=p;
  88.    while (aux3!=NULL)
  89.    {
  90.        printf(" %s %s (%d a&#241;os)\n",aux3->nombre, aux3->apellido, aux3->edad);
  91.        aux3=aux3->lista;//definimos un puntero auxiliar para evitar que el puntero quede en nULL
  92.    }
  93. }
  94.  
  95. persona *agregar_persona(persona *auxlista)//definicion de puntero a persona lista
  96. {
  97.    persona *aux2lista=(persona*)malloc(sizeof(persona));//reservamos con memoria dinamica un espacio para el puntero
  98.    ingrese_persona(aux2lista);//agregamos la funcnio
  99.    aux2lista->lista=NULL;//ahora debemos usar un puntero auxiliar para que asi lista nos quede apuntando a NULL
  100.    if (auxlista==NULL)
  101.    {
  102.        auxlista=aux2lista;//si el puntero auxiliar es igual a NULL quedara apuntando a NUll
  103.    }
  104.    else
  105.    {
  106.        persona *actual=auxlista,*anterior;//creacion de dos punteros para recorrer la lista
  107.        while (actual!=NULL)
  108.        {
  109.            anterior=actual;//anterior queda apuntando a actual
  110.            actual=actual->lista;//actual apunta al siguietne
  111.        }
  112.        anterior->lista=aux2lista;//de esta forma se genera que el puntero no este apuntando a NULL si no al puntero siguiente
  113.    }
  114.    return(auxlista);//devuleve el puntero a lista
  115. }
  116.  
  117. persona *busca_persona(persona *listanueva,char *nombre)
  118. {
  119.    persona *auxbuscar=listanueva;
  120.    while (auxbuscar!=NULL)
  121.    {
  122.        //if (strcmp(auxbuscar->nombre,nombre)==0) Para comparar cadenas utiliza strcmp!!!!!
  123.        if(strcmp(auxbuscar->nombre,nombre)==0)
  124.        {
  125.            printf("nombre encontrado\n");
  126.            return auxbuscar;
  127.        }
  128.        auxbuscar=auxbuscar->lista;
  129.    }
  130.    printf ("no existe\n");
  131.    return auxbuscar;
  132. }
  133.  

¡Un saludo!
802  Programación / Programación C/C++ / Re: [Aporte][Source] Encriptador texto plano [GTK+ y C] en: 29 Junio 2012, 00:12 am
Tengo problemas con la codificación UTF-8 , y es que yo convierto el texto del buffer a ISO-8859-1 hago lo que sea con el , lo vuelvo a convertir a UTF-8 y lo pongo en el text view del resultado , pero en ese resultado a veces hay letras que son cuadrados rellenos con cuatro números, entonces al pasar esta cadena cifrada por algún medio, por algún motivo pierde información y la persona que la recibe la descifra pero salen algunos carácteres raros.

Y con respecto a pasar texto cifrado de Linux a Windows se me complica la vida y mi cabeza no dá para mas , no sé si puede ser por el medio por el que paso el texto , si el programa está mal ni idea la verdad. Sé que mi Ubuntu 11.10 utiliza UTF-8 y que Windows (otro no se cual) , no se si puede ser eso...

¡Un saludo!  ;D

EDITADO: He probado a pasar un .txt con codificación UTF-8 de Windows a Linux y ha funcionado o sea que el problema es el medio de comunicación (tuenti, gmail, facebook)...
803  Programación / Programación C/C++ / Re: [Aporte][Source] Encriptador texto plano [GTK+ y C] en: 28 Junio 2012, 14:33 pm
Muchísimas gracias por interesarte daniyo , si son de esas todas las que quieras  ;-) , por cierto me he dado cuenta de que en el source que he puesto falta una carpeta llamada recursos que es donde está el .glade que le da la interfaz al programa y también he cambiado algunas cosillas para no tener problemas con las codificaciones de Windows y Linux así que lo actualizo y edito los links del post inicial.

¡Un saludo!
804  Programación / Programación C/C++ / [Aporte][Source] Encriptador texto plano [GTK+ y C] en: 28 Junio 2012, 03:21 am
Buenas a todos, pues nada después de bastante tiempo programando en consola , he decidido portar mi proyecto más serio de aprendiz llamado des&&crypt (se que es cutre el proyecto pero bueno) a modo gráfico , se trata de un encriptador y desencriptador de texto plano , que me parece que utiliza criptografía simétrica.Os dejo el source (es portable ) y la aplicación y por favor hagan críticas , todas las que puedan, pero constructivas eh no destructivas :)

¡Un Saludo! y gracias a Daniyo por contestarme en la otra cuestión que era sobre esto.

Source ---> http://www.mediafire.com/?bmt5kyz9e2wb8ll
Versión compilada(Para Windows) --> http://www.mediafire.com/?9ki7127un6q89ui

PD: Espero poner las de linux no se me enfaden, aunque todavia no he hecho nada con gtk+ en linux pero como es portable supongo que será facil de compilar.
805  Programación / Programación C/C++ / Re: Problema con GTK+ en: 27 Junio 2012, 14:31 pm
Ya ya eso lo sabia , ya está arreglado , lo que pasaba es que copiaba las dll y eso pero no la carpeta donde van los themes de GTK+ entonces aparecía el modo clásico , de todas maneras me sige pareciendo una barbaridad 10 megabytes de espacio para un programa tan cutre. ¿Se puede compilar estáticamente con GTK+ en C? Me parecía haber leído que nó.
806  Programación / Programación C/C++ / Problema con GTK+ en: 27 Junio 2012, 13:06 pm
Buenas a todos , hace ya tiempo quise empezar a programar una interfaz gráfica aunque todavía no había terminado de aprender C y a día de hoy sigo igual , bueno  a lo que vamos tengo un problema no con las librerías de GTK+ en si , sino con su apariencia , mi problema es que cuando compilo mi programa sobre una plataforma(por si lo preguntais) Windows 7 x64 , y lo paso a otro ordenador de la misma plataforma(con las correspondientes .dll que acompañan al exe) que no tiene GTK+ , se vé una apariencia rústica , al estilo de Windows 98 ¿alguna idea de porqué pasa esto?

PD: O yo no sé buscar en internet o me mata demasiado que exista muy poca documentación al respecto con ese problema...

¡Un Saludo!
807  Programación / Programación C/C++ / Re: Soy nuevo en c en: 22 Junio 2012, 21:34 pm
Un puntero es una variable de determinado tipo(char, int ...) que como su nombre indica apunta.¿A qué? a una dirección de memoria , a otra variable... Con estos tipos de variables(los punteros) se utilizan dos tipos de operadores el ampersand (&) y el  asterisco (*):

El operador ampersand(&) se utiliza para que nos devuelva el valor donde está guardado el contenido de una variable en la memoria. Por ejemplo.
Código
  1. char letra; //supongamos que esta variable tiene un valor de posicion en la memoria de 0x0041000
  2. char *pletra;//creamos un puntero de tipo char
  3. pletra = &letra;// y ahora lo que hacemos es pasar el valor de la posición de memoria de letra con el ampersand(&) al puntero para que este apunte a esa dirección de memoria.
  4.  
El operador asterisco(*) , se le llama operador de desreferencia , porque lo que hace es devolvernos el valor que hay en la dirección de memoria que apunta el puntero. Por ejemplo:
Código
  1. char letra = "b";// creamos una variable de tipo char y le asignamos un valor en este caso b;
  2. char *pletra;// creamos un puntero de tipo char
  3. pletra = &letra;// pasamos la dirección de letra a pletra y pletra apunta a letra que su contenido es "b"
  4. //.............................................................................................
  5. //entonces si imprimimos lo que hay en *pletra(utilizamos el * para saber el contenido no el valor de memoria).
  6. printf("%c", *pletra); //----> saldra b pues es el caracter al que estabamos apuntando.

Si algún programador más experimentado tiene que corregir algo que lo haga , yo ni mucho menos entiendo mucho de punteros , es la realidad, pero bueno solo por el simple hecho de ayudar...

PD: De todas maneras consiguete un buen libro , y lee mucho y antes de preguntar busca en internet :)

¡Un Saludo!
808  Foros Generales / Dudas Generales / Ayuda con problema de genética [BIOLOGÍA] en: 11 Junio 2012, 23:01 pm
Bueno tengo un examen pasado mañana y estoy estudiando pero me ha surgido una inseguridad ( a quién no le habrá pasado) bueno a ver si me pueden ayudar... El problema en cuestión:
La hemofilia es una enfermedad hereditaria controlada por un gen (h) recesivo ligado al cromosoma X, mientras que el albinismo esta determinado por un gen (a) recesivo ligado a un autosoma. Un hombre normal, respecto a la hemofilia pero albino, se casa con una mujer morena, de madre albina y de padre hemofílico. ¿Cuáles serán los genotipos y los fenotipos de los cónyuges? ¿Y los de los hijos? ¿Con qué frecuencia se presentan?

Lo que tengo hecho:
Genotipo:
x : Coagulación normal.
xh: Hemofílico.
A : Pigmentación.
a : Albino.

El hombre es albino pero nó hemofílico o sea su genotipo es xyaa.
La mujer es hija de padre hemofílico (suponiendo que no sea portador del albinismo)
sería el genotipo del padre:xhyAA
y de madre Albina (y no portadora de la hemofilia)
sería el genotipo de la madre: xxaa

Ahora tenemos que la hija ha salido morena o sea que su genotipo tiene que ser por fuerza xxhAa, la hemofília la hereda de la xh del padre.

Por lo tanto realizamos el cruce entre los dos individuos    xyaa <-----> xxhAa
realizamos una tabla para que nos sea más fácil:

Por lo tanto los porcentajes si son hombres serian:
25% normal y portador del albinismo
25% albino
25% albino y portador del albinismo
25% hemofílico y albino
Si son mujeres:
25% normales y portadoras de del albinismo
25% albinas
25% normales y portadoras de la hemofilia y el albinismo
25% albinas y portadoras de la hemofilia.

¿alguien que sepa puede decirme si está bien? Un saludo a todos y muchas gracias !
809  Programación / Ingeniería Inversa / Re: ingenieria inversa y una guia del novato en: 3 Junio 2012, 23:40 pm
¡Puaf! Eres impresionante Potato , que esfuerzo y que constancia dios! y hace 4 semanas estabas que decias que no tenias ni idea de ordenadores. Pues yo quiero seguir con el curso de ricardo pero no tengo tiempo me pongo en mis ratos libres , tengo que estudiar, que paso de quedarme el verano estudiando para hacer las recuperaciones...

¡Pues ya sabes mas que yo , y os admiro a ti , y a todos lo que sabeis de informatica!
¡Mucho ánimo!(que no te falta desde luego) y a ver si puedes descifrar que contenía ese archivo .enc :D
810  Programación / Ingeniería Inversa / Re: Duda con OllyDbg 2.01 en: 3 Junio 2012, 17:08 pm
Ya esta solucionado, el problema era que tenia la 2.00.01 y esa no tiene unos cuantos .udd que contienen información de las apis y cosas de esas creo, no sé. Desde luego diferencia hay ,tengo la 2.00.01 que pesa (1,80 mb) , me he bajado la 2.01 (alpha 4)que pesa (50 mb) y todo rulando.

¡Un Saludo y muchas gracias a todos!
Páginas: 1 ... 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 [81] 82 83
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines