Autor
|
Tema: Necesito ayuda en un programa! (Leído 5,580 veces)
|
Juan821
Desconectado
Mensajes: 25
|
En c++ necesito una base de datos que me guarde una pregunta 4 respuestas y la correcta he pensado en hacerlo con una matriz pero como lo haría o que podria hacer les agradeceria su ayuda
|
|
|
En línea
|
|
|
|
engel lex
|
necesitas toda una conexión a base de datos, o un simple programa con 4 opciones de respuesta?
que sabes de c++? que llevas hecho?
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Juan821
Desconectado
Mensajes: 25
|
necesitas toda una conexión a base de datos, o un simple programa con 4 opciones de respuesta?
que sabes de c++? que llevas hecho?
#include <iostream> #include <stdlib.h> #include <time.h> #include <conio.h> using namespace std; int His(); int Cien(); int Depor(); int Geo(); int c=1; int main() { int s,tot,u=0; srand(time(NULL)); while (c==1) { cout<<"Presione cualquier tecla para escoger su categoria"<<endl; getch(); s=rand()% 4 + 1; switch (s) { case 1: { His(); break; } case 2: { Cien(); break; } case 3: { Depor(); break; } case 4: { Geo(); break; } } } system ("pause"); return 0; } int His() { system ("cls"); cout<<"<===============Su categoria es historia===============>"<<endl; cout<<"Presione cualquier tecla para darle su pregunta"<<endl; getch(); return 0; } int Depor() { system ("cls"); cout<<"<===============Su categoria es Ciencia===============>"<<endl; cout<<"Presione cualquier tecla para darle su pregunta"<<endl; getch(); return 0; } int Cien() { system ("cls"); cout<<"<===============Su categoria es Deportes===============>"<<endl; cout<<"Presione cualquier tecla darle su pregunta"<<endl; getch(); return 0; } int Geo() { system ("cls"); cout<<"<===============Su categoria es Deportes===============>"<<endl; cout<<"Presione cualquier tecla para darle su pregunta"<<endl; getch(); return 0; } eso es lo que llevo hecho pero necesito una base de datos para poder poner las preguntas pongo nuevamente un numero aleatorio para la pregunta y este escogera el campo de ese numero luego se imprimiria la pregunta y las repuestas que estan en la base de datos y se compararia la respuesta correcta que tambien esta en la base de datos en otro campo seria algo asi yo se de Access pero he programado en otro lenguaje en c++ no se como hacer esto
|
|
|
En línea
|
|
|
|
engel lex
|
la dificultad de tu programa acaba de subir de 1 a 5 sobre 10 XD
si consigo algo sobre como usar slqlite o access con c++ aviso
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Juan821
Desconectado
Mensajes: 25
|
Si la otra seria extender el codigo a 500000 lineas para poner las preguntas a punta ifs o cases jajajajajaja pero no jajajaja pero las matrices cuantos caracteres aceptan solo uno?
|
|
|
En línea
|
|
|
|
|
engel lex
|
aquí hay un ejemplo #include <iostream> #include <iomanip> #include <string> #include <stdio.h> #include <cstdlib> #include <sqlite3.h> /* incluimos la cabecera de la libreria libsqlite3*/ using namespace std; int main(int argc, char *argv[]) { sqlite3 *db; /* Definimos un puntero a la base de datos */ sqlite3_stmt *resultado; /* Definimos un puntero a la respuesta de la consulta*/ int msg; /* valor de retorno de las sentencias */ string sentencia; /* string para las sentencias */ const char* siguiente; /* puntero a la siguiente sentencia */ char* error; /* variable para el mensaje de error */ msg = sqlite3_open("pucara.db",&db); /* creo el archivo para la base de datos */ if (msg!=SQLITE_OK) /* verifico si hay error */ { cout << "Error al crear la base de datosn" << endl; exit(1); } sentencia = "DROP TABLE IF EXISTS hosts;"; /* compongo un sentencia para crear la base de datos*/ sentencia += "CREATE TABLE hosts (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, ip TEXT NOT NULL, mac TEXT NOT NULL, nombre TEXT);"; msg = sqlite3_exec(db,sentencia.c_str(),NULL,NULL,&error); /* ejecuto la sentencia */ if (msg!=SQLITE_OK) /* verifico si hay error */ { cout << error << endl; exit(2); } sentencia = "insert into hosts (id, ip, mac) values ('1', '192.168.0.1', '00:27:0e:00:00:00');"; /* compongo una nueva sentencias */ msg = sqlite3_exec(db,sentencia.c_str(),NULL,NULL,&error); /* ejecuto la sentencia */ if (msg!=SQLITE_OK) /* verifico si hay error */ { cout << error << endl; exit(2); } sentencia = "SELECT * FROM hosts ORDER BY ip;"; /* compongo una sentencia de consulta */ msg = sqlite3_prepare(db,sentencia.c_str(),sentencia.length(),&resultado,&siguiente); /* ejecuto la sentencia */ if (msg!=SQLITE_OK) /* verifico si hay error */ { cout << "Error en la consulta" << endl; exit(3); } while (sqlite3_step(resultado)==SQLITE_ROW) /* imprimo el resultado de la consulta */ { cout << sqlite3_column_int(resultado, 0) << " | "; cout << sqlite3_column_text(resultado, 1) << " | "; cout << sqlite3_column_text(resultado, 2) << endl; } sqlite3_close(db); /* cierro la base de datos*/ return 0;
solo te tienes que bajar las librerias de sql lite (creo que son estas) y en el linker -lsqlite3 la otra opcion más discreta simple y sensata es crear un archivo de texto y componerlo algo como -GEOGRAFIA ¿Cual es la capital de iran? ¿en que pais nacio napoleon? -HISTORIA ¿en que año nacio Simon Bolivar? ¿en que año murio Franco? -CIENCIA ¿con que otro nombre se conoce el nitrotolueno? ¿cuantos atomos exactamente hay en el planeta tierra?
(fíjate que todo sin acento, si no tendrás que implantar métodos para manejarlos) en este caso usas getline para ir recorriendo el texto linea a linea, hasta conseguir por ejemplo "-GEOGRAFIA" luego con un numero aleatorio (en mi caso del 1 al 2) es la cantidad de linea a avanzar... si es 2, haces 2 veces getline para obtener la segunda pregunta...
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Juan821
Desconectado
Mensajes: 25
|
aquí hay un ejemplo #include <iostream> #include <iomanip> #include <string> #include <stdio.h> #include <cstdlib> #include <sqlite3.h> /* incluimos la cabecera de la libreria libsqlite3*/ using namespace std; int main(int argc, char *argv[]) { sqlite3 *db; /* Definimos un puntero a la base de datos */ sqlite3_stmt *resultado; /* Definimos un puntero a la respuesta de la consulta*/ int msg; /* valor de retorno de las sentencias */ string sentencia; /* string para las sentencias */ const char* siguiente; /* puntero a la siguiente sentencia */ char* error; /* variable para el mensaje de error */ msg = sqlite3_open("pucara.db",&db); /* creo el archivo para la base de datos */ if (msg!=SQLITE_OK) /* verifico si hay error */ { cout << "Error al crear la base de datosn" << endl; exit(1); } sentencia = "DROP TABLE IF EXISTS hosts;"; /* compongo un sentencia para crear la base de datos*/ sentencia += "CREATE TABLE hosts (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, ip TEXT NOT NULL, mac TEXT NOT NULL, nombre TEXT);"; msg = sqlite3_exec(db,sentencia.c_str(),NULL,NULL,&error); /* ejecuto la sentencia */ if (msg!=SQLITE_OK) /* verifico si hay error */ { cout << error << endl; exit(2); } sentencia = "insert into hosts (id, ip, mac) values ('1', '192.168.0.1', '00:27:0e:00:00:00');"; /* compongo una nueva sentencias */ msg = sqlite3_exec(db,sentencia.c_str(),NULL,NULL,&error); /* ejecuto la sentencia */ if (msg!=SQLITE_OK) /* verifico si hay error */ { cout << error << endl; exit(2); } sentencia = "SELECT * FROM hosts ORDER BY ip;"; /* compongo una sentencia de consulta */ msg = sqlite3_prepare(db,sentencia.c_str(),sentencia.length(),&resultado,&siguiente); /* ejecuto la sentencia */ if (msg!=SQLITE_OK) /* verifico si hay error */ { cout << "Error en la consulta" << endl; exit(3); } while (sqlite3_step(resultado)==SQLITE_ROW) /* imprimo el resultado de la consulta */ { cout << sqlite3_column_int(resultado, 0) << " | "; cout << sqlite3_column_text(resultado, 1) << " | "; cout << sqlite3_column_text(resultado, 2) << endl; } sqlite3_close(db); /* cierro la base de datos*/ return 0;
solo te tienes que bajar las librerias de sql lite (creo que son estas) y en el linker -lsqlite3 la otra opcion más discreta simple y sensata es crear un archivo de texto y componerlo algo como -GEOGRAFIA ¿Cual es la capital de iran? ¿en que pais nacio napoleon? -HISTORIA ¿en que año nacio Simon Bolivar? ¿en que año murio Franco? -CIENCIA ¿con que otro nombre se conoce el nitrotolueno? ¿cuantos atomos exactamente hay en el planeta tierra?
(fíjate que todo sin acento, si no tendrás que implantar métodos para manejarlos) en este caso usas getline para ir recorriendo el texto linea a linea, hasta conseguir por ejemplo "-GEOGRAFIA" luego con un numero aleatorio (en mi caso del 1 al 2) es la cantidad de linea a avanzar... si es 2, haces 2 veces getline para obtener la segunda pregunta... pero en el ultimo caso cuales serian las respuestas eso es lo que hay que definir
|
|
|
En línea
|
|
|
|
engel lex
|
pero en el ultimo caso cuales serian las respuestas eso es lo que hay que definir
no seas flojo! XD piensa un poco! podrías hacerlo modificando mi explicacion y documento! XD -GEOGRAFIA ¿Cual es la capital de iran? europa america teheran* francia ¿en que pais nacio napoleon? jabon elefante francia* al otro lado del mar -HISTORIA ¿en que año nacio Simon Bolivar? 58896 de la segunda era del del imperio estela 1000ac tocino 1783dc* ¿en que año murio Franco? 1 2* 3 4 -CIENCIA ¿con que otro nombre se conoce el nitrotolueno? ntt tnt* qrx tjv ¿cuantos atomos exactamente hay en el planeta tierra? 42* 10e100 la tuya por si acaso npi
el codigo en lugar de moverse de 1 en 1 para buscar la pregunta al azar, se mueve de 1*4 en 1*4 para buscar la pregunta al azar, las siguientes 4 lineas son las opciones y si consigue un asterisco en una linea esa es la verdadera (claro está no vas a mostrar el asterisco)
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
Juan821
Desconectado
Mensajes: 25
|
no seas flojo! XD piensa un poco! podrías hacerlo modificando mi explicacion y documento! XD -GEOGRAFIA ¿Cual es la capital de iran? europa america teheran* francia ¿en que pais nacio napoleon? jabon elefante francia* al otro lado del mar -HISTORIA ¿en que año nacio Simon Bolivar? 58896 de la segunda era del del imperio estela 1000ac tocino 1783dc* ¿en que año murio Franco? 1 2* 3 4 -CIENCIA ¿con que otro nombre se conoce el nitrotolueno? ntt tnt* qrx tjv ¿cuantos atomos exactamente hay en el planeta tierra? 42* 10e100 la tuya por si acaso npi
el codigo en lugar de moverse de 1 en 1 para buscar la pregunta al azar, se mueve de 1*4 en 1*4 para buscar la pregunta al azar, las siguientes 4 lineas son las opciones y si consigue un asterisco en una linea esa es la verdadera (claro está no vas a mostrar el asterisco) jajjaa si yo pense eso esto se haria con blocs de notas estos codigos los buscare en internet muchas gracias si estoy mas avanzado en estos codigos te puedo consultar par cosas que me surgen en mi mente luego si no las soluciono?
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
necesito ayuda con un programa
Ingeniería Inversa
|
shivak
|
2
|
15,774
|
14 Mayo 2010, 03:07 am
por yako-_-
|
|
|
Necesito Ayuda Con un Programa
Programación C/C++
|
danwooer
|
2
|
2,637
|
19 Noviembre 2010, 08:39 am
por [L]ord [R]NA
|
|
|
programa en c ++ necesito ayuda
Programación C/C++
|
jairogonz
|
6
|
4,248
|
27 Noviembre 2012, 02:54 am
por jairogonz
|
|
|
Necesito ayuda con mi programa
Programación C/C++
|
javitrito
|
2
|
1,849
|
7 Noviembre 2016, 20:24 pm
por javitrito
|
|
|
Necesito ayuda con un programa en c++
Programación C/C++
|
Allison Vanessa
|
2
|
2,616
|
10 Junio 2018, 03:35 am
por 0xFer
|
|