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


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 ... 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 [74] 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 ... 102
731  Programación / Programación C/C++ / Re: Ayuda con ficheros y directorios en C++ usando Codeblocks en: 8 Marzo 2019, 14:21 pm
Código:
[code]ruta_absoluta = "/home/<tu_usuario>/Escritorio/fichero_prueba.txt" 
Puedes ver la ruta absoluta en la que te encuentras en la terminal con el comando <pwd>.

No sé por qué mi mensaje empieza con una etiqueta de <code> que no puedo quitar... Este párrafo debería ir lo primero, pero para que no se confunda con un <code> lo dejo aquí... :rolleyes:
Primero el tema de las rutas. El sistema de archivos de Linux "cuelga" de la raíz (root) /. Podemos referirnos a un fichero usando una ruta absoluta o una ruta relativa:
  • Ruta absoluta: se especifica desde la raíz hasta el fichero que queremos hacer referencia.
AQUÍ DEBERÍA IR EL PRIMER TROZO DE CÓDIGO QUE SE VE
  • Ruta relativa: se especifica desde el punto en el que te encuentras.
En este caso puedes usar cosas como el punto (.) que referencia al lugar actual en el que te encuentras o los dos puntos (..) que referencia al directorio anterior al actual.
Código:
// si estamos en /home/<tu_usuario>
ruta_relativa = "./fichero_prueba.txt" // mismo fichero que en el ejemplo anterior
// el punto se puede obviar si se quita tambien la barra diagonal
ruta_relativa = "fichero_prueba.txt"
// si pones la barra diagonal y no pones el punto, haces referencia a la raíz, entonces tendrás un problema

// si buscamos un fichero que esta en una carpeta que esta en Documentos y nosotros estamos en Escritorio seria:
ruta = "../Documentos/fichero.txt"
// dos puntos para volver para atras porque estabamos en Escritorio y luego ya entramos en Documentos

La dirección "/home/<tu_usuario> se puede abreviar con ~ (alt gr + 4)... :silbar:
Código:
ruta1 = "/home/<tu_usuario>/Escritorio/Carpeta1/prueba.txt"
ruta2 = "~/Escritorio/Carpeta1/prueba.txt"

Puedes obtener más información buscando rutas de archivos en Linux o rutas relativas y absolutas. Y también puedes estudiar todo el sistema de archivos y poder localizar algunos de los directorios fundamentales del sistema y donde se encuentran. Suerte :-X[/code]

Citar
1) ¿Están bién escritas las rutas en el script?
Si estás ejecutando el programa desde tu home (~) sí. En otro caso no, si usas una ruta relativa tienes que saber desde donde lo estás ejecutando para hacer bien la referencia. Si quieres que funcione desde cualquier sitio, usa una ruta absoluta (usando ~ te ahorras un trozo). De todos modos, por comodidad cuando sabes que todo se va a mover en conjunto o que no se va a mover, se suelen usar rutas relativas por comodidad.

Citar
2) ¿Tengo que especificar en el terminal la ruta donde está el Fichero_Origen?
Siempre. Otra cosa es que si tanto el fichero como el ejecutable están en el mismo lugar, basta con el nombre del fichero, pero porque esa es su ruta relativa. ACLARO: Más que "donde esté el ejecutable" es "desde donde ejecutes el programa en la terminal".

Citar
3) ¿He de usar alguna librería específica para trabajar con directorios?
Más que "para trabajar con directorios" es "para trabajar con ficheros" y has de incluir la librería <fstream> que el mismo nombre lo dice <file> + <stream>.
732  Programación / Programación C/C++ / Re: Cómo hacer para que un código de C++ se ejecute cada X tiempo automáticamente en: 8 Marzo 2019, 08:47 am
No, no es necesario el <Sleep()> ya que eso lo hemos incluido ahora para mantener el programa "dormido" durante X tiempo aunque esté siempre ejecutándose. Pero si se programa cada X tiempo, entonces el programa terminará una vez y cuando pase X, volverá a ejecutarse. Suerte :-X
733  Programación / Programación C/C++ / Re: Ayuda, problema ejercicio juego ahorcado en: 7 Marzo 2019, 19:53 pm
EDITO: No había visto el último mensaje pero como he añadido los comentarios al código, lo dejo para que se puedan ver, si no es necesario lo modifico y lo quito... :-\

El código entre etiquetas de código GeSHi (tienes un desplegable encima del cuadro de texto cuando escribes o modificas un mensaje)... :rolleyes:
Además de eso, lo suyo es tabular el código para que sea más fácil identificar cada bloque y ver rápidamente a qué nivel está.
Te dejo el código con las etiquetas, más o menos tabulado y con comentarios de las cosas que hay que cambiar/mejorar:
Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int vidas=6; // variable global, no recomendado
  5. int correctas=0; // variable global, no recomendado
  6. main (){ // main es una funcion, tiene que devolver algo. Devuelve un int, es decir, int main(){...}
  7.    void lineas(int n, char a[]); // las funciones se declaran fuera del main
  8.    char palabra[100]; // mejor usar una constante para controlar la longitud
  9.    char letra;
  10.    char guiones[100]; // lo mismo que dos lineas atras
  11.    int longitud;
  12.    void buscar_letra(char p[], int n, char l, char g[]); // funcion -> fuera del main
  13.    printf ("Digite la palabra a adivinar: ");
  14.    scanf ("%s", palabra); // no es muy seguro para cadenas. Mejor fgets()
  15.    fflush(stdin); // nada recomendado usar fflush para stdin
  16.    system("cls"); // innecesario si estas empezando
  17.    longitud= strlen(palabra);
  18.    lineas(longitud,guiones);
  19.  
  20. // si estas empezando, el dibujo para cuando ya funcione lo importante
  21.   printf ("\n");
  22.   printf("\n\t||===== ");                
  23.   printf("\n\t||    | ");
  24.   printf("\n\t||      ");
  25.   printf("\n\t||      ");
  26.   printf("\n\t||      ");
  27.   printf("\n\t||      ");
  28.  
  29.    while (vidas>0){ // no puedes ganar nunca si solo acaba cuando te quedas sin vidas
  30.        printf ("\nDigite la letra: ");
  31.        scanf("%c",&letra);
  32.        fflush(stdin); // otra vez, nada recomendado
  33.        if (letra>= 'a'&& letra<='z'){ // ponselo facil al usuario, convierte tu la letra a minuscula o mayuscula siempre
  34.            buscar_letra(palabra,longitud,letra,guiones);
  35.        }
  36.        else{
  37.            printf ("\nNo es una letra o la letra es mayuscula (digite una letra minuscula)");
  38.        }
  39.    }
  40. }
  41.  
  42. void buscar_letra(char p[100], int n, char l,char g[]){ // mejor usar nombres que ayuden a seguir el funcionamiento
  43.    int i;
  44.    for(i=0;i<n;i++){
  45.        if () // esto no pinta nada
  46.        if(p==l){
  47.            printf ("%c", l);
  48.            correctas++;
  49.        }else {
  50.            printf ("*");
  51.        }
  52.    }
  53.  
  54.    if(correctas==n){
  55.        printf ("\n ADIVINASTE LA PALABRA!!!");
  56.        printf ("\n Ganaste...");
  57.    }
  58. }
  59.  
  60. void lineas(int n, char a[]) { // usar mejores nombres de variables
  61.    int i;
  62.    for (i=0;i<n;i++){
  63.       printf("* ", a); // este formato no es correcto
  64.    }
  65. }

Y como veo que el <while> no funciona muy bien te pongo aquí los pasos que tienes que seguir:
Código:
letras_solucion := contarLetras(palabra_solucion)
mientras (vidas > 0 || !acertado)
    letra := pedirCaracter()
    si (existe(caracter, palabra_solucion))
        letras_acertadas := letras_acertadas + 1
        acertado := (letras_acertadas == letras_solucion)
    sino
        vidas := vidas - 1
    fin si
fin mientras

si (acertado)
    Has ganado
sino
    Has perdido
fin si
Ahora tienes que intentar traducir esto a lenguaje C. Puedes usar las funciones que he escrito yo o usar otras si así lo prefieres, pero tienes que implementarlas tú. Suerte :-X
734  Programación / Programación C/C++ / Re: Error de simbolo externo sin resolver (MSVS) en: 7 Marzo 2019, 18:24 pm
Más o menos eso es.
Cuando haces un <#include fichero> al fin y al cabo es como si pegaras todo el contenido de <fichero> justo en la línea donde está el <include>. Entonces esto te permite implementarlo en distintos ficheros pero para la máquina a la hora de compilar es como si estuviera todo en el mismo. Es una forma de poder mantener la estructura de mantener las implementaciones en un fichero diferente a las declaraciones.
735  Programación / Programación C/C++ / Re: EJERCICIO DE C en: 7 Marzo 2019, 13:02 pm
No se hacen tareas... Si quieres puedes especificar más tu duda para que te demos una idea o mejor, poner tu código para que veamos tus avances y poder ayudarte... Suerte :-X
736  Programación / Programación C/C++ / Re: Cómo hacer para que un código de C++ se ejecute cada X tiempo automáticamente en: 7 Marzo 2019, 13:00 pm
Tienes un error en ese código... Si te fijas nunca vas a salir del <while> ya que no estás comparando <continuo> con <true> sino que estás asignando <true> a la variable <continuo> (ya que sólo estás usando un =). Si el propósito es ese, un bucle infinito, entonces es innecesario eso; y si el objetivo no es ese tienes que corregir esa condición...
Además te has dejado unas comillas al final de <entrada = "Fichero_Destino.txt">.

Y hombre un poco basto sí que es... Tener el programa continuamente en ejecución, primero; te está consumiendo recursos del pc y luego que podrías cerrarlo por error y perder toda la progresión. Para establecerlo como una tarea programada tienes que buscarlo según el sistema operativo (que en tu caso imagino que es Windows). Suerte :-X

Y ahora por añadir algo más te dejo otra opción para ese tipo de condicionales con una variable <bool>:
Código
  1. if(ok1 == OK_traspaso && ok2 == OK_dato){
  2.    continuo = true;
  3. }else{
  4.    continuo = false;
  5. }
  6.  
  7. // FORMA EQUIVALENTE A LA DE ARRIBA
  8. bool continuo = (ok1 == OK_traspaso && ok2 == OK_dato);
737  Programación / Programación C/C++ / Re: Error de simbolo externo sin resolver (MSVS) en: 7 Marzo 2019, 04:33 am
Como bien dices tiene que estar todo en el mismo fichero (o al menos que lo parezca). Para estos casos se suele usar la extensión <hpp> pero simplemente para ver más rápidamente a qué está haciendo referencia (pero si se usa <cpp> también funcionaría).
Para no tenerlo todo en el mismo fichero se suele crear la clase en el <clase.h> y las funciones miembro se implementan en <clase.hpp> y se incluye el <clase.hpp> dentro del <clase.h> en vez de al revés. Entonces como en el <main> incluimos <clase.h>, ya estaríamos incluyendo todo.
Código
  1. // clase.h
  2. #ifndef CLASE_H // opcional
  3. #define CLASE_H // opcional
  4. class Clase{
  5.  
  6. };
  7.  
  8. #include "clase.hpp"
  9. #endif // opcional
738  Informática / Hardware / Re: PC no detecta pen driver en: 6 Marzo 2019, 18:53 pm


Yo intenté eso que comentas pero al escribir <list disk> no aparecía mi pendrive :-\
739  Informática / Hardware / Re: PC no detecta pen driver en: 6 Marzo 2019, 18:38 pm
Por experiencia personal puedo decirte que si lo formateaste y lo quitaste antes de completar el formateo, te habrá quedado inservible.
Por lo menos ese fue mi caso y hasta el momento no he encontrado solución... Espero que tengas más suerte :-X
740  Programación / Programación C/C++ / Re: Necesito ayuda para hacer un programa de c++ en: 6 Marzo 2019, 17:18 pm
Lo más típico para estos ejercicios es usar la estructura <if else> pero si quieres hacerlo con un bucle se me ocurre que lo podrías hacer poniendo los valores guía en dos arrays, uno para cada tipo de tensión.
De todas formas si quieres una ayuda más específica será mejor que pongas tu código (entre etiquetas de código GeSHi) para verlo y poderte aconsejar mejor. Ya que si esperas que te lo demos hecho, no funciona así. Suerte :-X
Páginas: 1 ... 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 [74] 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 ... 102
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines