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

#81
Lo que buscas es esto:
http://www.cplusplus.com/reference/cstdio/rename/?kw=rename

Devuelve cero si se hizo correctamente y un número distinto de cero si hubo algún problema.
#82
Cita de: ivancea96 en 12 Abril 2014, 13:18 PM
Pero el destructor de vector ya destruye sus componentes por ti no? :o
Ya lo sé, pero estaba depurando porque era super extraño.

Para la proxima vez usaré la funcion at en vez de los corchetes [] para adceder al vector. La función at lanza una excepción si adcedo fuera del rango, asi que me libro de estos problemas ^^
#83
Pues resulta que tenía petadas "aleatorias" en mi programa. Estuve mirando y comprobé que pasaba en la destrucción de un objeto.

El objeto tiene pocos atributos, lo unico que puede causar problemas es:
Código (cpp) [Seleccionar]
std::vector<std::vector<RGB> > Matriz;

RGB es una clase con 3 enteros. Eso no debería causar problemas.

Probé a depurar el destructor:
Código (cpp) [Seleccionar]
~Image()
{
   for (int i = 0; i < Matriz.size();i++)
       Matriz[i].clear();
   std::cout<<"Destruidas las filas..."<<std::endl;
   Matriz.clear();
   std::cout<<"^^"<<std::endl;
};


Falla en el ultimo clear. Pero no entiendo porque. ¿Hay problemas en destruir un vector desde otro vector?

Repito que no pasa siempre, solo pasa en X casos (y con la misma entrada y circunstancias :huh: :huh:).




Vale, esque escribía en posiciones negativas del vector *_*
#84
Cambia:
Código (cpp) [Seleccionar]
*notas = malloc(alumnos * sizeof (char));

Por:
Código (cpp) [Seleccionar]
notas = malloc(alumnos * sizeof (char));
#85
No es necesario que pongas el constructor copia/destructor si no lo vas a implementar. Ya lo hace el compilador por ti.

De hecho aqui es contraproducente. Prueba a hacer una copia del objeto, a ver si lo copia bien ^^
#86
No hombre, a la hora de mostrarlo por pantalla lo haras en valor absoluto.

Yo decia a la hora de guardarlo, muy util para comparar si un año es anterior a otro.
#87
Cita de: eferion en 10 Abril 2014, 16:42 PM
Sin código es complicado corregir errores... podemos ser buenos, pero no hemos llegado a dominar la telekinesia ( al menos yo ).
Es telepatia noob ;D

En C++ tienes setwidth y setfill. Con esas dos puedes hacerlo del tiron, busca la referencia en google.
#88
Un entero negativo es una entrada valida, significaria años A.C
#89
Si, cuando ya lo tengas inicializado.

Los arrays variables mejor con malloc por cierto.
#90
Cita de: David8 en 10 Abril 2014, 13:20 PM
Uso el dev c++
Pero el problema es que no ejecuta nada, es decir, doy a compilar y bien, pero al ejecutar en cuanto aparece la consola sale un mensaje de error de Windows

No ves nada que pueda estar mal en el código? Estoy casi seguro de que falla en alguna parte dentro del for, pero no sé el qué...

Un saludo
Te lo he dicho, tienes que averiguar en que línea te da el problema.

Hazme caso y pon printfs cada 3-4 líneas de código:

Código (cpp) [Seleccionar]

int main(void)
{
        printf("1 - Inicio \n");
char nAlumnos[TAMANIO];
int alumnos;
int longitud;
int x;   // valor que devuelve la función verificarEntrada()
int i;
char *notas[alumnos];
int notasEnteras[alumnos];
       
        printf("2 - Tras declarar las variables \n");

        // Etc...


Solo tienes que ver el último printf que escribes, y sabrás por donde falla (da igual que te salga error de Windows, los printfs los veras igual).

PD: Por cierto, usas la variable "alumnos" pero no está inicializada.