Curso de Programación en C/Prog94

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

Prog94

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

Resultado

[rrc@llawyr CClase]$ gcc -Wall -o Prog94 Prog94.c
[rrc@llawyr CClase]$ ./Prog94
Escribe 5 palabras que se inician con la letra c:
cuarto
calidad
dar
dar no se inicia con la letra c!
corre
corto
cuadrado

Aquí está la lista de palabras aceptadas:
cuarto
calida
corre
corto
cuadra
[rrc@llawyr CClase]$

Explicación