Función C++ que reciba la dirección de inicio de una cadena de caracteres y devuelva el número de vocales que hay en la cadena.
#include <iostream>
using namespace std;
using namespace std;
int cuenta_vocales(char *);
int main()
{
char cadena[80];
cout << "Introduce cadena: ";
cin.getline(cadena, 80);
//en la llamada a la funcion se envía
//el array de caracteres
cout << "Numero de vocales: " << cuenta_vocales(cadena) << endl;
system("pause");
}
system("pause");
}
int cuenta_vocales(char *s) //s contiene la direccion de inicio del array de caracteres
{
int cont=0;
while(*s) //mientras no llegue al nulo
{
switch(toupper(*s)) //toupper pasa el carácter a mayúsculas para hacer la comprobación.
{ //el carácter original no se modifica.
case 'A':
case 'E':
case 'I':
case 'O':
case 'U': cont++;
}
s++;
}
return cont;
}
Bunaaa. me funciono este codigo perfecto para mi tarea
ResponderEliminargracias por el ejercicio
ResponderEliminargracias por el ejercicio
ResponderEliminarno funciono}
ResponderEliminarno funciona wey xd xxd -.- !como hago que funcione ? en que programa :(
ResponderEliminarLe añadí algunas cosillas
ResponderEliminar#include stdio.h
#include stdlib.h
#include ctype.h
void CuentaVocales(char *);
int main()
{
char cadena[15];
printf("Introduce una palabra para contar sus vocales: ");
fflush(stdin);
gets(cadena);
CuentaVocales(cadena);
}
void CuentaVocales(char *s){
int contador=0,a=0,e=0,i=0,o=0,u=0;
while(*s){
switch(toupper(*s)){
case 'A':
a++;
contador++;
break;
case 'E':
e++;
contador++;
break;
case 'I':
i++;
contador++;
break;
case 'O':
o++;
contador++;
break;
case 'U':
u++;
contador++;
break;
}
s++;
}
printf("La cadena tiene %i vocales\n\n",contador);
printf("A: %i\n",a);
printf("E: %i\n",e);
printf("I: %i\n",i);
printf("O: %i\n",o);
printf("U: %i\n",u);
}
Gracias. Funciona en mi máquina. Y, el ejemplo resulta muy educativo.
ResponderEliminarDario
xs
ResponderEliminar