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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
141  Programación / Programación C/C++ / Re: Duda programa con estructuras de control en: 10 Noviembre 2011, 21:26 pm
Hola

Inténtalo por lo menos, si no te sale te ayudo

Saludos
142  Programación / Programación C/C++ / Re: Duda programa con estructuras de control en: 10 Noviembre 2011, 10:48 am
Hola

Código
  1. else
  2.        {
  3.        printf("Valor erroneo");
  4.        while(getchar()!='\n');
  5.        getchar();
  6.        return 0;
  7.        }
  8.  

He añadido esto cada vez que comprobamos un carácter de los introducidos. Tú compruebas si son caracteres válidos con los if, pues si no son válidos entra en el else e imprime un mensaje por pantalla. El while lo que hace es limpiar el buffer de entrada y el getchar de detrás del while espera a que pulses una tecla, y el return para finalizar el programa. Al final de todo pasa lo mismo, limpiamos el buffer de entrada y el programa espera a que se pulse una tecla.

Espero que lo hayas entendido. Hay gente que para pausar el programa utiliza un system("pause"); pero eso solo funciona en windows, el getchar es estandar.

Saludos
143  Programación / Programación C/C++ / Re: Duda programa con estructuras de control en: 9 Noviembre 2011, 22:54 pm
Hola

¿Es esto lo que pides??

Código
  1. #include <stdio.h>
  2.  
  3. int main ()
  4. {
  5.    char car1;
  6.    char car2;
  7.    char valor1;
  8.    char valor2;
  9.    int valor;
  10.  
  11.    printf("Introduzca un valor hexadecimal:\n");
  12.    scanf("\n%c%c", &car1, &car2);
  13.  
  14.    if('0'<=car1 && car1<='9')
  15.        valor1=car1-'0';
  16.    else if ('A'<=car1 && car1<='F')
  17.        valor1=car1-'A'+10;
  18.    else if ('a'<=car1 && car1<='f')
  19.        valor1=car1-'a'+10;
  20.    else
  21.        {
  22.        printf("Valor erroneo");
  23.        while(getchar()!='\n');
  24.        getchar();
  25.        return 0;
  26.        }
  27.  
  28.    if('0'<=car2 && car2<='9')
  29.        valor2=car2-'0';
  30.    else if ('A'<=car2 && car2<='F')
  31.        valor2=car2-'A'+ 10;
  32.    else if ('a'<=car2 && car2<='f')
  33.        valor2=car2-'a'+10;
  34.    else
  35.        {
  36.        printf("Valor erroneo");
  37.        while(getchar()!='\n');
  38.        getchar();
  39.        return 0;
  40.        }
  41.  
  42.    valor= 16*valor1 + valor2;
  43.  
  44.    printf("EL valor decimal de 0x%c%c es %d\n",car1,car2,valor);
  45.  
  46.    while(getchar()!='\n');
  47.    getchar();
  48.    return 0;
  49. }
  50.  

Saludos
144  Programación / Programación C/C++ / Re: Arreglo AYUDA! en: 9 Noviembre 2011, 20:59 pm
Señor lo tendrá en su mesa por la mañana.

Léete las normas, anda, no se hacen tareas
145  Programación / PHP / Re: Heredar varios objetos + PHP en: 4 Noviembre 2011, 12:08 pm
Hola

Acabo de ver esto, no se si será correcto o es lo que buscas pues estoy empezando en PHP

Saludos
146  Programación / Programación C/C++ / Re: ¿Error código? en: 3 Noviembre 2011, 22:30 pm
Hola

Veo  2 errores:
-Las comparaciones se hacen con == no con = (que es asignación) (linea 17)
-El error que te da es por poner else (a<b), las condiciones solo se ponen en el if no en el else, es decir, si se cumple la condición del if entra, si no se cumple entra en el else, por tanto debes quitar el (a<b) y dejar el else solo

Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4.  
  5. {
  6.    int a,b,c;
  7.  
  8.    printf("Dame un valor:");
  9.    scanf("%d", &a);
  10.  
  11.    printf("Dame un valor:");
  12.    scanf("%d", &b);
  13.  
  14.    if (a>b)
  15.        printf("%d es mayor que %d", a,b);
  16.  
  17.    else if (a==b)
  18.        printf("%d es igual que %d", a,b);
  19.  
  20.    else
  21.        printf("%d es menor que %d", a,b); /*Línea 21*/
  22.  
  23.    return 0;
  24. }
  25.  

Saludos
147  Programación / Programación C/C++ / Re: unir cadenas mediante punteros en: 3 Noviembre 2011, 20:12 pm
Hola

No se si funcionará pero sería una idea:
Código
  1. void reverse(char *punt,char *puntt)
  2. {
  3.    int largo1=0, largo2=0, lg=0, i;
  4.    char *aux = punt, *aux2 = puntt;
  5.    while(*punt!='\0')
  6.        {
  7.        punt++;
  8.        largo1++;
  9.        }
  10.    while(*puntt!='\0')
  11.        {
  12.        puntt++;
  13.        largo2++;
  14.        }
  15.    lg=largo1+largo2;
  16.    char largos[lg];
  17.  
  18.    for(i=0; i<largo1; i++)
  19.        {
  20.        largos[i] = *aux;
  21.        aux++;
  22.        }
  23.    for(; i<lg; i++)
  24.        {
  25.        largos[i] = *aux2;
  26.        aux2++;
  27.        }
  28. }
  29.  

Saludos
148  Programación / Programación C/C++ / Re: programacion en turbo c++ en: 3 Noviembre 2011, 17:09 pm
Hola

Tienes algunos errores de concepto, deberías coger un buen libro y comenzar con él, además mezclas C con C++, utilizas conio (que está obsoleta), etc.

Puedes encontrar buenos libros aquí, además te vendrá bien leerte esto

Como al menos lo has intentado te lo resuelvo, pero no te acostumbres  :P

Código
  1. #include <cstring>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6.  
  7. bool palindroma(char *palabra, int inicio, int lon)
  8. {
  9.    if(palabra[inicio] != palabra[lon])
  10.        return false;
  11.    if(inicio < lon)
  12.        return palindroma(palabra, inicio+1, lon-1);
  13.    return true;
  14. }
  15.  
  16.  
  17. int main()
  18. {
  19.    int n = 0, opcion;
  20.    char b = 'n';
  21.    char palabra[100];
  22.  
  23.    memset(&palabra, 0x00, 100);
  24.  
  25.    while (b == 'n')
  26. {
  27. cout << "\n\n\t\tPrograma que indica si una palabra es polindroma.\n";
  28. cout << "\t\t***************************************************\n\n";
  29. cout << "\t1] Escribir una palabra\n";
  30. cout << "\t2] Saber si es polindroma\n";
  31. cout << "\t3] Contar\n";
  32. cout << "\t4] Salir\n";
  33. cout << "\n\n\tOpcion: ";
  34. cin >> opcion;
  35.  
  36. switch(opcion)
  37. {
  38.            case 1:
  39.                cout << "\n\tIntroduce una palabra: ";
  40.                cin >> palabra;
  41.                n=strlen(palabra);
  42.                cout << "\n\tOK. Pulse una tecla para continuar...";
  43.                while(cin.get() != '\n');
  44.                cin.get();
  45.                break;
  46.  
  47.            case 2:
  48.                if(n != 0)
  49.                    {
  50.                    if(palindroma(palabra, 0, n-1))
  51.                        cout << "\n\tLa palabra \"" << palabra << "\" es palindroma" << endl;
  52.                    else
  53.                        cout << "\n\tLa palabra \"" << palabra << "\" NO es palindroma" << endl;
  54.                    }
  55.                else
  56.                    cout << "\n\tDebes introducir una palabra antes. Opcion 1 del menu" << endl;
  57.                cout << "\n\tOK. Pulse una tecla para continuar...";
  58.                while(cin.get() != '\n');
  59.                cin.get();
  60.                break;
  61.  
  62.            case 3:
  63.                if(n != 0)
  64.                    cout << "\n\tLa palabra \"" << palabra << "\" tiene " << n << " letras" << endl;
  65.                else
  66.                    cout << "\n\tDebes introducir una palabra antes. Opcion 1 del menu" << endl;
  67.                cout << "\n\tOK. Pulse una tecla para continuar...";
  68.                while(cin.get() != '\n');
  69.                cin.get();
  70.                break;
  71.  
  72.            case 4:
  73.                cout << "\n\tHa selecionado salir, desea continuar? (s/n): ";
  74.                cin >> b;
  75.                break;
  76.  
  77.            default:
  78.         cout << "\n\tOpcion incorrecta. Pulsa una tecla para continuar...";
  79.                while(cin.get() != '\n');
  80.                cin.get();
  81.            }
  82.        }
  83.    cout << endl << endl << endl;
  84. return 0;
  85. }
  86.  

Saludos
149  Programación / Programación C/C++ / Re: Error al compilar en: 1 Noviembre 2011, 12:00 pm
Hola

Te sobra la llave que tienes justo después del if. Tu tienes
if  { (....) {
y debería ser
if (.....) {

Saludos
150  Programación / Programación C/C++ / Re: [Ayuda] Eliminar entradas en un binario en: 30 Octubre 2011, 22:24 pm
Hola

Tienes algunos errores de concepto, para borrar un registro de un fichero tienes que guardar los válidos en otro fichero y luego cambias el nombre del nuevo fichero.

Te pongo el código, aunque no lo he probado (paso de los errores por culpa de conio)
Código
  1. void baja()
  2. {
  3.    int encontrado=0, ok=0, posicion=0;
  4.    struct dato aux;
  5.    char palabra[20], opc='n';
  6.    FILE *fic_aux;
  7.  
  8.    archivo = fopen(DICCIONARIO,"r+b");
  9.    if(archivo != NULL)
  10.        {
  11.        fseek(archivo, 0, SEEK_END);
  12.        if(ftell(archivo) != 0)
  13.            {
  14.            fseek(archivo, 0, SEEK_SET);
  15.            memset(&aux, 0x00, sizeof(struct dato));
  16.            memset(&palabra, 0x00, 20);
  17.  
  18.            printf("ELIMINAR PALABRAS\n");
  19.            printf("\n Ingrese la palabra a eliminar: ");
  20.            gets(palabra);
  21.            strlwr(palabra);
  22.            while(encontrado==0 && !feof(archivo))
  23.                {
  24.                fread(&aux, sizeof(struct dato), 1, archivo);
  25.                if(strcmp(palabra, aux.palabra) == 0)
  26.                    encontrado=1;
  27.                }//while
  28.  
  29.            if(encontrado == 1)
  30.                {
  31.                printf("\n Esta seguro que desea eliminar la entrada del diccionario (s/n)\n");
  32.                printf("\n Palabra: %s \n Sinonimos: %s %s %s\n Antonimo: %s\n Paronimo: %s\n",aux.palabra,aux.sinonimo1,aux.sinonimo2,aux.sinonimo3,aux.antonimo,aux.paronimo);
  33.  
  34.                scanf("%c", &opc);
  35.                while(getchar()!='\n');
  36.  
  37.                if(opc=='s' || opc=='S')
  38.                    {
  39.                    fseek(archivo, -(sizeof(struct dato)), SEEK_CUR);
  40.                    posicion = ftell(archivo);
  41.                    fseek(archivo, 0, SEEK_SET);
  42.                    fic_aux = fopen("Auxiliar.bin", "wb");
  43.                    if(aux)
  44.                        {
  45.                        while(ftell(archivo) < posicion)
  46.                            {
  47.                            fread(&aux, sizeof(struct dato), 1, archivo);
  48.                            fwrite(&aux, sizeof(struct dato), 1, fic_aux);
  49.                            }
  50.                        //Adelantamos una posición el cursor
  51.                        fread(&aux, sizeof(struct dato), 1, archivo);
  52.                        while(!feof(archivo))
  53.                            {
  54.                            fread(&aux, sizeof(struct dato), 1, archivo);
  55.                            fwrite(&aux, sizeof(struct dato), 1, fic_aux);
  56.                            }
  57.                        fclose(aux);
  58.                        }
  59.                    }
  60.                }
  61.            else
  62.                printf("\n No se encontro la palabra ingresada\n");
  63.            }
  64.        else
  65.            printf("\nEl fichero esta vacio\n");
  66.  
  67.        fclose(archivo);
  68.  
  69.        remove(DICCIONARIO);
  70.        rename("Auxiliar.bin", DICCIONARIO);
  71.        }
  72.    else
  73.        printf("No se pudo abrir al fichero");
  74. }//void
  75.  

Saludos
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines