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 - yuna88

#1
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
Cita de: eferion en 21 Abril 2014, 16:25 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".


int espacio = 0;
int i;
for ( i = 0; frase[ i ] != '\0'; i++ )
{
 if ( espacio )
 {
   // A mayusculas
 }
 else
 {
   // A minusculas
 }

 espacio = ( frase[ i ] == ' ' );
}


Hola eferion,

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

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

Y luego... En los comentarios // A mayúsculas y //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 C/C++ / Programa capitalizador
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:


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

int main()
{
char frase[100];

printf("Introduce una frase: ");
scanf("%s",&frase);

frase[0]=toupper(frase[0]);

printf("La frase capitalizada es: %s\n",frase);

system("PAUSE");
return 0;
}
 

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
¡Ostras! Vaya error más tonto.

Muchas gracias noele1995 por tu ayuda.

Un saludo  :-*
#5
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:


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

void piramide(int altura);

int main()
{
int alt;

printf("Altura: \n");
scanf("%d",&alt);

piramide(altura);

system("PAUSE");
return 0;
}

void piramide(int altura)
{
int k,j;

for (k=1;k<=altura;k++)
{
for (j=1;j<=altura-k;j++)
    printf(" ");
for(j=1;j<=2*k-1;j++)
    if (j%2==0)
      printf(" ");
    else
      printf("*");
    printf("\n");
    }
}


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

Gracias nuevamente por vuestra ayuda  :-*
#6
Programación C/C++ / Piramide de asteriscos
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):


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

int main()
{
int altura,j,k;

printf("Altura: \n");
scanf("%d",&altura);
printf("\n");

if(altura>0)
{
for (k=1;k<=altura-1;k++)
    printf(" ");
printf("*");
printf("\n");
}

for (k=2;k<=altura-1;k++)
{
for (j=1;j<=altura-k;j++)
printf(" ");
printf("*");

for(j=1;j<=2*k-3;j++)
printf(" ");
printf("*");
printf("\n");
}

if (altura>1)
{
printf("*");
for (k=1;k<=altura-1;k++)
{
printf(" ");
printf("*");
}
printf("\n");
}

system("PAUSE");
return 0;
}


Espero que me podáis ayudar.

Un saludo  :-*
#7
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
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:
void toUpperCase( char frase[ ] )

Dejo el código que llevo realizado hasta ahora:
#include <stdio.h>
#include <stdlib.h>

void pedir_datos(char frase[]);
void toUpperCase(char frase[]);
void toLowerCase(char frase[]);

int main()
{

   char frase[100];
   pedir_datos(frase);
   printf("Frase original: %s\n",frase);
   toUpperCase(frase);
   printf("Mayuscula: %s\n",frase);
   toUpperCase(frase);
   printf("Minuscula: %s\n",frase);
   getch();
   
system("PAUSE");
  return 0;
}


void pedir_datos (char frase[])
{
char s;
   printf("Introduce una frase: \n");
   gets(s);
}


void toUpperCase(char frase[])
{
int s;
   for( ; s!='\0'; s++)
       if(s>='a' && s<='z')
           s-=(char)32;
}


void toLowerCase(char frase[])
{
int s;
   while(s!='\0')
{
       if(s>='A' && s<='Z')
           s+=(char)32;
       s++;
   }
}


¿Alguien ve porque el programa me falla?

Un saludo y muchas gracias  :-*
#9
Programación C/C++ / Re: [C] Estructuras
16 Marzo 2014, 14:15 PM
Cita de: amchacon en 16 Marzo 2014, 14:07 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 C/C++ / Re: [C] Estructuras
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:

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

int main()
{
     struct coordenada{
     int x;
     int y;
    } coordenada;
   
    typedef struct coordenada inicio;
    typedef struct coordenada destino;
   
printf("Introduce la coordenada x1: \n");
scanf("%d",&inicio.x);
fflush(stdin);
printf("Introduce la coordenada y1: \n");
scanf("%d",&inicio.y);
fflush(stdin);
printf("Introduce la coordenada x2: \n");
scanf("%d",&destino.x);
fflush(stdin);
printf("Introduce la coordenada y2: \n");
scanf("%d",&destino.y);
fflush(stdin);


system("PAUSE");
return 0;
}


Espero que me podáis ayudar.

Un saludo  :-*