elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Necesito ayuda en un programa!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Necesito ayuda en un programa!  (Leído 3,042 veces)
Juan821

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Necesito ayuda en un programa!
« en: 5 Junio 2014, 04:50 am »

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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.394



Ver Perfil
Re: Necesito ayuda en un programa!
« Respuesta #1 en: 5 Junio 2014, 04:52 am »

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 Desconectado

Mensajes: 25


Ver Perfil
Re: Necesito ayuda en un programa!
« Respuesta #2 en: 5 Junio 2014, 04:58 am »

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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.394



Ver Perfil
Re: Necesito ayuda en un programa!
« Respuesta #3 en: 5 Junio 2014, 05:07 am »

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 Desconectado

Mensajes: 25


Ver Perfil
Re: Necesito ayuda en un programa!
« Respuesta #4 en: 5 Junio 2014, 05:13 am »

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

Drewermerc

Desconectado Desconectado

Mensajes: 259



Ver Perfil WWW
Re: Necesito ayuda en un programa!
« Respuesta #5 en: 5 Junio 2014, 05:18 am »

tambien o que podrias usar son estructuras o uso de archivo donde guardes las respuestas.
aqui hay algo sobre sqlite.
http://c.conclase.net/sqlite/?cap=013
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.394



Ver Perfil
Re: Necesito ayuda en un programa!
« Respuesta #6 en: 5 Junio 2014, 05:20 am »

aquí hay un ejemplo
Código
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <string>
  4. #include <stdio.h>
  5. #include <cstdlib>
  6. #include <sqlite3.h> /* incluimos la cabecera de la libreria libsqlite3*/
  7.  
  8. using namespace std;
  9.  
  10. int main(int argc, char *argv[])
  11. {
  12.    sqlite3 *db;                /* Definimos un puntero a la base de datos */
  13.    sqlite3_stmt *resultado;    /* Definimos un puntero a la respuesta de la consulta*/
  14.    int msg;                    /* valor de retorno de las sentencias */
  15.    string sentencia;           /* string para las sentencias */
  16.    const char* siguiente;      /* puntero a la siguiente sentencia */
  17.    char* error;                /* variable para el mensaje de error */
  18.  
  19.    msg = sqlite3_open("pucara.db",&db);    /* creo el archivo para la base de datos */
  20.    if (msg!=SQLITE_OK)                     /* verifico si hay error */
  21.    {
  22.        cout << "Error al crear la base de datosn" << endl;
  23.        exit(1);
  24.    }
  25.  
  26.    sentencia = "DROP TABLE IF EXISTS hosts;";  /* compongo un sentencia para crear la base de datos*/
  27.    sentencia += "CREATE TABLE hosts (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, ip TEXT NOT NULL, mac TEXT NOT NULL, nombre TEXT);";
  28.    msg = sqlite3_exec(db,sentencia.c_str(),NULL,NULL,&error);  /* ejecuto la sentencia */
  29.    if (msg!=SQLITE_OK)     /* verifico si hay error */
  30.    {
  31.        cout << error << endl;
  32.        exit(2);
  33.    }
  34.  
  35.    sentencia = "insert into hosts (id, ip, mac) values ('1', '192.168.0.1', '00:27:0e:00:00:00');"; /* compongo una nueva sentencias */
  36.    msg = sqlite3_exec(db,sentencia.c_str(),NULL,NULL,&error);  /* ejecuto la sentencia */
  37.    if (msg!=SQLITE_OK)     /* verifico si hay error */
  38.    {
  39.        cout << error << endl;
  40.        exit(2);
  41.    }
  42.  
  43.    sentencia = "SELECT * FROM hosts ORDER BY ip;"; /* compongo una sentencia de consulta */
  44.    msg = sqlite3_prepare(db,sentencia.c_str(),sentencia.length(),&resultado,&siguiente);   /* ejecuto la sentencia */
  45.    if (msg!=SQLITE_OK) /* verifico si hay error */
  46.    {
  47.        cout << "Error en la consulta" << endl;
  48.        exit(3);
  49.    }
  50.  
  51.    while (sqlite3_step(resultado)==SQLITE_ROW) /* imprimo el resultado de la consulta */
  52.    {
  53.        cout << sqlite3_column_int(resultado, 0) << " | ";
  54.        cout << sqlite3_column_text(resultado, 1) << " | ";
  55.        cout << sqlite3_column_text(resultado, 2) << endl;
  56.    }
  57.  
  58.    sqlite3_close(db);      /* cierro la base de datos*/
  59.    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

Código:
-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 Desconectado

Mensajes: 25


Ver Perfil
Re: Necesito ayuda en un programa!
« Respuesta #7 en: 5 Junio 2014, 05:25 am »

aquí hay un ejemplo
Código
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <string>
  4. #include <stdio.h>
  5. #include <cstdlib>
  6. #include <sqlite3.h> /* incluimos la cabecera de la libreria libsqlite3*/
  7.  
  8. using namespace std;
  9.  
  10. int main(int argc, char *argv[])
  11. {
  12.    sqlite3 *db;                /* Definimos un puntero a la base de datos */
  13.    sqlite3_stmt *resultado;    /* Definimos un puntero a la respuesta de la consulta*/
  14.    int msg;                    /* valor de retorno de las sentencias */
  15.    string sentencia;           /* string para las sentencias */
  16.    const char* siguiente;      /* puntero a la siguiente sentencia */
  17.    char* error;                /* variable para el mensaje de error */
  18.  
  19.    msg = sqlite3_open("pucara.db",&db);    /* creo el archivo para la base de datos */
  20.    if (msg!=SQLITE_OK)                     /* verifico si hay error */
  21.    {
  22.        cout << "Error al crear la base de datosn" << endl;
  23.        exit(1);
  24.    }
  25.  
  26.    sentencia = "DROP TABLE IF EXISTS hosts;";  /* compongo un sentencia para crear la base de datos*/
  27.    sentencia += "CREATE TABLE hosts (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, ip TEXT NOT NULL, mac TEXT NOT NULL, nombre TEXT);";
  28.    msg = sqlite3_exec(db,sentencia.c_str(),NULL,NULL,&error);  /* ejecuto la sentencia */
  29.    if (msg!=SQLITE_OK)     /* verifico si hay error */
  30.    {
  31.        cout << error << endl;
  32.        exit(2);
  33.    }
  34.  
  35.    sentencia = "insert into hosts (id, ip, mac) values ('1', '192.168.0.1', '00:27:0e:00:00:00');"; /* compongo una nueva sentencias */
  36.    msg = sqlite3_exec(db,sentencia.c_str(),NULL,NULL,&error);  /* ejecuto la sentencia */
  37.    if (msg!=SQLITE_OK)     /* verifico si hay error */
  38.    {
  39.        cout << error << endl;
  40.        exit(2);
  41.    }
  42.  
  43.    sentencia = "SELECT * FROM hosts ORDER BY ip;"; /* compongo una sentencia de consulta */
  44.    msg = sqlite3_prepare(db,sentencia.c_str(),sentencia.length(),&resultado,&siguiente);   /* ejecuto la sentencia */
  45.    if (msg!=SQLITE_OK) /* verifico si hay error */
  46.    {
  47.        cout << "Error en la consulta" << endl;
  48.        exit(3);
  49.    }
  50.  
  51.    while (sqlite3_step(resultado)==SQLITE_ROW) /* imprimo el resultado de la consulta */
  52.    {
  53.        cout << sqlite3_column_int(resultado, 0) << " | ";
  54.        cout << sqlite3_column_text(resultado, 1) << " | ";
  55.        cout << sqlite3_column_text(resultado, 2) << endl;
  56.    }
  57.  
  58.    sqlite3_close(db);      /* cierro la base de datos*/
  59.    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

Código:
-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
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.394



Ver Perfil
Re: Necesito ayuda en un programa!
« Respuesta #8 en: 5 Junio 2014, 05:31 am »

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

Código:
-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 Desconectado

Mensajes: 25


Ver Perfil
Re: Necesito ayuda en un programa!
« Respuesta #9 en: 5 Junio 2014, 05:35 am »

no seas flojo! XD piensa un poco! podrías hacerlo modificando mi explicacion y documento! XD

Código:
-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

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
necesito ayuda con un programa
Ingeniería Inversa
shivak 2 12,351 Último mensaje 14 Mayo 2010, 03:07 am
por yako-_-
Necesito Ayuda Con un Programa
Programación C/C++
danwooer 2 1,717 Último mensaje 19 Noviembre 2010, 08:39 am
por [L]ord [R]NA
programa en c ++ necesito ayuda
Programación C/C++
jairogonz 6 3,004 Último mensaje 27 Noviembre 2012, 02:54 am
por jairogonz
Necesito ayuda con mi programa
Programación C/C++
javitrito 2 876 Último mensaje 7 Noviembre 2016, 20:24 pm
por javitrito
Necesito ayuda con un programa en c++
Programación C/C++
Allison Vanessa 2 1,453 Último mensaje 10 Junio 2018, 03:35 am
por 0xFer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines