Me contó SetRoot a través de un comentario que se le ocurrió hacer un programa en C++ que nos ayudará a aprender palabras en inglés, en sus propias palabras:
Se me ocurrio hacer un programa para aprender ingles y creo que los tiros tambien van por ahi corrígeme:
1 llenar 1000 palabras
2 agruparlas por alguna relacion como emociones articulos y otros(para esto quisiera usar una matriz para acceder a ella mas facil aunque 2 matrices tambien creo q me van :s con punteros y eso ,s)
3 ejecucion: con un par de cases hacer un menu que me permita lanzar 20 palabras al azar(con sran o ran creo + time) con su significado
y despues que me permita hacer un tipo de examen o test con esas mismas palabras desordenadas que cada acierto valga algo para ganar puntos y asi involucrar a los amigos y familiares
Me gustó la idea de hacer un pequeño ‘bosquejo’ de su idea porque precisamente se necesita usar el código de mi último post: Números aleatorios sin repetir en C++. Así que mi algoritmo es algo así:
- Crear una matriz tipo string de N filas y 2 columnas, la primera columna son las palabras en inglés; la segunda, en español.
- Pedir el número de palabras que el usuario quiera memorizar.
- Obtener ese número de palabras aleatoriamente y mostrarlas.
- Borrar las palabras y empezar a preguntar el significado de cada una.
- Comparar la respuesta del usuario con la respuesta correcta.
- Calcular su calificación y mostrarla.
El código es este:
#include #include #include using namespace std; int nofw; #define N 8 // numero de pares de palabras en la matriz bool checkrep(int n, int num[]) { for(int i=0; i<nofw; i++) if(n == num[i]) return true; return false; } int main() { srand(time(NULL)); string ans, words[N][2] = {{"hi", "hola"}, {"house", "casa"}, {"water", "agua"}, {"roof", "techo"}, {"chair", "silla"}, {"loudspeaker", "bocina"}, {"screen", "pantalla"}, {"money", "dinero"}}; int n, correct=0, wrong=0; cout <> nofw; // obtener 'nofw' palabras aleatoriamente de nuestra matriz int num[nofw]; for(int i=0; i<nofw; i++) { do n = rand() % N; while(checkrep(n, num)); num[i] = n; cout << words[n][0] < " << words[n][1] << endl; } cin.get(); cin.get(); system("cls"); // preguntar el significado de cada palabra for(int i=0; i<nofw; i++) { cout << words[num[i]][0] <> ans; if(ans == words[num[i]][1]) { correct++; cout <> Bien :)nn"; } else { wrong++; cout <> Mal :(nn"; } } cout << "Tuviste un " << (float)correct / (float)nofw * 100 << "% de respuestas correctas."; cin.get(); cin.get(); }
Como dije antes, es sólo un bosquejo, pero tal vez sea el punto de partida para un buen proyecto. Para optimizarlo creo que se deberían agregar algunas cosas:
- Obtener los pares de palabras desde una base de datos
- Ordenarlas por categorías
- Que no importe si la respuesta está en mayúsculas o minúsculas
- Mejorar la interacción con el usuario
oyes disculpa me podrías decir como puedo hacer para subir mis propios programas en mi blog así como tu los publicas con colores y todo eso?
esque la verdad aun no se casi nada de html y pues me gustaria una ayuda
Me gusto su programa… =) ahora lo editaré un poquito para comprenderlo mejor xD.
yotambien he leido alnas publicaciones tuyas. dejame tu correo electronico para hacerte preguntas.. por fa
hola les pido porfavor me ayuden tengo que crear un progrma con la funcion void contar para saber cuantas listas tengo en ese programa y no se como hacer plis ayudenme
hola si te sirve te mando este link donde te pueden ayudar:
http://www.forosdelweb.com/f154/
o sino te dejo mi blog haber si te sirve de algo mis codigos
http://programacionparacoccidio.blogspot.com/
Quiero saber como se usa System(“pause”) en Codeblocks
Necesitas añadir la librería windows.h y escribir ‘system’ en minúsculas:
Hola thebatzuk, me podrias pasar tu mail, es que tengo unas dudas de como acer un programa me estoy practicando para un parcial y hay uno de los ejercicios que no me sale! desde ya muchas Gracias
http://thebatzuk.org/autor 🙂
hola me podrias ayudar con un programa tengo muchas dudas acerca de como hacer un diccionario en c++ agradesco muchisimo tu tiempo concedido
hola, espero estés bien. Oye me dio curiosidad probar este programa de ingles. pero no me quiere correr, sale un error en “int num[nofw];” dice que es una expresión constante requerida. le he acomodado pero igual no corre. me podrías decir cual es el error.? disculpa y gracias.
Ahh! que buen chiste, ironico, ¿no?
Muy padre, te quedo buen algoritmo la neta me gusto.
oye, me preguntaba si puedes hacer un ejemplo que incluya Archivos, cómo crearlos, borrarlos, modificarlos, sobreescribirlos, etc… es que no entiendo….. agradecería mucho (:
esta super bien el programa felicidades
cuales son las librerias q utilizas?