1
« en: Miércoles 14 de Octubre de 2015, 05:01 »
Buenas noches amigos, tengo un problema con este programa, en donde tengo que hacer que el usuario ingrese un nombre y me muestre cuantas vocales, consonantes y espacios tiene, el problema aqui es que me lee mucha basura y cuando cambio lo que esta dentro del for me marca o me lee mejor dicho solo un caracter(ya sea espacio, consonante o vocal) me gustaria saber si podrian ayudarme con este programa, aqui les dejo mi codigo.
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <conio.h>
#include <windows.h>
#include <iomanip>
using namespace std;
int main (){
char nom[30];
int vocal=0, cons=0, esp=0;
int i=0;
cout<<"Ingresa tu nmbre: "<<endl;
cin.getline(nom,30);
for (i=0;i!='\30';i++){
if (((nom[i]>='A')&&(nom[i]<='Z'))||((nom[i]>='a')&&(nom[i]<='z')))
{
if((nom[i]=='a')||(nom[i]=='e')||(nom[i]=='i')||(nom[i]=='o')||(nom[i]=='u')
||(nom[i]=='A')||(nom[i]=='E')||(nom[i]=='I')||(nom[i]=='O')||(nom[i]=='U'))
{
vocal=vocal+1;
}
else
{
cons=cons+1;
}
}
else
{
esp=esp+1;
}
}
cout<<"El nombre tiene: "<<vocal<<" Vocales, "<<cons<<" Consonantes y "<<esp<<" Espacios"<<endl;
system("pause");
return 0;
}