Hola una pequeña duda, uso C , cn dev c++ ... necesito hacer un programa que me diga cuantas vocales accentudas hay.. pero al meter -> car == ' á ' , no me lo coje el programa es mas no me deja ni compilarlo... nose si esque me coje el ' Ž ' en otro pulso distinto al de la A .. ¿ Alguien sabe que puedo hacer?? solo puedo usar bucles de repeticion.. y estructuras sencillas.
igual te es mas facil compararlos como enteros, a fin de cuentas los chars son enteros sin signo y contienen el codigo del caracter q le asignes
Te da error en la linea del if ?
Tal vez seria mejor q pusieras todo el código aquí q no creo q sea muy extenso
while (car != '*' ) {
if ( car == 'á' || car == 'é' || car == 'í' || car == 'ó' || car == 'ú' ){
vocal_ac = vocal_ac + 1;
}
Se supone que el while me dice que cuando inserte el char '*' me pare el programa, lo demás es
lo que hago para que me vaya sumando las vocales con asteriscos... y al compilar (ahora si me compila) no me suma las vocales.
Vas a tener que meterle la comparacion con el codigo ASCII... algunos compiladores son asi de desgraciados.
Otra forma es comparar cadenas con strcmp (aunque sea una cadena d un caracter).
Si el resultado de strcmp(caracter, "à") es igual a 0 es que son iguales.
De todas formas es mas eficiente que uses como te han dicho antes, el código ASCII de los caracteres y compares enteros.
ké fallo de compilación te da? prueba a poner todas las condiciones entre paréntesis, que además es una buena práctica para mejorar la legibilidad
Y como le meto al código ascci ...?? por ejemplo la á es es el 160 en la tabla ASCII .. pero tengo que abrir alguna libreria o algo :S ?? nunca use ascii