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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 ... 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 [137] 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 ... 161
1361  Programación / Programación C/C++ / Re: Problema con rand() en: 12 Abril 2016, 23:37 pm
El hecho es que tu generas un carácter del ASCII 0 al ASCII 9, que son caracteres no imprimibles. Busca una tabla en internet de código ASCII y verás lo que digo. Pero al sumar '0' al resultado del rand lo que haces es llevar ese resultado al caracter ASCII '0' que ese sí ya es la representación del cero. ASCII dice que los caracteres numéricos van del cero hasta el nueve. Por tanto '0' + 0 es '0', '0' + 1 es '1', '0' + 2 es '2', etc.
Si te fijas lo mismo pasa con las letras: 'a' + 0 es 'a', 'a' + 1 es 'b'... 'A' + 0 es 'A', 'A' + 1 es 'B'...
1362  Programación / Programación C/C++ / Re: Problema con rand() en: 12 Abril 2016, 23:20 pm
Código
  1. char *password=malloc(8*sizeof(char))+1;
Esto está mal. malloc te asigna una zona de memoria pero devuelves la posición 1 byte superior. Tal vez quisiste decir:
Código
  1. char *password=malloc((8+1)*sizeof(char));
para guardar la cadena más el caracter nulo.
Pero tampoco convence ya que rand podría generarte un 0 cuándo estás consiguiendo los números, con lo que la cadena resultante acabaría en ese momento. Por otra parte no estás escribiendo caracteres numéricos sino caracteres de control ASCII no imprimibles, por lo que a la hora de visualizar la cadena podrían aparecer efectos extraños en pantalla.
Tal vez quisiste decir:
Código
  1. for(i=0;i<4;i++)
  2.    password[i]=(int)rand()%10+'0';
;

Más. Si usas malloc para asignar memoria debes usar free para liberarla en cuanto no la uses. La penúltima instrucción de tu programa debería ser
Código
  1. free(contrasena);
1363  Programación / Programación C/C++ / Re: Pasar un txt a consola con el mismo formato en: 12 Abril 2016, 14:16 pm
Si ese es el archivo de texto solamente lee línea a linea con fgets y tal como la obtengas mándala a la consola con puts. Tal tienes s el txt tal tendrás en pantalla.
1364  Programación / Programación C/C++ / Re: Como hago un scanf de un miembro de una clase? en: 11 Abril 2016, 16:21 pm
Y como es C++, por lo de las clases, string es el tipo de una clase. No creo que C++ tenga mecanismos, como C#, como para poder usar el nombre de una clase como variable.
1365  Programación / Programación C/C++ / Re: Tengo un problema con un programa que no encuentro la informacion en: 11 Abril 2016, 16:19 pm
Si es C no uses fstream.
Intenta no usar conio.h sólo es de Borland, cunado en tu trabajo no tengas TC++ estarás vendido.
En cambio, si es C++ intenta usar las librerías de C++ en vez de C.
Usar TC++ sí o sí. Sabía que en la facultad, almenos el C, lo están destrozando. Por eso a la gente no le gusta.
1366  Programación / Programación C/C++ / Re: NEcesito ayuda con un encriptador en: 11 Abril 2016, 16:07 pm
Es un error pensar que los caracteres se guardan como enteros positivos. El estándar C dice que eso depende de la implementación. Para convertir una letra minúscula del alfabeto a un rango de 0 a 26 no se deben usar los números mágicos. Se debe usar la 'a' minúscula. El estándar ASCII nos asegura que 'a' estará al principio de los alfabetos de minúsculas.
ASCII en C puede tener un rango de -128 a 127 o de 0 a 255. Así para el número de la 'b', para que sea 1, se debe hacer 'b'-'a'.
1367  Programación / Programación C/C++ / Re: C: Una función que reciba un parámetro desde una struct e imprima. en: 9 Abril 2016, 20:40 pm
fflush sirve para vaciar flujos de salida, según dice el estándar: fflush(stdout) hará que el programa escriba todo lo que le queda por escribir a la pantalla, por ejemplo. Sin embargo fflush no está pensado para flujos de entrada por lo que fflush(stdin) no está definido: puede funcionar o no, depende del compilador.

En CHATROOM tienes un array e punteros a USER. Con esto te complicas un poco la existencia, por así decirlo.
Puedes hacer dos cosas:
1. Un array de USER con lo que trabajarías con un array normal
2. Una lista enlazada, eso es dentro de CHATROOM habría un puntero a USER y todo el trabajo lo harías con funciones orientadas a listas.
1368  Programación / Programación C/C++ / Re: C: Una función que reciba un parámetro desde una struct e imprima. en: 9 Abril 2016, 20:14 pm
Cuándo pongas la etiqueta 'code' para poner el código usa, en la apertura 'code=c' para el resalto de sintaxis.
No uses fflush(stdin), muy mala práctica.

Pon todo el código para que podamos ver dónde está el fallo. Aquí solo se ve como llenas una estructura.
1369  Programación / Programación C/C++ / Re: Reiniciar un programa en c++ en: 6 Abril 2016, 23:12 pm
Código
  1. int main() {
  2.    int x;
  3.    do {
  4.        int a,b,suma
  5.        b=1;
  6.        cin>>a;
  7.        suma=a+b;
  8.        cout<<suma;
  9.        cout<<"Quiere volver a ejecutar el programa?\n\n1. si\n2. no\n\n";
  10.        cin>>x;  
  11. if(x==1)
  12.    system("CLS");
  13.    } while(x==1);
  14. }

o

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main() {
  5.    int a,b,suma,x;
  6.    reinicio:
  7.    b=1;
  8.    scanf("%i", &a); fgetc(stdin);
  9.    suma=a+b;
  10.    printf("%i\n", suma);
  11.    printf("Quiere volver a ejecutar el programa?\n\n1. si\n2. no\n\n> ");
  12.    scanf("%i", &x);
  13.    if(x==1) {
  14.        system("clear");
  15.        goto reinicio;
  16.    }
  17. }

La cosa está en repetir el código de main desde la primera instrucción.
1370  Programación / Programación C/C++ / Re: Medir velocidad de ejecución de un programa en lenguaje C.- en: 6 Abril 2016, 15:40 pm
La unidad es el segundo: 1.000000 es 1 segundo.
Páginas: 1 ... 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 [137] 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 ... 161
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines