Un aprendizaje Bot conversacional en C++ (2 / 6 paso)

Paso 2: Learner.cpp

Cree otro archivo llamado learner.cpp y copia el código en la imagen.

Echemos un vistazo a la función de responder. El algoritmo es fundamentalmente simple, pero las operaciones de archivo pueden ser confusas.

En la línea 15 creamos un objeto de secuencia de archivo y a continuación, asigne el archivo de la memoria en la línea 16. Nota el argumento ios::in. Esto significa que queremos abrir el archivo de entrada, es decir, para leer el archivo.

En la línea 19 comenzamos un tiempo bucle que continuará hasta el final del archivo.

Línea 21, getline, leerá una línea de multi word, donde el cursor actualmente se sentó, y entonces mover a la siguiente línea para la operación futura. La frase se almacena en la variable identificador.

En la línea 23 vemos si la frase actual coincide con la frase del usuario. Si utilizamos getline otra vez en línea 25 para obtener la respuesta por debajo de la frase coincidente. La respuesta es entonces dijo con objeto de voz el alumno, y a continuación os dejamos la función en la línea 27.

Si alcanzamos el final del archivo y no hemos encontrado ninguna respuesta, entonces vamos a la línea 31, donde cerramos el archivo.

En 32 abrimos nuevamente el archivo, pero esta vez para la salida, es decir, programa de archivo. También agregamos el argumento ios::app para garantizar que anexar al final del archivo.

En 33 escribimos la frase inicial y luego repita la frase en 35 solicitar al usuario una respuesta ideal. Entonces se escribe la respuesta del usuario, y se cierra el archivo.

La función de decir en la línea 46 simplemente pasa la frase a los objetos voz decir función de salida textual y sonora.

Artículos Relacionados

Hacer un secreto IR-cámara seguridad frambuesa pi

Hacer un secreto IR-cámara seguridad frambuesa pi

¿Alguna vez has querido saber lo que está sucediendo en su habitación, cuando no estás en casa?¿Has alguna vez has querido saber que está entrando en su habitación y arranque alrededor en tus cosas?¿Quieres tener un robot amigo puede enviar mensajes
Abrir fuente robot mayordomo (OSIRB)

Abrir fuente robot mayordomo (OSIRB)

OSIRB, el mayordomo robótico de código abierto he construido. La base de es un iRobot Create. El brazo tiene una placa Arduino dedicada a él. El cerebro es un ordenador portátil y una cámara web es el ojo. Por último, el cuerpo se hace de la madera m
Arduino teclado aprendizaje luces accesorio

Arduino teclado aprendizaje luces accesorio

he empezado jugando Synthesia mucho recientemente y pensó que sería cool si tuviera uno de esos teclados que soporta las luces de indicador y el aprendizaje sobre MIDI, que Synthesia tiene una opción de salida, pero comprar un teclado nuevo es un poc
RC Multi canal Arduino proporcional transmisor / receptor con botón trimmer

RC Multi canal Arduino proporcional transmisor / receptor con botón trimmer

¿Está buscando para hacer tu propio quadcopter abejón o coche RC con Arduino, pero no sabe por dónde empezar? ¿Tal vez ya comprado unos módulos de RF de 433MHz sólo para descubrir que no eran tan fáciles de usar como pensabas? ¡ Prueba esto!Aprenderá
Fabulosa tu propio bote de barato tubería de pvc, tela de la tienda y contrapiso ($70!)

Fabulosa tu propio bote de barato tubería de pvc, tela de la tienda y contrapiso ($70!)

Este instructable es sobre la construcción de un bote de 12 pies de materiales muy baratos: 20 tubos de conduit eléctrico pvc (5/8"), 2 hojas de contrapiso de 9mm (3/8") y tela de poliester de la tienda para la piel. La parte difícil sólo está q
Construir un Bot Mini-caminando

Construir un Bot Mini-caminando

aquí está un sencillo proyecto para familias de ciencia y tecnología. Un Mini a pie Bot usando unas algunas partes ROBOTIX, microcontrolador PICXAXE y un Cricket prácticoPaso 1: Construir el Bot Mini caminando. Aquí están las piezas para la construcc
HTML5 para principiantes: una guía de aprendizaje rápido para paso 4

HTML5 para principiantes: una guía de aprendizaje rápido para paso 4

¿tiene un interés en el desarrollo web HTML5 y CSS3? ¿Eres un aspirante a programador de Web front-end? ¿O están empezando una nueva carrera en el desarrollo web? Si su respuesta a cualquiera de estas preguntas es un gran 'sí'! entonces te damos la b
Aprendizaje Rock - Paper - Scissors Robot de Lego Mindstorms NXT!

Aprendizaje Rock - Paper - Scissors Robot de Lego Mindstorms NXT!

Hi todo el mundo!  Este es mi primer instructivo!Este es un verdadero ser - robot que aprende a jugar a piedra - papel - tijeras de aprendizaje!  Aprenderá cómo vencer a una persona 100% del tiempo!  Una persona no es necesario enseñar a lo robot jug
: Aprendizaje su primer programa en Java!

: Aprendizaje su primer programa en Java!

Programación es divertida, interesante pasatiempo que todo el mundo debería aprender. Con equipo de programación o codificación, la gente da una computadora básica, simples comandos que agregan hasta crear un programa complejo, útil o divertido que s
Kit portátil electrónica de experimento de laboratorio aprendizaje

Kit portátil electrónica de experimento de laboratorio aprendizaje

este electrónicos autónomos portátiles, pequeños, experimento de laboratorio kit de aprendizaje le permite tomar su plataforma de desarrollo Arduino donde quiera que vayas. Tiene su placa Arduino, protoboard y componentes ordenadamente y con segurida
Juego de VHDL: LED - botón de empuje juego Instructable

Juego de VHDL: LED - botón de empuje juego Instructable

¡ Bienvenido! Este es un instructivo para crear un simple juego VHDL usando LEDs y botones que hemos llamado PushPace. Antes de continuar, aquí es el fondo y la inspiración detrás del juego.Fondo Si creciste en los 90, somos bastante seguro de que ha
Configurar Bot telegrama en frambuesa Pi

Configurar Bot telegrama en frambuesa Pi

El 24 de junio de 2015, telegrama publicó la API de Bot, máquinas hablar telegrama. Desde ese día, no sólo humanos podremos telegrama, así puede máquinas.Para aquellos que no saben lo que es telegrama, es una aplicación de mensajería como WhatsApp. E
Aprendizaje en soldadura:

Aprendizaje en soldadura:

Aprendizaje en soldadura: salir adelante con plomo líquido** Este es un proyecto para mi clase de robótica de la escuela secundaria. Comentarios y sugerencias son apreciadas! **¡ Bienvenido a aprender soldadura! Esperemos que después de seguir estos
Muchacho de educación y herramienta de aprendizaje de la niña

Muchacho de educación y herramienta de aprendizaje de la niña

educación compañeros saludos amantes de la instuctavillians!  Hoy vamos a explorar cómo crear un divertido aprendizaje herramienta para los estudiantes usar quiz ellos mismos y unos a otros y dar una manos en actividad para ayudarles a recordar infor