Está en la página 1de 2

1 #include <stdio.

h>
2 #include <stdlib.h>
3 #include <ctype.h>
4 #include <time.h>
5 #include <string.h>
6
7 #define MAXSTR 80
8 #define MAXFRASE 7
9 #define CHAROCULT '*'
10
11 int veces(char [], char );
12 int randrango(int,int);
13 void impfrase(char []);
14 void funcion1(char []);
15 int funcion2(char [], char [], char);
16
17 int main()
18 {
19 char frases[MAXFRASE][MAXSTR] =
20 {"Al que madruga, Dios le ayuda.",
21 "No por mucho madrugar, amanece mas temprano.",
22 "A Dios rogando y con el maso dando",
23 "Quien tiempo tiene, tiempo espera. Tiempo llega, que quiere y no puede.",
24 "A quien Dios se lo dio, San Pedro se lo bendiga.",
25 "Dime con quien andas y te dire quien eres.",
26 "El corazon de la auyuma solo lo conoce el cuchillo."
27 };
28
29 char frase[MAXSTR], showfrase[MAXSTR];
30
31 int ind,reemplazos;
32
33 srand(time(NULL));
34
35 for ( ind = 0; ind < MAXFRASE; ind ++ )
36 printf("%d-%s\n",ind+1,frases[ind]);
37
38
39 printf("\nFrase seleccionada\n");
40 strcpy(frase,frases[randrango(0,4)]);
41 strcpy(showfrase,frase);
42
43 printf("%s\n",frase);
44
45 impfrase(frase);
46 printf("\n");
47
48 // Ejemplos de llamada de las funciones
49 // a realizar.
50
51 funcion1(showfrase);
52 reemplazos = funcion2(frase,showfrase,'a');
53
54 // si hubo reemplazos.
55 if (reemplazos > 0)
56 printf("Se reemplazaron %d posiciones...",reemplazos);
57
58 return 0;
59 }
60
61 /*
62 Función: Veces
63 Argumentos: char cad[], char caract.
64 Objetivo: Determinar las veces que está el caracter 'caract' en la cadena 'cad'.
65 Retorno: int. Cantidad de repeticiones de 'caract' en 'cad'
66 */
67 int veces(char cad[], char caract )
68 {
69 int ind, cont = 0;
70
71 for (ind = 0; cad[ind]; ind ++ )
72 if ( cad[ind] == caract )
73 cont++;
74
75 return cont;
76
77 }
78
79 /*
80 Función: rangrango
81 Argumentos: rango de enteros: rangini y rangfin.
82 Objetivo: retornar un valor aleatorio entre un rango de valores [rangini,rangfin]
83 Retorno: Entero aleatorio.
84 */
85 int randrango(int rangini,int rangfin)
86 {
87 return rand() % (rangfin - rangini + 1) + rangini;
88 }
89
90 void impfrase(char frase[])
91 {
92 int ind;
93 char caract;
94
95 for (ind = 0; frase[ind]; ind ++ )
96 {
97 caract = tolower(frase[ind]);
98 if ( caract >= 'a' && caract <= 'z')
99 printf("%c",CHAROCULT);
100 else
101 printf("%c",caract);
102 }
103
104 void sobreescri(char frase[])
105 {
106 int i;
107 for(i = 0; frase[i]; i++)
108 frase[e] = tolower(frase[e]);
109 printf("%s\n", frase);
110 for(i = 0; frase[e]; e++)
111 frase[e] = toupper(frase[e]);
112 printf("%s\n", frase);
113 getch();
114
115 return;
116 }
117

También podría gustarte