C/Visual C - problema con algoritmo pa contar vocales de un tex

 
Vista:

problema con algoritmo pa contar vocales de un tex

Publicado por joga10 (3 intervenciones) el 15/04/2008 06:00:42
m.m..m.mm.
tenog una duda con el while
tengo que hacer un algoritmo qeu cuente las vocales de un texto
pero no caxo como miercale hacerlo ya que me cuenta solo una vocal por texto
es decir si tengo la palabra elefante me cuenta una sola e
m.m.m. no caxo como hacerlo aqui les dejo el algoritmo
y me dicen qeu me falta plis para lograrlo
porfa
aqui va
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main ()
{
int contador;
char texto [100];
contador=0;

printf("Ingrese el texto ");
scanf("%s",texto);
switch(*texto)
{
case'a':
case'e':
case'i':
case'o':
case'u':
case'A':
case'E':
case'I':
case'O':
case'U':
contador++;
break;
}
printf("la cantidad de vocales es: %d ",contador);
scanf("%s", texto);
return (O);
}
plissss porfa que alguien me ayude valeeeeeeee
es con urgencia gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema con algoritmo pa contar vocales de un

Publicado por Nayumi orama (53 intervenciones) el 15/04/2008 13:47:36
¿Que significa eso de caxo y miercale?

Lo que estas haciendo es comparar sólo el primer caracter del buffer.
Necesitas hacer un bucle recorriendo todos los caracteres de la cadena y haciendo el switch con cada uno de los caracteres.
Algo así como

int nLen = strlen(texto);
for (int i=0; i < nLen; i++ )
{
switch ( texto[i] )
{
// aquí como lo tienes
}

}
[...]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:problema con algoritmo pa contar vocales de un

Publicado por eduardo (82 intervenciones) el 18/04/2008 05:53:27
claro como ya te dijeron tienes que recorrer la cadena caracter por caracter:
una forma seria esta:

char car;

int a, e, i, o, u;
a = e = i = o = u = 0,

printf( " Ingrese texto EOF para finalizar la cadena: " );
scan( "%c", &car );

while ( (car = getchar() ) != EOF ) {
switch( car ) {
case 'a': case 'A':
a++;
break;

case 'e': case 'E':
e++;
beak;
....

}
}

printf( " a = %d"
" e = %d"
" i = %d"
" o = %d"
" u = %d , a, e ,i o, u );
);

Espero te siva
salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar