Informática, pregunta formulada por shailyqg780, hace 3 meses

Ayúdenme con este problema de c++

Adjuntos:

Respuestas a la pregunta

Contestado por Alejok0
1

Descripción del problema:

Palabra loca

Descripción

Dado cierto número, convertirlo utilizando la palabra loca según las siguientes reglas:

Leyendo las letras de la palabra de izquierda a dereclla:

  • Si es una vocal sumar 100
  • Si es un consonante de la "b" a la "m" dividir entre dos y soicitar su parte entera.
  • Si es una constante de la "n" a la "z" excepto x, restar 10
  • Si es una "x" ignorar el resto de la frase

(Adjunte la descripcion para que los navegadores enlacen a la respuesta)

Respuesta:

#include <iostream>

#include <string>

using namespace std;

int Ascci(char letra){

 int valorAscci = letra;

 return valorAscci;

 }

   

int main(){

 string palabra;

 int letra, cantidad;

 cantidad = 0;

 cout<<"Escriba una palabra: ";

 cin>>palabra;

 //Letras minusculas 97-122

 //Vocales 97,101,105,111,117

 //b-m 98-109

 //n-z 110-122

 //x 120

 for(int i = 0; i < palabra.size();i++){

   letra = Ascci(palabra[i]);

   

   if((letra == 97) || (letra ==101) || (letra == 105) || (letra == 111) || (letra == 117)){

     cantidad += 100;

   }else{

     if(letra == 120){

       i = palabra.size();

     }else{

       if(letra >= 98 && letra <=109){

         cantidad = cantidad/2;

       }else{

         cantidad -= 10;

       }

     }

   }

 }

 cout<<"Total: "<<cantidad;

}

Explicación:

Primero recibes la palabra y evaluas letra por letra, con la funcion Ascci que ayuda a obtener el código ascci de cada letra, posteriormente se evalua que operacion corresponde según la letra actual.

Otras preguntas