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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 ... 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 [39] 40
381  Programación / Programación C/C++ / Re: comparacion de cadenas en: 18 Febrero 2012, 01:00 am
Es correcto que los argumentos de strcmp(cadena1,cadena2) tengan el ????
es que me marca un warning:

passing arg 1 of strcmp makes pointer from interger without a cast

382  Programación / Programación C/C++ / comparacion de cadenas en: 16 Febrero 2012, 23:09 pm
estoy haciendo este programa que me pide que le ingrese datos a 10 personas cualquiera, me pide nombre,edad y estatura. Pero una vez que se los ingreso me pide que le de un nombre cualquiera y este tiene que buscar que si se encuentre, pero tengo un error porque no me esta respetando el strncmp que le puse para comparar las dos cadenas :huh: alguien que me diga donde me estoy equivocando??

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define MAX_PERSONAS 3
  4. #define NOMBRE 20
  5. #define EDAD 20
  6. #define ESTATURA 2
  7.  
  8. int main()
  9. {
  10.    int i;
  11.    char nombre[NOMBRE],buscarNombre[NOMBRE];
  12.    int edad[EDAD];
  13.    float estatura[ESTATURA];
  14.    printf("Dame los datos de 10 persona:\n");
  15.    for(i=0;i<MAX_PERSONAS;i++)
  16.    {
  17.        printf("Dame el nombre de la persona:\n");
  18.        scanf("%s",&nombre[i]);
  19.        printf("Dame la edad de la persona\n");
  20.        scanf("%d",&edad[i]);
  21.        printf("Dame la estatura:\n");
  22.        scanf("%f",&estatura[i]);
  23.        system("cls");
  24.    }
  25.    printf("Dame el nombre de la persona que deseas buscar:\n");
  26.    scanf("%s",&buscarNombre[i]);
  27.    for(i=0;i<MAX_PERSONAS;i++)
  28.    {
  29.        if(strncmp(buscarNombre,nombre,NOMBRE)!=0)
  30.        {
  31.            printf("Dame la edad de la persona\n");
  32.            scanf("%d",&edad[i]);
  33.            printf("Dame la estatura:\n");
  34.            scanf("%f",&estatura[i]);
  35.        }
  36.        else
  37.           printf("No existe\n");
  38.    }
  39.    return 0;
  40. }
  41.  

de antemano gracias
383  Programación / Programación C/C++ / Re: problema con while en: 12 Febrero 2012, 22:38 pm
ya estoy utilizando el strncmp, la primera vez que le ingreso el correo si es correcto compila correctamente, pero cuando lo ingreso mal a la hora del segundo intento no importa si le ingreso el correo correcto el ciclo nunca se detiene

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct
  6. {
  7.    char nombre[20];
  8.    char apellidos[20];
  9.    char ciudad[15];
  10.    char pais[15];
  11.    char escuela[25];
  12.    char correo_elect1[15];
  13.    char correo_elect2[15];
  14.    char contrasenia[10];
  15.    int edad;
  16.    char cumpleanios[10];
  17.  
  18. }registro;
  19.  
  20. int main()
  21. {
  22.    registro info_p;
  23.    int opcion,situacion,i;
  24.    printf("Menu\n");
  25.    printf("1)Registrar cuenta\n");
  26.    printf("2)Editar perfil\n");
  27.    printf("3)Mensajes o Notificaciones\n");
  28.    printf("4)Salir\n");
  29.    do
  30.    {
  31.        printf("Elige una opcion:\n");
  32.        scanf("%d",&opcion);
  33.        switch(opcion)
  34.        {
  35.            case 1: printf("Registrarse \n");
  36.                    printf("Nombre\n");
  37.                    fflush(stdin);
  38.                    gets(info_p.nombre);
  39.                    printf("Apellidos\n");
  40.                    fflush(stdin);
  41.                    gets(info_p.apellidos);
  42.                    printf("Correo Electronico\n");
  43.                    fflush(stdin);
  44.                    gets(info_p.correo_elect1);
  45.                    printf("Contrasenia\n");
  46.                    fflush(stdin);
  47.                    gets(info_p.contrasenia);
  48.                    printf("Pais\n");
  49.                    fflush(stdin);
  50.                    gets(info_p.pais);
  51.                    printf("Ciudad\n");
  52.                    fflush(stdin);
  53.                    gets(info_p.ciudad);
  54.                    printf("Edad\n");
  55.                    fflush(stdin);
  56.                    scanf("%d",&info_p.edad);
  57.                    printf("\nBienvenid@ %s!!\n\n",info_p.nombre);
  58.                    printf("Ingresar\n");
  59.                    printf("Dame correo\n");
  60.                    fflush(stdin);
  61.                    gets(info_p.correo_elect2);
  62.                    i=strncmp(info_p.correo_elect1,info_p.correo_elect2,15);
  63.                    while(i!=0)
  64.                    {
  65.                        printf("Intentalo otra vez\n");
  66.                        fflush(stdin);
  67.                        gets(info_p.correo_elect2);
  68.                    }
  69.                    printf("El correo es el correcto\n");
  70.                    break;
  71.            case 2: printf("Editar perfil\n");
  72.                    printf("Situacion sentimental\n\n");
  73.                    printf("Elige:\n");
  74.                    printf("1)Soltero\n");
  75.                    printf("2)Casado\n");
  76.                    printf("3)Union libre\n");
  77.                    scanf("%d",&situacion);
  78.                    switch(situacion)
  79.                    {
  80.                        case 1: printf("Soltero\n");
  81.                                break;
  82.                        case 2: printf("Casado\n");
  83.                                break;
  84.                        case 3: printf("Union libre\n");
  85.                                break;
  86.                        default:printf("No mostrar situacion sentimental\n");
  87.                    }
  88.                    printf("Formacion Academica\n");
  89.                    fflush(stdin);
  90.                    gets(info_p.escuela);
  91.                    printf("Cumpleanios\n");
  92.                    fflush(stdin);
  93.                    gets(info_p.cumpleanios);
  94.                    break;
  95.            case 3: printf("Mensajes o Notificaciones\n");
  96.                    printf("Quiere escribir un mensaje? (S/N)\n");
  97.                    break;
  98.            case 4: printf("Salir\n");
  99.                    break;
  100.        }
  101.    }while(opcion!=4);
  102.    return 0;
  103. }
  104.  

estas fueron las modificaciones que hice :(
384  Programación / Programación C/C++ / problema con while en: 12 Febrero 2012, 06:43 am
Tengo un problema con mi programa en la opcion numero 1 que me pide todos los datos para registrarme y despues me vuelve a pedir la contraseña, si esta contraseña coincide con la del registro ingresa y si no entra en el ciclo while hasta darle la correcta. Pero nunca sale del while y no se por que :-(

de antemano gracias

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. typedef struct
  5. {
  6.    char nombre[20];
  7.    char apellidos[20];
  8.    char ciudad[15];
  9.    char pais[15];
  10.    char escuela[25];
  11.    char correo_elect1[15];
  12.    char correo_elect2[15];
  13.    char contrasenia[10];
  14.    int edad;
  15.    char cumpleanios[10];
  16.  
  17. }registro;
  18.  
  19. int main()
  20. {
  21.    registro info_p;
  22.    int opcion,situacion;
  23.    char resp;
  24.    printf("Menu\n");
  25.    printf("1)Registrar cuenta\n");
  26.    printf("2)Editar perfil\n");
  27.    printf("3)Mensajes o Notificaciones\n");
  28.    printf("4)Salir\n");
  29.    do
  30.    {
  31.        printf("Elige una opcion:\n");
  32.        scanf("%d",&opcion);
  33.        switch(opcion)
  34.        {
  35.            case 1: printf("Registrarse \n");
  36.                    printf("Nombre\n");
  37.                    fflush(stdin);
  38.                    gets(info_p.nombre);
  39.                    printf("Apellidos\n");
  40.                    fflush(stdin);
  41.                    gets(info_p.apellidos);
  42.                    printf("Correo Electronico\n");
  43.                    fflush(stdin);
  44.                    gets(info_p.correo_elect1);
  45.                    printf("Contrasenia\n");
  46.                    fflush(stdin);
  47.                    gets(info_p.contrasenia);
  48.                    printf("Pais\n");
  49.                    fflush(stdin);
  50.                    gets(info_p.pais);
  51.                    printf("Ciudad\n");
  52.                    fflush(stdin);
  53.                    gets(info_p.ciudad);
  54.                    printf("Edad\n");
  55.                    fflush(stdin);
  56.                    scanf("%d",&info_p.edad);
  57.                    printf("\nBienvenid@ %s!!\n\n",info_p.nombre);
  58.                    printf("Ingresar\n");
  59.                    printf("Dame correo\n");
  60.                    fflush(stdin);
  61.                    gets(info_p.correo_elect2);
  62.                    while(info_p.correo_elect1!=info_p.correo_elect2)
  63.                    {
  64.                        printf("Intentalo otra vez\n");
  65.                        fflush(stdin);
  66.                        gets(info_p.correo_elect2);
  67.                    }
  68.                    printf("El correo es el correcto\n");
  69.                    break;
  70.            case 2: printf("Editar perfil\n");
  71.                    printf("Situacion sentimental\n\n");
  72.                    printf("Elige:\n");
  73.                    printf("1)Soltero\n");
  74.                    printf("2)Casado\n");
  75.                    printf("3)Union libre\n");
  76.                    scanf("%d",&situacion);
  77.                    switch(situacion)
  78.                    {
  79.                        case 1: printf("Soltero\n");
  80.                                break;
  81.                        case 2: printf("Casado\n");
  82.                                break;
  83.                        case 3: printf("Union libre\n");
  84.                                break;
  85.                        default:printf("No mostrar situacion sentimental\n");
  86.                    }
  87.                    printf("Formacion Academica\n");
  88.                    fflush(stdin);
  89.                    gets(info_p.escuela);
  90.                    printf("Cumpleanios\n");
  91.                    fflush(stdin);
  92.                    gets(info_p.cumpleanios);
  93.                    break;
  94.            case 3: printf("Mensajes o Notificaciones\n");
  95.                    printf("Quiere escribir un mensaje? (S/N)\n");
  96.                    scanf("%c",&resp);
  97.                    if(resp=='S')
  98.                       printf("Escriba el mensaje\n");
  99.                    else
  100.                    if(resp=='N')
  101.                       printf("Leer notificaciones\n");
  102.                    else
  103.                       printf("Error\n");
  104.                    break;
  105.            case 4: printf("Salir\n");
  106.                    break;
  107.        }
  108.    }while(opcion!=4);
  109.    return 0;
  110. }
  111.  
385  Programación / Programación C/C++ / Re: funcion trunc en: 5 Febrero 2012, 02:21 am
 ;D Y que pasaría si tuviera que incluir el tipo de dato char tambié. Como tendria que implementar esa parte??  :huh:

gracias
386  Programación / Programación C/C++ / funcion trunc en: 4 Febrero 2012, 21:41 pm
Hola!! Quiero usar la función trunc en mi programa al que le tengo que ingresar un numero, y este me tiene que devolver si es entero o flotante

lo que yo tengo en mente es que le paso el dato a la funcion, y cuando esta me devuelva la parte entera   le resto de nuevo el dato y si es 0 me devuelve el entero y sus rangos de valores y si no es flotante. Pero en esta ultima parte no compila :huh:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. //Este programa muestra los valores de los tipos de datos//
  5.  
  6. int main()
  7. {
  8.    char dato;
  9.    printf("Dame un dato\n");
  10.    scanf("%c",&dato);
  11.    if(trunc(dato)-dato==0)
  12.        printf("Es un tipo de dato int\nCon un rango de -32,768 a 32,767\n");
  13.    else
  14.    if(trunc(dato)-dato!=0)
  15.        printf("Es un tipo de dato float\nCon un rango de 3.4 E-38 a 3.4 E+38\n");
  16.    return 0;
  17. }
387  Programación / Programación C/C++ / Re: problemas con punteros en: 14 Enero 2012, 02:43 am
no entiendo por que usas doble puntero  :o ????
388  Programación / Programación C/C++ / problemas con punteros en: 4 Enero 2012, 20:15 pm
tengo un problema con este codigo que me tiene que ingresar un maximo de 20 registros con listas enlazadas, no se si lo estoy haciendo bien :rolleyes: no se si tengo que definir un nuevo tipo, algo asi como :

ingreso ingresos, y despues pasarle el apuntador ingreso*pIngreso y pasarle la direccion pIngreso=&ingresos :o

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>//funcion malloc()
  3. #include <conio.h> // funcion getch()
  4. #include <string.h> // funcion strcpy()
  5. #define  MAX_REG 20 //Define el maximo numero de registros
  6.  
  7. // Primero definimos los tipos
  8. typedef struct registro1
  9. {
  10.    char concepto[30+1];
  11.    char RFC[21+1];
  12.    float monto;
  13.    int mes;
  14.    struct registro1* sig;
  15.  
  16. }ingreso;
  17.  
  18. int introduceRegistro(ingreso *pIngreso);//le pasamos el puntero original de la lista
  19.  
  20. int main()
  21. {
  22.    ingreso *pIngreso;
  23.    printf("\nIngresa los datos del registro \n");
  24.    introduceRegistro(pIngreso);//Aqui todavia no estoy segura de ponerle el ampersand, porque me marca un warning:passing arg 1 of `introduceRegistro´ from incompatible pointer type
  25.  
  26.    getch();
  27.    return 0;
  28. }
  29.  
  30. int introduceRegistro(ingreso *pIngreso)
  31. {
  32.    int i;
  33.    for(i=0,pIngreso->sig==NULL;i<MAX_REG;i++,pIngreso=pIngreso->sig)
  34.    {
  35.        pIngreso=(ingreso*)malloc(sizeof(ingreso));//A todo puntero hay que asignarle memoria.
  36.        printf("Concepto :");
  37.        fflush(stdin);
  38.        gets(pIngreso->concepto);
  39.        printf("RFC :");
  40.        fflush(stdin);
  41.        gets(pIngreso->RFC);
  42.        printf("Monto :");
  43.        fflush(stdin);
  44.        scanf("%f",&pIngreso->monto);
  45.        printf("Mes :");
  46.        fflush(stdin);
  47.        scanf("%d",&pIngreso->mes);
  48.    }
  49. return 0;
  50. }
  51.  
389  Programación / Programación C/C++ / Re: Torres de Hanoi en: 21 Diciembre 2011, 05:59 am
se lo habia colocado asi:

printf("Torre1: %d\n",inicializa_discos(cantDiscos));

y me imprime

321Torre1: 0
390  Programación / Programación C/C++ / Torres de Hanoi en: 21 Diciembre 2011, 05:47 am
Código
  1.  
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define TORRE_INICIAL 1
#define TORRE_AUXILIAR 2
#define TORRE_FINAL 3
#define MAX_DISCOS 5

int hanoi(int numDiscos, int torreInicial, int torreAuxiliar, int torreFinal);
int inicializa_discos(int cantDiscos);
int diametro_discos(int cantDiscos);

int main()
{
    int cantDiscos, movimientos;
    system("Cls");
    printf("TORRES DE HANOI\n\n");
   printf("\nCantidad de discos a mover (max 5): ");
   scanf("%d", &cantDiscos);
   if(cantDiscos>MAX_DISCOS)
       printf("\nError! numero de discos maximo es 5\n");
    else
    {
        printf("\nLa serie de movimientos a realizar es:\n");
        printf("\nDiscos al inicio, se muestra el diametro de los discos:\n");
        printf("Torre1: \n",inicializa_discos(cantDiscos));
        printf("Torre2: \n");
        printf("Torre3: \n");
        movimientos = hanoi(cantDiscos, TORRE_INICIAL, TORRE_AUXILIAR, TORRE_FINAL);
        printf("\nSe realizaron en total %d movimientos\n", movimientos);
        printf("Presione una tecla para continuar...\n");
        getch();

    }
    return 0;
}

int hanoi(int numDiscos, int torreInicial, int torreAuxiliar, int torreFinal)
{
    int cantDiscos;
    static int movimientos = 0;
   if(numDiscos == 1)
   {
      printf("Mover el disco superior de la torre %d a la torre %d\n",torreInicial, torreFinal);
      movimientos++;
      printf("Torre1: \n");
      printf("Torre2: \n");
      printf("Torre3: \n");
   }
   else
   {
      hanoi(numDiscos - 1, torreInicial, torreFinal, torreAuxiliar);
      printf("Mover el disco superior de la torre %d a la torre %d\n",torreInicial, torreFinal);
      movimientos++;
      printf("Torre1: \n");
      printf("Torre2: \n");
      printf("Torre3: \n");
      hanoi(numDiscos - 1, torreAuxiliar, torreInicial, torreFinal);
   }
   return movimientos;
}

int inicializa_discos(cantDiscos)
{
    int i;
    for(i=cantDiscos;cantDiscos>=1;cantDiscos--)
       printf("%d",cantDiscos);

  return(cantDiscos);
}

Tengo un problema en la linea numero 26 de mi codigo, en vez de imprimir:

Torre1: 3 2 1 <- Son el numero de discos con los que se inicializa la torre.
 me imprime esto:

321Torre1:  (deberia de ser alreves)
 creo que no estoy llamando bien a la funcion inicializa_discos()

gracias de antemano
Páginas: 1 ... 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 [39] 40
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines