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 - class_OpenGL

#121
Programación C/C++ / Re: Ayuda Arduino
20 Agosto 2016, 05:07 AM
No has definido la función loop. El código que ahora mismo estás mostrando está en C++, pero antes de ser completamente C++ tiene que pasar por cierto paso, en el cual se declara la función 'void loop()', por lo que tienes que definirla si o si

Solución: define la función 'void loop()', aunque esté vacía. Ejemplo de definición:
void loop() {
   
}
#122
Creo que no me has entendido, una vez pasado el caracter nulo, da igual lo que haya guardado en la cadena, pues siempre leerás desde el principio de la cadena hasta el carácter nulo, así que si se guarda 'basura', no pasa nada. Si de verdad te molesta esa basura, simplemente inicializa el arreglo con caracteres nulos, y ya después almacenas la cadena en si.
#123
Estás seguro de que has inicializado la estructura andes de guardarla? También ten en cuenta que la cadena tiene longitud 50, por lo que si por ejemplo la cadena es "Carlos", entonces el resto de bytes de la cadena contendrá basura. Te pongo un ejemplo con una cadena de 10 elementos. Supongamos la siguiente cadena:

char cadena[10] = "Cadena";

Dada la información, el arreglo cadena contiene 'C', 'a', 'd', 'e', 'n', 'a', '\0', pero, ¿qué pasa con el resto de bytes de la cadena? Pues simplemente están llenos de basura, pero eso no pasa nada, para eso está el indicador de final de cadena ('\0'). La cadena se vería así:

'C', 'a', 'd', 'e', 'n', 'a', '\0', BASURA, BASURA, BASURA

donde basura vale cualquier valor "aleatorio"
#124
Yo creo que no se "imprime" basura. Yo creo que lo que tu ves como basura es el valor binario de los enteros, por lo que yo te aconsejo que sigas usando fwrite:

fwrite(&cnt, sizeof(clientes), 1, archivo);
#125
Aunque el carácter de fin de línea no se guarde en la cadena, este se lee y descarta, pero si tienes la necesidad imperiosa de que la cadena tenga un carácter de salto de línea al final, simplemente añádelo después de la operación de lectura:

Código (c++) [Seleccionar]
string linea;
getline(cin, linea);
linea += '\n';
#126
El paso por referencia se utiliza cuando quieres cambiar el valor de la variable/objecto dentro de la función. Creo que con un ejemplo se entenderá mejor:

Código (cpp) [Seleccionar]
#include <iostream>

void modificarInt(int &variable);

int main() {
    int var = 0;
   
    modificarInt(var);
   
    std::cout << var << std::endl;
   
    return 0;
}

void modificarInt(int &variable) {
    variable = 5;
}


Salida en consola de este programa:
5

Si en este ejemplo no se pasara por referencia, la función no haría nada, porque simplemente le has pasado una copia del entero, mientras que cuando pasas una variable/objeto por referencia, es como si le dijeras a C++ que en la función'modificarInt' use la variable 'var' de la función main, por lo que cuando modificas la variable dentro de la función 'modificarInt', en realidad estás modificando la variable 'var'.

Se podría decir que la variable 'variable' de la función se refiere a la variable 'var' de la función main
#127
Ahh vale. No caí en eso. Graicas
#128
Hola, muy buenas. Por razones que no vienen a cuento, puse que se vieran todos los archivos ocultos del sistema de Windows 8.1. Cuando hice esto, en el escritorio aparecieron varios archivos, pero ya me lo esperaba. Lo que no me esperaba es que dos de esos dos archivos tuvieran el mismo nombre, pero con tamaños diferentes. Entonces, la duda que se me presenta es, desde la consola, ¿cómo es posible referirse a uno de esos dos archivos en concreto?. Captura de pantalla de los dos archivos:



Sé que es una duda un poco tonta, pero tengo la curiosidad. Gracias de antemano
#129
Ya he comentado que depende de la gráfica, no del procesador
#130
Ten en cuenta que OpenGL depende de la tarjeta gráfica que tengas, así que si tu gráfica no soporta OpenGL 3.0, entonces no hay nada eficiente que hacer. Si tu tarjeta es compatible con OpenGL 3.0, pero tu ordenador no lo detecta, entonces tienes que instalar la última versión de los drivers de la gráfica. Si sigue sin detectarse, probablemente el problema sea un bug con los drivers.