Curso de Programación en C/Prog92

De WikiCabal
Ir a la navegación Ir a la búsqueda

Prog92

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 #define TAMANO 40
 5 #define LIM 5
 6 
 7 int main( void )
 8 {
 9   char qwords[LIM][TAMANO];
10   char temp[TAMANO];
11   int i = 0;
12 
13   printf("Escribe %d palabras que se inician con la letra c:\n", LIM );
14 
15   while( i < LIM )
16   {
17     fgets( temp, TAMANO - 2, stdin );
18 
19     if( *temp != 'c' )
20     {
21       if( strlen( temp ) < TAMANO - 2 )
22         *(temp + strlen( temp ) - 1 ) = '\0';
23 
24       printf( "%s no se inicia con la letra c!\n", temp);
25     }
26     else
27     {
28       if( strlen( temp ) < TAMANO - 2 )
29         *(temp + strlen( temp ) - 1 ) = '\0';
30 
31 // Uso de strcpy sin chequear tamaños es MUY peligroso
32 // Mira strncpy a ver manera mejor
33       strcpy(qwords[i], temp);
34 
35       i++;
36     }
37   }
38   puts( "\nAquí está la lista de palabras aceptadas:" );
39 
40   for( i = 0; i < LIM; i++ )
41     puts( qwords[i] );
42 
43   return 0;
44 }

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