Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Juan

#61
Yo estoy bastante de acuerdo en lo que dice numeritos. Lo unico que me parece, que como bien dice Karcrack, si puedes aprenderlo tendras una herramienta mas aunque este en desuso.

Y para aprender... creo que si que puede seguir siendo una buena herramienta,  ya que estamos hablando de aprender.
#62
Dudas y pedidos generales / Re:Dos dudas en C
Noviembre 16, 2013, 02:34:33 PM
Andas muy verde,,, tu codigo seria mas o menos asi:

Código: c
typedef struct{
    char nombre[10];
    char clave[8];
    int id;
    int permisos;
    int numero_de_usuario;
}User;

int readUsersFromFile(char* file, struct User users){
   
   
}

main(){
struct User usuario;
FILE*datos=fopen("datos_usuarios.dat","r");
readUsersFromFile(datos, usuario);
}


Te recomiendo que te leas esto antes de hacer mas preguntas  :)

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Veras como te soluciona muchas dudas!
#63
Dudas y pedidos generales / Re:Dos dudas en C
Noviembre 16, 2013, 01:39:57 PM
No puedes llamar a una variable de la misma forma que un parametro de la funcion, por otra parte para pasar cadenas a funciones no es char variable[] es char * variable.

Con fopen lo que te retorna es un handle tipo FILE por eso esa linea seria asi: FILE * archivo = fopen("datos_usuarios.dat","r");

un saludo!
#64
Dudas y pedidos generales / Re:Dos dudas en C
Noviembre 16, 2013, 11:35:37 AM
Como que los parametros dentro de las llaves? las llaves indican que es un array. Para ver lo que contiene x posicion del array solo tienes que hacer array[posicion] ej array[0] te devuelve el primer elemento del array.

Pon el codigo que tienes y di que es lo que no sabes en el codigo que te vamos a entender mejor.

#65
Dudas y pedidos generales / Re:Dos dudas en C
Noviembre 16, 2013, 10:49:48 AM
Usa esta funcion para pasar datos nombre a empreado.nombre:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Código: c
strcpy((char*)empleado.nombre,(char*)nombre);


De todas formas te recomiendo que leas directamente a empleado.nombre envez de leer nombe y luego copiarlo:

Código: c
#include <stdio.h>

struct Empleado
{
    char Nombre[50];
    int DNI;
    int Sueldo;
};

int main()
{
    struct Empleado usuario;

    printf("Nombre: ");
    scanf("%s",usuario.Nombre);

    printf("El nombre del empreado es %s\n",usuario.Nombre);

    return 0;
}


La segunda:

Código: php
funcion(FILE * handle,struct empreado usuario)

#66
Código: c
/*
Pasar de binario a decimal utilizando una estructura.
Programado por Juan fary (mDrinky) [email protected]
*/

#include <stdio.h>

struct NumeroBinario
{
    unsigned int bit1:1;
    unsigned int bit2:1;
    unsigned int bit3:1;
    unsigned int bit4:1;
    unsigned int bit5:1;
    unsigned int bit6:1;
    unsigned int bit7:1;
    unsigned int bit8:1;
};

int main()
{
    struct NumeroBinario n;

    printf ("Introduce el numero: ");
    scanf("%i",&n);

    printf("Numero en binario: %i",n.bit8);
    printf("%i",n.bit7);
    printf("%i",n.bit6);
    printf("%i",n.bit5);
    printf("%i",n.bit4);
    printf("%i",n.bit3);
    printf("%i",n.bit2);
    printf("%i\n",n.bit1);

    return 0;
}
#67
Presentaciones y cumpleaños / Hola!
Noviembre 13, 2013, 03:41:51 PM
Soy mDrinky, me cambio el nick a Juan! un saludo frikis!
#68
Códigos Fuentes / Re:Resolver expresiones con pilas
Noviembre 13, 2013, 11:17:36 AM
Es lo que dice 7913,  He actualizado el código corrigiendo y minimizando algunas cosillas :P
#69
Códigos Fuentes / Resolver expresiones con pilas
Noviembre 12, 2013, 08:41:11 PM
Resuelve expresiones como 1+1+1+1 , 2*5(3+4), (5*2)+(5*3). No resolvera numeros de dos o mas caracteres, aunque modificando un poco el codigo se puede conseguir :)

un saludo!

Código: c
// convierte expresion INFIJA en POSTFIJA y evalua expresiones POSTFIJAS 
// programado por Juan fary (mDrinky) [email protected]
// compilado con MingW y Code::Blocks

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

typedef struct Dato
{
    char caracter;
    struct Dato * Siguiente;
}_Dato;

typedef _Dato * ptrDato;

void push(ptrDato * Pila,char caracter);
char pop(ptrDato * Pila);
int Prioridad(char Op1,char Op2);
char * PostFija(char * Cadena);
int Evaluar(char * Expresion);

int main()
{
    char * cadena = "5*3+8*5";

    char * Expresion = PostFija(cadena);

    printf("POSTFIJA: %s\n",Expresion);

    printf("Resultado de la operacion: %i",Evaluar(Expresion));

    return 0;
}

int Evaluar(char * Expresion)
{
    ptrDato Pila = NULL;
    int num1 = 0,num2 = 0,i = 0, Resultado = 0;

    while (Expresion[i] != '\0')
    {
        if (Expresion[i] != '*' && Expresion[i] != '/' && Expresion[i] != '+' && Expresion[i] != '-')
        {
            push(&Pila,Expresion[i]);
        }else{
            num1 = (pop(&Pila)-0x30);
            num2 = (pop(&Pila)-0x30);

            switch (Expresion[i])
            {
                case '*':
                    Resultado = ((num1*num2));
                    break;

                case '/':
                    Resultado = ((num1/num2));
                    break;

                case '+':
                    Resultado = ((num1+num2));
                    break;

                case '-':
                    Resultado = ((num1-num2));
                    break;
            }
            push (&Pila,(Resultado+0x30));
        }
        i++;
    }
    return Resultado;
}

char * PostFija(char * cadena)
{
    ptrDato Pila = NULL;
    int i = 0,a = 0, Elementos = 0,Longitud = 0;
    char dato;

    Longitud = strlen(cadena);

    char * buffer = (char*) malloc(Longitud);
    memset(buffer,0,Longitud);

    while(cadena[i] != '\0')
    {
        if (cadena[i] == '(')
        {
            push(&Pila,cadena[i]);
            Elementos += 1;
        }else if (cadena[i] == ')'){
            while(1)
            {
                dato = pop(&Pila);
                Elementos -= 1;

                if(dato == '(')
                {
                    break;
                }else{
                    buffer[a] = dato;
                    a += 1;
                }
            }
        }else if(cadena[i] == '*' || cadena[i]  == '/' || cadena[i] == '+' || cadena[i] == '-'){
            RepetirProceso:
            if (Elementos == 0)
            {
                push (&Pila,cadena[i]);
                Elementos += 1;
            }else if(Prioridad(Pila->caracter,cadena[i]) == 1)
            {
                push(&Pila,cadena[i]);
                Elementos += 1;
            }else if (Pila->caracter != '('){
                dato = pop(&Pila);
                Elementos -= 1;

                buffer[a] = dato;
                a += 1;

                goto RepetirProceso;
            }
        }else{
            buffer[a] = cadena[i];
            a += 1;
        }
        i++;
    }

    while(Pila != 0)
    {
        buffer[a] = pop(&Pila);
        a += 1;
    }
    return buffer;
}

int Prioridad(char Op1,char Op2)
{
        int Estado = 1;

        if (Op1 == '*' && Op2 == '-' || Op1 == '*' && Op2 == '+' || Op1 == '/' && Op2 == '-' || Op1 == '/' && Op2 == '+')
        {
            Estado = 0;
        }

        return Estado;
}

char pop(ptrDato * Pila)
{
    ptrDato ViejoDato;
    char _caracter;

    ViejoDato = *Pila;
    _caracter = (*Pila)->caracter;

    *Pila = (*Pila)->Siguiente;

    free(ViejoDato);

    return _caracter;
}
void push(ptrDato * Pila,char caracter)
{
    ptrDato NuevoDato;

    NuevoDato = (ptrDato)malloc(sizeof(_Dato));
    memset(NuevoDato,0,sizeof(_Dato));

    if (NuevoDato != NULL)
    {
        NuevoDato->caracter = caracter;
        NuevoDato->Siguiente = *Pila;

        *Pila = NuevoDato;
    }
}
#70
Dudas y pedidos generales / Re:Problemas con Dev C++
Noviembre 12, 2013, 06:18:53 AM
El problema es que no tendrás soporte para ese IDE.
#71
Dudas y pedidos generales / Re:Problemas con Dev C++
Noviembre 12, 2013, 04:50:57 AM
No pierdas el tiempo con ese entorno de desarrollo ya que esta desactualizado. Descarga por ejemplo Code::blocks, que es ligero, facil de usar y multiplataforma.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

El archivo que pone: codeblocks-12.11mingw-setup.exe


#72
Off Topic / Re:Trolleando a la gente de cph con mi bot :P
Noviembre 07, 2013, 10:48:23 AM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
ammm, SEUR esta de camino para llevarte un pin

vas de listillo siempre y te puedes tropezar, a ver si te van a dar a ti el pin.
#73
C# - VB.NET / Re:[C#]Ver IP Publica
Octubre 07, 2013, 09:27:35 AM
El problema es que si cae esta web tu rutina no funciona...
#74
Gracias por las respuestas :) ya lo he solucionado... Al final era que tenia que actualizar el software del tlf.

un saludo.
#75
Jajaja, obviamente. Otras aplicaciones como Line me funcionan a la perfección. También probe ya a reinstalar el programa pero nada.
#76
Hola,

Os explico, tengo un Nokia Lumia 920 con Windows Phone 8 y quiero instalar WhatsApp pero no lo consigo. Lo instalo bien pero luego a la hora de introducir mi numero de teléfono cuando le doy a siguiente me sale un mensaje de error diciendo lo siguiente:

"No se pudo conectar con WhatsApp. Por favor confirme su configuración de red y reintente mas tarde."

Me estoy volviendo loco y no doy con la solución, a alguien le a ocurrido?

un saludo!

#77
Off Topic / Re:Feliz Cumpleaños ANTRAX
Septiembre 24, 2013, 05:39:30 PM
Felicidades mariquita :P
#78
Visual Basic / Re:NtTerminateProcess Hook
Septiembre 23, 2013, 01:50:52 PM
Suponiendo que el código que as cogido no tengo ningun fallo lo unico que tendrías que hacer es utilizar esta API:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Que te retornara el ID de tu proceso y llamar a la funcion con ese ID.

un saludo.

EDITO:

Viendo lo que tu poner ahí me imagino que entonces el problema esta en el código que as cogido que no funiona o no funciona en la version que estas probando...
#79
Visual Basic / Re:NtTerminateProcess Hook
Septiembre 23, 2013, 12:52:35 PM
Le pasas el ID correcto del proceso?
#80
Visual Basic / Re:NtTerminateProcess Hook
Septiembre 23, 2013, 11:30:20 AM
Básicamente pisa los primeros bytes de la API y en su lugar pone las siguientes instrucciones:

Código: asm
  xor eax,eax
   ret 8


Osea retorna la funcion restaurando la pila.

un saludo.