Curso de Programación en C/Prog92

De WikiCabal
Saltar a: navegación, buscar

Prog92

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

#define TAMANO 40
#define LIM 5

int main( void )
{
  char qwords[LIM][TAMANO];
  char temp[TAMANO];
  int i = 0;

  printf("Escribe %d palabras que se inician con la letra c:\n", LIM );

  while( i < LIM )
  {
    fgets( temp, TAMANO - 2, stdin );

    if( *temp != 'c' )
    {
      if( strlen( temp ) < TAMANO - 2 )
        *(temp + strlen( temp ) - 1 ) = '\0';

      printf( "%s no se inicia con la letra c!\n", temp);
    }
    else
    {
      if( strlen( temp ) < TAMANO - 2 )
        *(temp + strlen( temp ) - 1 ) = '\0';

// Uso de strcpy sin chequear tamaños es MUY peligroso
// Mira strncpy a ver manera mejor
      strcpy(qwords[i], temp);

      i++;
    }
  }
  puts( "\nAquí está la lista de palabras aceptadas:" );

  for( i = 0; i < LIM; i++ )
    puts( qwords[i] );

  return 0;
}

Resultado

[rrc@llawyr CClase]$ gcc -Wall -o Prog92 Prog92.c
[rrc@llawyr CClase]$ ./Prog92
Escribe 5 palabras que se inician con la letra c:
cual
dog
dog no se inicia con la letra c!
contra
cuarto
calidad
corre

Aquí está la lista de palabras aceptadas:
cual
contra
cuarto
calidad
corre
[rrc@llawyr CClase]$ 

Explicación