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 - m@o_614

#381
Programación C/C++ / Re: comparacion de cadenas
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 C/C++ / comparacion de cadenas
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??

#include <stdio.h>
#include <stdlib.h>
#define MAX_PERSONAS 3
#define NOMBRE 20
#define EDAD 20
#define ESTATURA 2

int main()
{
    int i;
    char nombre[NOMBRE],buscarNombre[NOMBRE];
    int edad[EDAD];
    float estatura[ESTATURA];
    printf("Dame los datos de 10 persona:\n");
    for(i=0;i<MAX_PERSONAS;i++)
    {
        printf("Dame el nombre de la persona:\n");
        scanf("%s",&nombre[i]);
        printf("Dame la edad de la persona\n");
        scanf("%d",&edad[i]);
        printf("Dame la estatura:\n");
        scanf("%f",&estatura[i]);
        system("cls");
    }
    printf("Dame el nombre de la persona que deseas buscar:\n");
    scanf("%s",&buscarNombre[i]);
    for(i=0;i<MAX_PERSONAS;i++)
    {
        if(strncmp(buscarNombre,nombre,NOMBRE)!=0)
        {
            printf("Dame la edad de la persona\n");
            scanf("%d",&edad[i]);
            printf("Dame la estatura:\n");
            scanf("%f",&estatura[i]);
        }
        else
           printf("No existe\n");
    }
    return 0;
}


de antemano gracias
#383
Programación C/C++ / Re: problema con while
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

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

typedef struct
{
    char nombre[20];
    char apellidos[20];
    char ciudad[15];
    char pais[15];
    char escuela[25];
    char correo_elect1[15];
    char correo_elect2[15];
    char contrasenia[10];
    int edad;
    char cumpleanios[10];

}registro;

int main()
{
    registro info_p;
    int opcion,situacion,i;
    printf("Menu\n");
    printf("1)Registrar cuenta\n");
    printf("2)Editar perfil\n");
    printf("3)Mensajes o Notificaciones\n");
    printf("4)Salir\n");
    do
    {
        printf("Elige una opcion:\n");
        scanf("%d",&opcion);
        switch(opcion)
        {
            case 1: printf("Registrarse \n");
                    printf("Nombre\n");
                    fflush(stdin);
                    gets(info_p.nombre);
                    printf("Apellidos\n");
                    fflush(stdin);
                    gets(info_p.apellidos);
                    printf("Correo Electronico\n");
                    fflush(stdin);
                    gets(info_p.correo_elect1);
                    printf("Contrasenia\n");
                    fflush(stdin);
                    gets(info_p.contrasenia);
                    printf("Pais\n");
                    fflush(stdin);
                    gets(info_p.pais);
                    printf("Ciudad\n");
                    fflush(stdin);
                    gets(info_p.ciudad);
                    printf("Edad\n");
                    fflush(stdin);
                    scanf("%d",&info_p.edad);
                    printf("\nBienvenid@ %s!!\n\n",info_p.nombre);
                    printf("Ingresar\n");
                    printf("Dame correo\n");
                    fflush(stdin);
                    gets(info_p.correo_elect2);
                    i=strncmp(info_p.correo_elect1,info_p.correo_elect2,15);
                    while(i!=0)
                    {
                        printf("Intentalo otra vez\n");
                        fflush(stdin);
                        gets(info_p.correo_elect2);
                    }
                    printf("El correo es el correcto\n");
                    break;
            case 2: printf("Editar perfil\n");
                    printf("Situacion sentimental\n\n");
                    printf("Elige:\n");
                    printf("1)Soltero\n");
                    printf("2)Casado\n");
                    printf("3)Union libre\n");
                    scanf("%d",&situacion);
                    switch(situacion)
                    {
                        case 1: printf("Soltero\n");
                                break;
                        case 2: printf("Casado\n");
                                break;
                        case 3: printf("Union libre\n");
                                break;
                        default:printf("No mostrar situacion sentimental\n");
                    }
                    printf("Formacion Academica\n");
                    fflush(stdin);
                    gets(info_p.escuela);
                    printf("Cumpleanios\n");
                    fflush(stdin);
                    gets(info_p.cumpleanios);
                    break;
            case 3: printf("Mensajes o Notificaciones\n");
                    printf("Quiere escribir un mensaje? (S/N)\n");
                    break;
            case 4: printf("Salir\n");
                    break;
        }
    }while(opcion!=4);
    return 0;
}


estas fueron las modificaciones que hice :(
#384
Programación C/C++ / problema con while
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

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

typedef struct
{
    char nombre[20];
    char apellidos[20];
    char ciudad[15];
    char pais[15];
    char escuela[25];
    char correo_elect1[15];
    char correo_elect2[15];
    char contrasenia[10];
    int edad;
    char cumpleanios[10];

}registro;

int main()
{
    registro info_p;
    int opcion,situacion;
    char resp;
    printf("Menu\n");
    printf("1)Registrar cuenta\n");
    printf("2)Editar perfil\n");
    printf("3)Mensajes o Notificaciones\n");
    printf("4)Salir\n");
    do
    {
        printf("Elige una opcion:\n");
        scanf("%d",&opcion);
        switch(opcion)
        {
            case 1: printf("Registrarse \n");
                    printf("Nombre\n");
                    fflush(stdin);
                    gets(info_p.nombre);
                    printf("Apellidos\n");
                    fflush(stdin);
                    gets(info_p.apellidos);
                    printf("Correo Electronico\n");
                    fflush(stdin);
                    gets(info_p.correo_elect1);
                    printf("Contrasenia\n");
                    fflush(stdin);
                    gets(info_p.contrasenia);
                    printf("Pais\n");
                    fflush(stdin);
                    gets(info_p.pais);
                    printf("Ciudad\n");
                    fflush(stdin);
                    gets(info_p.ciudad);
                    printf("Edad\n");
                    fflush(stdin);
                    scanf("%d",&info_p.edad);
                    printf("\nBienvenid@ %s!!\n\n",info_p.nombre);
                    printf("Ingresar\n");
                    printf("Dame correo\n");
                    fflush(stdin);
                    gets(info_p.correo_elect2);
                    while(info_p.correo_elect1!=info_p.correo_elect2)
                    {
                        printf("Intentalo otra vez\n");
                        fflush(stdin);
                        gets(info_p.correo_elect2);
                    }
                    printf("El correo es el correcto\n");
                    break;
            case 2: printf("Editar perfil\n");
                    printf("Situacion sentimental\n\n");
                    printf("Elige:\n");
                    printf("1)Soltero\n");
                    printf("2)Casado\n");
                    printf("3)Union libre\n");
                    scanf("%d",&situacion);
                    switch(situacion)
                    {
                        case 1: printf("Soltero\n");
                                break;
                        case 2: printf("Casado\n");
                                break;
                        case 3: printf("Union libre\n");
                                break;
                        default:printf("No mostrar situacion sentimental\n");
                    }
                    printf("Formacion Academica\n");
                    fflush(stdin);
                    gets(info_p.escuela);
                    printf("Cumpleanios\n");
                    fflush(stdin);
                    gets(info_p.cumpleanios);
                    break;
            case 3: printf("Mensajes o Notificaciones\n");
                    printf("Quiere escribir un mensaje? (S/N)\n");
                    scanf("%c",&resp);
                    if(resp=='S')
                       printf("Escriba el mensaje\n");
                    else
                    if(resp=='N')
                       printf("Leer notificaciones\n");
                    else
                       printf("Error\n");
                    break;
            case 4: printf("Salir\n");
                    break;
        }
    }while(opcion!=4);
    return 0;
}
#385
Programación C/C++ / Re: funcion trunc
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 C/C++ / funcion trunc
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:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
//Este programa muestra los valores de los tipos de datos//

int main()
{
    char dato;
    printf("Dame un dato\n");
    scanf("%c",&dato);
    if(trunc(dato)-dato==0)
        printf("Es un tipo de dato int\nCon un rango de -32,768 a 32,767\n");
    else
    if(trunc(dato)-dato!=0)
        printf("Es un tipo de dato float\nCon un rango de 3.4 E-38 a 3.4 E+38\n");
    return 0;
}
#387
no entiendo por que usas doble puntero  :o ????
#388
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

#include <stdio.h>
#include <stdlib.h>//funcion malloc()
#include <conio.h> // funcion getch()
#include <string.h> // funcion strcpy()
#define  MAX_REG 20 //Define el maximo numero de registros

// Primero definimos los tipos
typedef struct registro1
{
    char concepto[30+1];
    char RFC[21+1];
    float monto;
    int mes;
    struct registro1* sig;

}ingreso;

int introduceRegistro(ingreso *pIngreso);//le pasamos el puntero original de la lista

int main()
{
    ingreso *pIngreso;
    printf("\nIngresa los datos del registro \n");
    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

    getch();
    return 0;
}

int introduceRegistro(ingreso *pIngreso)
{
    int i;
    for(i=0,pIngreso->sig==NULL;i<MAX_REG;i++,pIngreso=pIngreso->sig)
    {
        pIngreso=(ingreso*)malloc(sizeof(ingreso));//A todo puntero hay que asignarle memoria.
        printf("Concepto :");
        fflush(stdin);
        gets(pIngreso->concepto);
        printf("RFC :");
        fflush(stdin);
        gets(pIngreso->RFC);
        printf("Monto :");
        fflush(stdin);
        scanf("%f",&pIngreso->monto);
        printf("Mes :");
        fflush(stdin);
        scanf("%d",&pIngreso->mes);
    }
return 0;
}
#389
Programación C/C++ / Re: Torres de Hanoi
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 C/C++ / Torres de Hanoi
21 Diciembre 2011, 05:47 AM

#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