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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | #include<cstdlib> #include<ctime> #include<iostream> 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 << "Numero de palabras?: "; cin >> 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] << " = "; cin >> ans; if(ans == words[num[i]][1]) { correct++; cout << ">> Bien :)\n\n"; } else { wrong++; cout << ">> Mal :(\n\n"; } } 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?