|
1682
|
Programación / Programación C/C++ / Re: Duda acerca de macros
|
en: 27 Octubre 2015, 16:56 pm
|
Me he dado cuenta que extern no vale para nada:
En absoluto. Para que solo has visto 1 cara de la moneda. Extern sirve para coger variables de otros archivos, sí. Pero sin necesidad de ninguna interaccion entre ellos. Extern coge una variable de un código objeto, NO necesita el código fuente. Esa, es una de las funcionalidades de extern: //a.cpp int a = 5;
//b.cpp #include <iostream> extern int a; int main(){ std::cout << a; }
Compilas ambos a un fichero objetos, y verás que no da problema al linkear. La salida, es la esperada, "5".
|
|
|
1683
|
Programación / Programación C/C++ / Re: Podrían decirme en qué me equivoqué en este fragmento de código?
|
en: 27 Octubre 2015, 09:54 am
|
Debes aprender a encontrar los errores. Te doy unas pautas: - En caso de error en tiempo de ejecución:
Localiza la línea o función que tira el error. Para ello, puedes colocar salidas por pantalla en varias partes del código. En el momento en que una salida no se represente, significa que el error está entre la última salida, y la que no se vió. Evidente, ¿no? - En caso de código "que no hace nada":
Este caso se suele dar generalmente, en 1 de estas 2 ocasiones: o código que realmente no hace nada, por algún error al escribirlo, o código que no se llega a ejecutar. En el segundo caso, que tal vez sea el tuyo, verifica que las condificones o bucles que haya son correctas (Es posible que una condición sea errónea). La técnica de las salidas por pantalla funciona bien ahí también.
Con esto te quiero decir, que te va a ser más fácil a ti buscar el error, que a los demás. No tires la toalla, y sigue buscando. Analiza el código bloque a bloque, hasta ver exactamente qué falla.
|
|
|
1686
|
Programación / Programación C/C++ / Re: Crear imagenes a partir de codigo?
|
en: 26 Octubre 2015, 10:44 am
|
JPE es un formato comprimido, así que no te lo recomiendo para empezar. BMP es de los más sencillos, pero te recomiendo uno mucho más simple: PBM PBM tiene 6 formatos: archivo blanco y negro, archivo en escala de grises, y archivos en color RGB. Todos estos en ASCII. Luego, cada uno de estos tienen su homólogo en binario. Es de los más simples para empezar. Eso sí, no lo abren todos los editores de imagen. Photoshop, por ejemplo, sí. https://en.wikipedia.org/wiki/Netpbm_formatEl problema de los formatos es que tienes que conocerlos. Eso es todo. Una vez sepas como es el formto (o sigas una guía para generarlo), ya solo es crear el código que lo genere. Con PBM puedes hacerlo hasta a mano. PBM versión 6 (P6), es RGB en binario. El mejor formato, pues es el menos pesado, y el más rápido de trabajar en programación. Te animo a hacer un programa para él !
|
|
|
1687
|
Programación / Programación C/C++ / Re: Encriptacion en C
|
en: 25 Octubre 2015, 21:16 pm
|
gets es una función obsoleta e insegura. Se debe utilizar en su lugar fgets. https://foro.elhacker.net/programacion_cc/lo_que_no_hay_que_hacer_en_cc_nivel_basico-t277729.0.htmlEn cuanto al problema Akise Aru, ve por partes. Primero el codificador, y una vez este funcione, el decodificador. Recuerda identar el código para mayor legibilidad. char Letras[27]={ 'A' , 'B' , 'C' , 'D' }; while(Mensaje[i]!= '\0' )
Los caracteres se colocan entre comillas simples 'A'. No sé si fue un error al poner el código en el foro, o si en verdad lo tienes así. Solo lo comento. Tal como lo tienes, ya solo te faltan 2 cosa: La primera es comprobar si la letra a tratar es una letra o no. Si no es una letra, no la modificas: pasas a la siguiente. La segunda es comprobar si al sumar o restar, se sale del rango de las letras. Si es así, modificar el valor adecuadamente. El tema de la Ñ desde luego complica un poco el algoritmo. Pero utilizando un arreglo como el que tienes de letras, jugando con índices, lo lograrás ! Ya comentarás.
|
|
|
1688
|
Programación / Programación C/C++ / Re: Pasar letras a números
|
en: 25 Octubre 2015, 18:38 pm
|
string texto; cout << "Ingrese el texto:"; cin >> texto[100]; int numeros[100];
Estás pasándole a cin>> 1 caracter (fuera del rango de texto) texto es una string. Si quieres leer una linea y guardarla en él, pon: getline(cin, texto);
Y en caso de que la cadena tenga más de 100 letras, int numeros[100] no serviría. Pon: int numeros[texto.size()];
O utiliza un vector.
|
|
|
1690
|
Programación / Programación C/C++ / Re: (Consulta) Preferencia entre operadores
|
en: 25 Octubre 2015, 14:05 pm
|
De todos modos, en caso de operadores booleanos: #include <iostream> using namespace std; bool func(string a, bool t){ cout << a; return t; } int main(){ (func("A", true) || func("B", true)); cout << endl; (func("A", false) && func("B", true)); }
Si la condición se cumple (o no se cumple) definitivamente, no se llama al resto de funciones.
|
|
|
|
|
|
|