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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19
161  Programación / Programación C/C++ / Re: [DUDA] Variable en open() de ofstream; en: 23 Noviembre 2010, 03:09 am
ahh..
Que error te devuelve?

..esto tampoco funciona?
Código:
ofstream miScript(nombreScript);
miScript<< descripcionScript;
miScript.close();
162  Foros Generales / Noticias / Re: El español crece en internet en: 23 Noviembre 2010, 02:50 am
Es bueno ver que ALGO crecio.
Es una lastima que haya gente que cada vez que hace algo le pone nombres en ingles  :P
Estoy cansado de ver cosas en ingles por todos lados, hay que hacer mas fuerza para que el español se siga expandiendo.
163  Programación / Programación C/C++ / Re: [DUDA] Variable en open() de ofstream; en: 23 Noviembre 2010, 02:39 am
tenes que concatenar la variable
Código:
strcat( tituloScript, ".txt" );
y asi hasta tener lo que querés
164  Programación / Programación C/C++ / Re: [DUDA] Combinación de teclas y cambiar color a textos en: 22 Noviembre 2010, 04:15 am
bueno depende para que SO lo quieras hacer.
Lo del color en linux solo tendrias que hacer algo asi:
Código:
cout << "\e[31m"; //rojo
cout << "\e[32m"; //verde
cout << "\e[33m"; //amarillo

En windows seria algo asi:
Código:
#include <iostream>
#include <windows.h>
using namepsace std;

int main()
{
const WORD colors[] ={ 0x1A, 0x2B, 0x3C, 0x4D, 0x5E, 0x6F,0xA1, 0xB2, 0xC3, 0xD4, xE5, 0xF6};

HANDLE hstdin  = GetStdHandle( STD_INPUT_HANDLE  );
HANDLE hstdout = GetStdHandle( STD_OUTPUT_HANDLE );
WORD   index   = 0;

CONSOLE_SCREEN_BUFFER_INFO csbi;
GetConsoleScreenBufferInfo( hstdout, &csbi );

SetConsoleTextAttribute( hstdout, 0xEC );
cout << "Presionar tecla.\n";

// Draw pretty colors until the user presses any key
while (WaitForSingleObject( hstdin, 100 ) == WAIT_TIMEOUT)
{
SetConsoleTextAttribute( hstdout, colors[ index ] );
cout << "\t\t\t\t Holaaa \t\t\t\t" << std::endl;
if (++index > sizeof(colors)/sizeof(colors[0]))
index = 0;
}
FlushConsoleInputBuffer( hstdin );

SetConsoleTextAttribute( hstdout, csbi.wAttributes );
return 0;
}
En internet hay mucho.

Lo de las teclas lo mismo.
Usa las APIs o con alguna libreria
165  Programación / Programación C/C++ / Re: promediar en: 22 Noviembre 2010, 03:58 am
y a medida que vas recorriendo la lista no podes sumar el numero en una variable?
Código:
if(recorrer->dato%2!=0)
{
     i++;
     promedio += recorrer->dato;
     recorrer = recorrer->sig;
}

y al final de todo
Código:
     promedio / i;
166  Programación / Programación C/C++ / [c++] Cifrar y descifrar archivos en: 22 Noviembre 2010, 00:53 am
Buenas, les dejo un codigo que hice en c++.
Es bastante simple pero a alguno que esta empezando le puede servir.
Sirve para ponerle contraseñas a los archivos, suma el codigo ascii del archivo con el de la clave. Y para descifrarlo los resta.

http://www.mediafire.com/?di5q9018ti4t0eb


Código
  1. #include<iostream>
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. #include<string.h>
  5. using namespace std;
  6.  
  7. void limpiarPantalla()
  8. {
  9. system("clear"); //en windows seria system("cls");
  10. }
  11.  
  12. //se define una clase
  13. class cifrado
  14. {
  15. private:
  16. char *cadena; //cadena en la que se carga el archivo
  17. long tam; //tamaño del archivo
  18. public:
  19. ~cifrado(); //destructor
  20. void leer_de_disco( const char* );
  21. void cifrar( const char* );
  22. void descifrar( const char* );
  23. void grabar_en_disco( const char* );
  24. };
  25.  
  26. // leer_de_disco:
  27. // abre la direccion del archivo que es pasado por parametro
  28. // y guarda su contenido en la cadena
  29. void cifrado::leer_de_disco(const char* nombre_archivo)
  30. {
  31. FILE *ar1;
  32.  
  33. //abre el archivo
  34. ar1 = fopen( nombre_archivo,"rb" );
  35. if( !ar1 )exit(1); //si no puede sale
  36.  
  37. fseek( ar1,0,2 ); //se posiciona al final
  38. tam = ftell( ar1 ); //guarda el numero
  39. fseek( ar1,0,0 ); //se posiciona al principio
  40.  
  41. //crea un vector del tamaño conseguido
  42. cadena = new char[tam];
  43.  
  44. //intenta leer los datos, si no puede sale
  45. if( !fread(cadena,tam,1,ar1) )exit(1);
  46.  
  47. fclose( ar1 ); //cierra el archivo
  48. }
  49.  
  50. // cifrar:
  51. // suma el codigo ASCII de la cadena con una
  52. // clave que es pasada por parametro
  53. void cifrado::cifrar(const char *clave)
  54. {
  55. int x=0,y=0; //indices de las cadenas
  56.  
  57. //mientras no sea el fin de la cadena
  58. while( cadena[x]!=0 )
  59. {
  60. cadena[x]+=clave[y]; //suma el codigo ASCII
  61. x++; //pasa a la siguiente posicion
  62.  
  63. if( clave[y+1]==0 ) //si se llega al final de la cadena
  64. y=0; //comienza de nuevo
  65. else //si no
  66. y++; //sigue incrementando el indice
  67. }
  68. }
  69.  
  70. // descifrar:
  71. // resta al codigo ASCII de la cadena
  72. // la clave que es pasada por parametro
  73. void cifrado::descifrar(const char *clave)
  74. {
  75. int x=0,y=0; //indices de las cadenas
  76.  
  77. //mientras no sea el fin de la cadena
  78. while( cadena[x]!=0 )
  79. {
  80. cadena[x]-=clave[y]; //resta el codigo ASCII
  81. x++; //pasa a la siguiente posicion
  82.  
  83. if( clave[y+1]==0 ) //si se llega al final de la cadena
  84. y=0; //comienza de nuevo
  85. else //si no
  86. y++; //sigue incrementando el indice
  87. }
  88. }
  89.  
  90. // grabar_en_disco
  91. // abre la direccion que es pasada por parametro
  92. // y guarda el contenio de la cadena
  93. void cifrado::grabar_en_disco( const char *nombre_archivo )
  94. {
  95. FILE *ar1;
  96.  
  97. //abre el archivo
  98. ar1 = fopen( nombre_archivo,"rb+" );
  99. if( !ar1 )exit(1); //si no puede sale
  100.  
  101. //intenta escribir los datos, si no puede sale
  102. if( !fwrite(cadena,tam,1,ar1) )exit(1);
  103.  
  104. fclose( ar1 ); //cierra el archivo
  105. }
  106.  
  107. cifrado::~cifrado()
  108. {
  109. delete[] cadena; //libera la memoria
  110. }
  111.  
  112. int main()
  113. {
  114. cifrado archivo; //objeto para manejar el proceso
  115.  
  116. int opcion; //opcion del menu
  117. char nombre_archivo[30]; //direccion del archivo
  118. char clave_archivo[30]; //clave
  119.  
  120. do
  121. {
  122. limpiarPantalla(); //limpia pantalla y muestra menu
  123. cout << "1. Seleccionar Archivo" << endl;
  124. cout << "2. Cifrar" << endl;
  125. cout << "3. Descifrar" << endl;
  126. cout << "4. Cerrar programa" << endl;
  127. cout << "Opcion: ";
  128.  
  129. cin >> opcion; //pide el ingreso de una opcion
  130.  
  131. clave_archivo[0] = 0; //pone en cero la clave
  132.  
  133. switch( opcion )
  134. {
  135. case 1:
  136. cout << "Nombre del archivo: ";
  137. cin.ignore();
  138. //se ingresa la direccion del archivo
  139. cin.getline( nombre_archivo,30 );
  140.  
  141. //si la cadena esta vacia no hace nada
  142. if( nombre_archivo[0]==0 )break;
  143. archivo.leer_de_disco( nombre_archivo );
  144. break;
  145.  
  146. case 2:
  147. //si la cadena esta vacia no hace nada
  148. if( nombre_archivo[0]==0 )break;
  149. cout << "Ingrese la clave: ";
  150. cin.ignore();
  151. //se ingresa la cable para cifrar
  152. cin.getline( clave_archivo,30 );
  153.  
  154. //si la clave esta vacia no hace nada
  155. if( clave_archivo[0]==0 )break;
  156. archivo.cifrar( clave_archivo ); //cifra
  157. archivo.grabar_en_disco( nombre_archivo ); //guarda
  158. break;
  159.  
  160. case 3:
  161. //si la cadena esta vacia no hace nada
  162. if( nombre_archivo[0]==0 )break;
  163. cout << "Ingrese la clave: ";
  164. cin.ignore();
  165. //se ingresa la clave para descifrar
  166. cin.getline( clave_archivo,30 );
  167.  
  168. //si la clave esta vacia no hace nada
  169. if( clave_archivo[0]==0 )break;
  170. archivo.descifrar( clave_archivo ); //descifra
  171. archivo.grabar_en_disco( nombre_archivo ); //guarda
  172. break;
  173.  
  174. case 4:
  175. return 0; //sale del programa
  176. break;
  177. }
  178. }while(1);
  179. }
  180.  

167  Programación / Programación C/C++ / Re: Que libro me recomendais de C/C++ en: 20 Noviembre 2010, 18:48 pm
Como te dijeron arriba, ahi tenes un montón de material muy útil.
Creo que el mejor para empezar es el libro de Pozo Coronado ( está en la lista tmb )
http://c.conclase.net/?id=descargas
168  Programación / Programación C/C++ / Re: Puzzle en dev c++ en: 20 Noviembre 2010, 18:41 pm
Bueno, a ver si te puedo ayudar en algo.

Código:
for(i=1; i<=3;i++)
   for(j=1;j<=3;j++)
      r[i-1][i-1] = i*j;
No se por que no arrancas i = 0 y j = 0.
Y lo que esta guardando en la matriz resultado es el resultado de la multiplicación de las posiciones no esta guardando la suma del contenido de las matrices.

El código para sumar la matriz seria este:
Código:
for(int x=0; x<3;x++)
   for(int y=0;y<3;y++)
      r[x][y] = numsa[x][y] + numsb[x][y];

Trata de no usar la librería conio, eso lo podes hacer perfectamente con librerías estándar.
169  Programación / Programación C/C++ / Re: Ayuda en con funcion random() en: 20 Noviembre 2010, 06:34 am
pone la libreria stdlib.h

Sino usa srand y rand para los numeros aleatorios, es mas confiable.
170  Programación / Programación C/C++ / Re: Ayuda con estructura en: 20 Noviembre 2010, 06:12 am
depende lo que quieras hacer con esos datos, si los queres mostrar por pantalla o guardar en un archivo, seria mas fácil declarar una sola estructura y hacer un ciclo, un for de 3, y cargarlos en la misma estructura. y vas devolviendo los datos.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines