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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: [1] 2
1  Programación / Programación C/C++ / Re: Programa capitalizador en: 21 Abril 2014, 20:04 pm
Hola leosansan,

Decirte que Blaster tiene razón. Sí ejecuto tú código, el resultado es:
I ove his ame

En cambio, si añado el +1 al indice i, aparece la frase correctamente.

Un saludo y gracias a ambos por la ayuda  :-*
2  Programación / Programación C/C++ / Re: Programa capitalizador en: 21 Abril 2014, 17:53 pm
cuando tienes que hacerle una pregunta al código, la solución es un if o un switch.

En tu caso, la opción lógica es un if.

Lo primero que necesitas es una variable para controlar si el carácter anterior era un espacio o no... algo tipo int espacio = 0; te valdría.

Después tienes que meter un bucle for que recorra toda la "frase". Recuerda que una cadena SIEMPRE termina con el carácter nulo '\0'. En cada iteración del bucle tienes que comprobar el valor de "espacio" y actuar en consecuencia... y no olvidarte de volver a actualizar "espacio".

Código
  1. int espacio = 0;
  2. int i;
  3. for ( i = 0; frase[ i ] != '\0'; i++ )
  4. {
  5.  if ( espacio )
  6.  {
  7.    // A mayusculas
  8.  }
  9.  else
  10.  {
  11.    // A minusculas
  12.  }
  13.  
  14.  espacio = ( frase[ i ] == ' ' );
  15. }

Hola eferion,

Primero de todo, darte las gracias por ofrecerte a ayudarme. Ahora paso a realizarte un par de preguntas.

¿La condición del
Código
  1. if
no está completa no? Falta algo...

Y luego... En los comentarios
Código
  1. // A mayúsculas
y
Código
  1. //A minúsculas
¿Te refieras que introduzca el código necesario para que la frase sea convertida respectivamente a esos formatos?

Muchas gracias de nuevo.

Un saludo  :-*

 
3  Programación / Programación C/C++ / Programa capitalizador en: 21 Abril 2014, 16:16 pm
Hola a todos, necesito realizar un programa que al introducirle una frase en cualquier formato (mayúsculas o minúsculas) me capitalice la frase. Es decir sí introduzco I love This GAME el programa por pantalla me mostrará I Love This Game.

Paso a mostraros el código que tengo hasta ahora que de poco sirve porque solo me pone en mayúscula la primera palabra:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <ctype.h>
  4.  
  5. int main()
  6. {
  7. char frase[100];
  8.  
  9. printf("Introduce una frase: ");
  10. scanf("%s",&frase);
  11.  
  12. frase[0]=toupper(frase[0]);
  13.  
  14. printf("La frase capitalizada es: %s\n",frase);
  15.  
  16. system("PAUSE");
  17. return 0;
  18. }
 

Para que el programa haga lo que realmente necesito, sería necesario que la primera letra de la frase fuera mayúscula y cada vez que se detecte un espacio, la siguiente letra también fuera en mayúscula. Creo que éste es el razonamiento correcto a éste programa, el problema es, que no se muy bien como plantearlo.

Espero que me podáis ayudar.

Un saludo  :-*
4  Programación / Programación C/C++ / Re: Piramide de asteriscos en: 12 Abril 2014, 14:56 pm
¡Ostras! Vaya error más tonto.

Muchas gracias noele1995 por tu ayuda.

Un saludo  :-*
5  Programación / Programación C/C++ / Re: Piramide de asteriscos en: 12 Abril 2014, 11:32 am
Hola leosansan,

Gracias por tu ayuda :)

Ahora el segundo apartado del ejercicio me dice que pase ese mismo programa a funciones. Lo he intentado pero no me acaba de salir, dejo el código que llevo hecho hasta ahora:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void piramide(int altura);
  5.  
  6. int main()
  7. {
  8. int alt;
  9.  
  10. printf("Altura: \n");
  11. scanf("%d",&alt);
  12.  
  13. piramide(altura);
  14.  
  15. system("PAUSE");
  16. return 0;
  17. }
  18.  
  19. void piramide(int altura)
  20. {
  21. int k,j;
  22.  
  23. for (k=1;k<=altura;k++)
  24. {
  25. for (j=1;j<=altura-k;j++)
  26.   printf(" ");
  27. for(j=1;j<=2*k-1;j++)
  28.   if (j%2==0)
  29.     printf(" ");
  30.   else
  31.     printf("*");
  32.   printf("\n");
  33.   }
  34. }


No se que es lo que me falla porque aparentemente, lo veo bien :S

Gracias nuevamente por vuestra ayuda  :-*
6  Programación / Programación C/C++ / Piramide de asteriscos en: 11 Abril 2014, 14:53 pm
Hola, buenas tardes,

Tengo que realizar el síguete ejercicio y no me acaba de salir: Crea un programa que permita leer un numero natural N y que dibuje una pirámide de asteriscos con base y altura N. Pr ejemplo, si N=5, debería de dibujar:
   *
  **
  ***
 ****
 *****

Os dejo el código que llevo hasta ahora (la pirámide me la imprime pero no la "rellena" de asteriscos):

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. int altura,j,k;
  7.  
  8. printf("Altura: \n");
  9. scanf("%d",&altura);
  10. printf("\n");
  11.  
  12. if(altura>0)
  13. {
  14. for (k=1;k<=altura-1;k++)
  15.    printf(" ");
  16. printf("*");
  17. printf("\n");
  18. }
  19.  
  20. for (k=2;k<=altura-1;k++)
  21. {
  22. for (j=1;j<=altura-k;j++)
  23. printf(" ");
  24. printf("*");
  25.  
  26. for(j=1;j<=2*k-3;j++)
  27. printf(" ");
  28. printf("*");
  29. printf("\n");
  30. }
  31.  
  32. if (altura>1)
  33. {
  34. printf("*");
  35. for (k=1;k<=altura-1;k++)
  36. {
  37. printf(" ");
  38. printf("*");
  39. }
  40. printf("\n");
  41. }
  42.  
  43. system("PAUSE");
  44. return 0;
  45. }

Espero que me podáis ayudar.

Un saludo  :-*
7  Programación / Programación C/C++ / Re: [DUDA] Función mayúscula a minúscula y viceversa en: 29 Marzo 2014, 18:09 pm
Hola a todos,

Muchas gracia por vuestra gran ayuda.

Efectivamente el programa que utilizo para programar (valga la redundancia) es Dev-C++ 5.4.2, se que hay software mejor que ese pero es el que nos explican en clase así que lo tenemos que hacer con ese sí o sí.

Nuevamente, daros las gracias por vuestra ayuda desinteresada.

Un saludo  :-*
8  Programación / Programación C/C++ / [DUDA] Función mayúscula a minúscula y viceversa en: 29 Marzo 2014, 16:09 pm
Hola, buenas tardes,

Tengo que hacer un ejercicio con funciones y tengo que pasar una frase (que ingrese el usuario por teclado) a mayúsculas y minúsculas.

El encabezado de las funciones debe de ser:
Código
  1. void toUpperCase( char frase[ ] )

Dejo el código que llevo realizado hasta ahora:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void pedir_datos(char frase[]);
  5. void toUpperCase(char frase[]);
  6. void toLowerCase(char frase[]);
  7.  
  8. int main()
  9. {
  10.  
  11.    char frase[100];
  12.    pedir_datos(frase);
  13.    printf("Frase original: %s\n",frase);
  14.    toUpperCase(frase);
  15.    printf("Mayuscula: %s\n",frase);
  16.    toUpperCase(frase);
  17.    printf("Minuscula: %s\n",frase);
  18.    getch();
  19.  
  20. system("PAUSE");
  21.   return 0;
  22. }
  23.  
  24.  
  25. void pedir_datos (char frase[])
  26. {
  27. char s;
  28.    printf("Introduce una frase: \n");
  29.    gets(s);
  30. }
  31.  
  32.  
  33. void toUpperCase(char frase[])
  34. {
  35. int s;
  36.    for( ; s!='\0'; s++)
  37.        if(s>='a' && s<='z')
  38.            s-=(char)32;
  39. }
  40.  
  41.  
  42. void toLowerCase(char frase[])
  43. {
  44. int s;
  45.    while(s!='\0')
  46. {
  47.        if(s>='A' && s<='Z')
  48.            s+=(char)32;
  49.        s++;
  50.    }
  51. }

¿Alguien ve porque el programa me falla?

Un saludo y muchas gracias  :-*
9  Programación / Programación C/C++ / Re: [C] Estructuras en: 16 Marzo 2014, 14:15 pm
Pero si solo has leído los datos :huh:

La formula ya te la escribieron unas líneas atrás...

El problema es que en cada línea printf, me sale el siguente error al compilar: [Error] expected expression before 'inicio'

Por eso, no puedo continuar.

Un saludo  :-*
10  Programación / Programación C/C++ / Re: [C] Estructuras en: 16 Marzo 2014, 13:42 pm
Hola, buenos días,

Llevo un buen rato dándole vueltas al problema y no me sale bien :( Os pongo el código que llevo echo hasta ahora:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. int main()
  6. {
  7.     struct coordenada{
  8.     int x;
  9.     int y;
  10.    } coordenada;
  11.  
  12.    typedef struct coordenada inicio;
  13.    typedef struct coordenada destino;
  14.  
  15. printf("Introduce la coordenada x1: \n");
  16. scanf("%d",&inicio.x);
  17. fflush(stdin);
  18. printf("Introduce la coordenada y1: \n");
  19. scanf("%d",&inicio.y);
  20. fflush(stdin);
  21. printf("Introduce la coordenada x2: \n");
  22. scanf("%d",&destino.x);
  23. fflush(stdin);
  24. printf("Introduce la coordenada y2: \n");
  25. scanf("%d",&destino.y);
  26. fflush(stdin);
  27.  
  28.  
  29. system("PAUSE");
  30. return 0;
  31. }

Espero que me podáis ayudar.

Un saludo  :-*
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines