Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - r4gnath0r

#21
En relación con mi pregunta anterior, ahora no consigo compilar el programa porque no enlaza las librerias.

Tengo la libreria sqlite3.h en el path de mingw, pero me da el siguiente error:

Código: cpp
undefined reference to 'sqlite3_open'
undefined reference to 'sqlite3_close'

He intentado enlazar la libreria al compilar con:

g++ nombreprograma.cpp -lqlite3
Pero me da el siguiente error:

Código: cpp
cannot find -lsqlite3

Leyendo la documentación oficial de sqlite, intento compilar los archivos shell.c y sqlite3.c de la siguiente forma:

Código: cpp
gcc shell.c sqlite3.c -lpthread -ldl

Volcando el siguiente error:

Código: cpp
cannot find -ldll

¿Cómo puedo enlazar la librería?
#22
No he entendido muy bien la respuesta.

La idea era que mientras el archivo no haya llegado al final, siga leyendo líneas, pero como digo solo coge la primera.
#23

Estoy intentando leer un archivo .txt mediante C++, en el que el usuario introduce (en este caso un "usuario" y una "pass") dos datos, y que cuando los compare, si estan los dos, imprima por pantalla un tipo "Login correcto". El codigo es el siguiente:

Código: text
#include <iostream>
#include <fstream>
#include <cstring>

using namespace std;

int main(){
    ifstream archivo("user.txt");

    //Obtencion de datos
    cout << "Usuario: ";
    char user[25];
    cin.getline(user,25,'\n');

    cout << "Pass: ";
    char pass[25];
    cin.getline(pass,25,'\n');

    //Creacion de la linea a buscar
    char busqueda[100];
    strcpy(busqueda, user);
    strcat(busqueda, " ");
    strcat(busqueda, pass);

    char linea[100];
    while(!archivo.eof() || busqueda != linea){
        for(int i = 0; i!=archivo.eof(); i++){
            archivo.getline(linea, 100);
        }
    }

    cout << endl << endl << "LOGIN CORRECTO." << endl << linea;

    return 0;
}

El problema es que una vez que introduce los dos datos, se queda en un bucle infinito en el que no hace nada. Puedes estar dandole intro todo el rato que no sale de ahi...

Haciendo más pruebas, he llegado al siguiente codigo. Lo unico es que solo compara con la primera linea del archivo.

Código: text
#include <iostream>
#include <fstream>
#include <cstdlib>

using namespace std;

struct registro{
    string name;
    string second;
    string street;
    string user;
    string pass;
} usuario;

void registroUsuario(){
    ofstream archivo("registro.txt");
    archivo << "----------------------" << endl;
    archivo << "Nombre: " << usuario.name << endl;
    archivo << "Apellido: " << usuario.second << endl;
    archivo << "Direccion: " << usuario.street << endl;
    archivo << "Usuario: " << usuario.user << endl;
    archivo << "Password: " << usuario.pass << endl;
    archivo.close();
}

void registroLogin(){
    ofstream archivo("usuarios.txt");
    archivo << usuario.user;
    archivo << " ";
    archivo << usuario.pass;
    archivo << "\n";
    archivo.close();
}

bool login(string usuario, string password){
    ifstream archivo("usuarios.txt");
    string busqueda = usuario + " " + password;
    string linea;
    while(!archivo.eof()){
        getline(archivo, linea);
        if(linea == busqueda){
            return true;
        }
        else{
            return false;
        }
    }
}

int main(){
    menu:
        cout << "\t\t\t *** Base de datos ***" << endl << endl;
        cout << "1. Registro de usuario" << endl;
        cout << "2. Login" << endl;
        cout << "0. Salir" << endl << endl;

        cout << "Escoge una opcion: ";
        int option;
        cin >> option;
        cin.ignore();
        cout << endl << endl;
        system("pause");

        switch(option){
            case 1:{
                system("cls");
                cout << "Nombre: ";
                getline(cin, usuario.name);
                cout << endl << "Apellido: ";
                getline(cin, usuario.second);
                cout << endl << "Direccion: ";
                getline(cin, usuario.street);
                cout << endl << endl << "Nombre de usuario: ";
                getline(cin, usuario.user);
                cout << endl << "Password: ";
                getline(cin, usuario.pass);

                registroUsuario();
                registroLogin();
                cout << endl << endl;
                system("pause");
                goto menu;
                break;
            }
            case 2:{
                system("cls");
                cout << "Usuario: ";
                getline(cin, usuario.user);
                cout << endl << "Password: ";
                getline(cin, usuario.pass);

                if(login(usuario.user, usuario.pass) == true){
                    goto login;
                }
                else{
                    cout << endl << endl << "Login incorrecto.";
                    goto menu;
                }
                break;
            }
        }
    login:
        cout << endl << endl << endl << "LOGIN CORRECTO";


    return 0;
}
#24
Nada, sigue todo igual. He probado a instalarlo mediante USB, mediante CD.. No hay forma.
Arranca todo bien, pero cuando entra a la pantalla de inicio queda como pixelado. Es como que se superpone la pantalla de Windows y la de Linux a franjas...
#25
Pues veréis. He conseguido instalar Parrot OS, pero igualmente cuando va a entrar al escritorio se queda todo pixelado (voy a intentar subir una foto, pero desde el móvil es mucha faena y wif no tengo xD) Solo me deja con Windows....
#26
Nada, todo sigue igual. Yo también había encontrado eso, pero si fuera la gráfica no me dejaría acceder a Windows 7, ni a los menús de selección de sistema operativo de yumi no? Xubuntu tampoco me deja...
#27
Pues verás. El caso es que entra a la pantalla principal de seleccion de sistema operativo (en el caso de yumi) y empieza a cargar, todo perfecto. Pero cuando trata de entrar en modo live al escritorio se queda la pantalla pixelada en columnas blancas y negras.
#28
Buenas. Lo instalo desde usb con YUMI y con POWERISO. Siempre los he instalado así y nunca me han dado ningún problema...
#29
Buenas a todos.
El otro día me regalaron dos pc de sobremesa que no usaban. El caso es que lo que hice fue desintalarle el Windows que llevaba (formatee el disco duro) e intenté instalarle Parrot OS. El problema viene en que cuando está instalando se queda en el 3% y no avanza. Intento entrar en modo LIVE y cuando va a entrar al escritorio, la pantalla se ve con columnas negras y blancas, y no se ve nada del escritorio. Me lo hace con Kali, con Parrot, con Xubuntu,,, Con todos los si temas operativos. Lo único que he podido instalarle y acceder al escritorio es el Windows 7, pero obviamente, no lo quiero.

¿Alguna solución?
#30
Yo uso Parrot OS, una distor de seguridad basada en Debian 9 y me sale lo mismo
#31
Buenas a todos.

Estoy tratando de probar los ataques SLAAC de las ipv6, pero Evil FOCA no encuentra ninguna, solo las ipv4.

¿Es problema de alguna mala configuracion?

Gracias.
#32
Yo empecé con Xubuntu, instalandome todas las herramientas de Kali Linux desde sus repositorios.
Por aquí, un compañero habia hecho un programa para que se te instalaran los repositorios de Kali sin dificultad alguna.
#33
Ahora le sumo un problema con los condicionales, con el siguiente codigo:

Código: text
string deporte;
cout << "Indica tu deporte favorito: ";
cin.get();
getline(cin, deporte);

if (deporte == "futbol" || deporte = "baloncesto")
    cout << "Te gustan los deportes de equipo" << endl;
else
    cout << "Lo tuyo son los deportes individuales" << endl;


El caso es que así sí que se me ejecuta correctamente, pero si por el contrario elimino cin.get(), el programa pasa directamente al else sin dar opcion a que el usuario introduzca los datos.

¿Qué hago mal?

Gracias.
#34
Gracias por la respuesta! He probado y concin si que me coge todo lo introducido por el usuario. Por ejemplo:

Código: text
int main(){
char nombre[50];
cout << "Escribe tu nombre: ";
cin >> nombre;

cout << nombre <<endl;
system("pause");
return 0;
}



#35
Buenas a todos.
Vuelvo a presentarme con una duda nueva del lenguaje C++. Esta vez con la introducción de datos por parte del usuario.

En algunos lugares leo que para introducir datos por parte del usuario en un char utiliza directamente cin, en otro usa cin.getline y no encuentro la diferencia.

¿Alguien podría explicarmelo?

Gracias!
#36
Gracias a todos por la respuesta tan rápida. Ya se puede cerrar el hilo por mi parte :D
#37
Dudas y pedidos generales / Re:[DUDA C++] FOPEN o ifstream
Noviembre 22, 2016, 01:40:07 PM
Gracias por las respuestas amigos!

¿Cual me recomendáis más?
#38
Estoy empezando a sumergirme en el mundo de la programacion en c++ y estoy ahora con la lectura y escritura de archivos, pero encuentro una gran similitud entre fopen y demás con fstream.

¿Qué diferencia hay? ¿Cual recomendáis usar y por qué?

Gracias.
#39
Hola a todos.
Le puse el parametro void por probar, porque ya no se me ocurria nada.
Si que habia importado el modulo iostream pero aun asi no lo acepta y me da el error.

He copiado el codigo del compañero y lo he incluido en code::blocks en windows.. tambien lo he compilado con linux y me da los siguientes errores:

Código: text
||=== Build file: "no target" in "no project" (compiler: unknown) ===|
C:\Users\joseg\Documents\C++\ejercicio.c|1|iostream: No such file or directory|
C:\Users\joseg\Documents\C++\ejercicio.c|3|error: syntax error before "namespace"|
C:\Users\joseg\Documents\C++\ejercicio.c|3|warning: data definition has no type or storage class|
C:\Users\joseg\Documents\C++\ejercicio.c||In function `main':|
C:\Users\joseg\Documents\C++\ejercicio.c|7|error: `cout' undeclared (first use in this function)|
C:\Users\joseg\Documents\C++\ejercicio.c|7|error: (Each undeclared identifier is reported only once|
C:\Users\joseg\Documents\C++\ejercicio.c|7|error: for each function it appears in.)|
||=== Build failed: 5 error(s), 1 warning(s) (0 minute(s), 12 second(s)) ===|

#40
Dudas y pedidos generales / Re:Conversaciones encriptadas
Noviembre 12, 2016, 11:57:40 AM
Yo utilizo la app que aparece en MR.ROBOT (aclaro que la usaba de antes) que es la de Wickr Me. Una gozada.