Foros del Web » Programación para mayores de 30 ;) » C/C++ »

porque no me toma los espacios en blanco

Estas en el tema de porque no me toma los espacios en blanco en el foro de C/C++ en Foros del Web. #include <stdio.h> #define MAX 50 void convercion (char *fr); int main() { char fr[MAX]; printf ("Por favor ingrese una frase\n"); gets (fr); convercion (fr); return ...
  #1 (permalink)  
Antiguo 12/02/2009, 07:37
 
Fecha de Ingreso: diciembre-2007
Mensajes: 41
Antigüedad: 16 años, 4 meses
Puntos: 0
porque no me toma los espacios en blanco

#include <stdio.h>
#define MAX 50

void convercion (char *fr);

int main()
{
char fr[MAX];
printf ("Por favor ingrese una frase\n");
gets (fr);
convercion (fr);

return 0;
}
void convercion (char *fr)
{
int cont=0;
while (*(fr++)!='\0')
{if (*fr==' ')
if ((*fr=='a') || (*fr=='A'))
cont++;
}
printf ("Las palabras que empiezan con a son: %d", cont);
}
  #2 (permalink)  
Antiguo 23/02/2009, 20:38
 
Fecha de Ingreso: enero-2009
Mensajes: 67
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: porque no me toma los espacios en blanco

no debe ser String, envez de char?
  #3 (permalink)  
Antiguo 24/02/2009, 02:24
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Respuesta: porque no me toma los espacios en blanco

Cita:
Iniciado por AlvaradoGunner Ver Mensaje
no debe ser String, envez de char?
No tiene nada que ver con el problema.

lucashard: *fr no puede ser al mismo tiempo un espacio y una 'a' o 'A', tenes que comprobar las letras en *(fr+1). Otra cosa es que no estas comprobando la primera palabra, esto es mas simple, solo tenes que comprobar las letras en *fr antes del bucle.

Te recomiendo que uses una sintaxis mas clara, como esta (el codigo sigue estando mal, es para que te des una idea):

Código:
while (*(fr++)!='\0')
{
  if (*fr==' ')
  {
    if ((*fr=='a') || (*fr=='A'))
    {
      cont++;
    }
  }
}
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:37.