Título: Error al compilar Publicado por: HectorSersi en 11 Diciembre 2018, 19:00 pm Buenas, me sale un error al compilar y luego en la puntuación me salen numeros negativos cuando deberían salir numeros pequeños...Es un error que nunca me habia salido y no se por que es.
https://gyazo.com/dd40d2b77b7fa13ba755a169e3b819fe Código
Título: Re: Error al compilar Publicado por: AlbertoBSD en 11 Diciembre 2018, 19:12 pm Código: int dato; Título: Re: Error al compilar Publicado por: HectorSersi en 11 Diciembre 2018, 19:14 pm Título: Re: Error al compilar Publicado por: AlbertoBSD en 11 Diciembre 2018, 19:20 pm Par empezar el tipo de dato de la variable Dato es double no Int, no puedes o mas bien vas a tener errores por guardar un dato entero cuando realemnte esperas un tipo de dato flotante o double.
Segundo segun veo tu Screenshot. Código: for (int i = dato; i < 8; i++) { variable = variable + cartas[i]; } Iguales i al valor de dato pero cuando realizas una Operacion en dato como: Código: dato = 7.5 - puntosMaquina; El resultado no va a ser siempre el que esperes, a no ser que estes 100% seguro que la operacion siempre va a devolver un numero entero. ahora el error que te aparece es que estas tratando de acceder a una region de memoria no valida, ya sea que te excediste del limite del arreglo o la variable cartas es apuntador No valido. (Cosas que no podemos saber por que no tenemos acceso al resto del codigo. Te recomiendo colocar Mejores nombres a tus variables por que los nombres de "dato" y "variable" son muy escuetos. Saludos Título: Re: Error al compilar Publicado por: HectorSersi en 11 Diciembre 2018, 19:42 pm Par empezar el tipo de dato de la variable Dato es double no Int, no puedes o mas bien vas a tener errores por guardar un dato entero cuando realemnte esperas un tipo de dato flotante o double. Segundo segun veo tu Screenshot. Código: for (int i = dato; i < 8; i++) { variable = variable + cartas[i]; } Iguales i al valor de dato pero cuando realizas una Operacion en dato como: Código: dato = 7.5 - puntosMaquina; El resultado no va a ser siempre el que esperes, a no ser que estes 100% seguro que la operacion siempre va a devolver un numero entero. ahora el error que te aparece es que estas tratando de acceder a una region de memoria no valida, ya sea que te excediste del limite del arreglo o la variable cartas es apuntador No valido. (Cosas que no podemos saber por que no tenemos acceso al resto del codigo. Te recomiendo colocar Mejores nombres a tus variables por que los nombres de "dato" y "variable" son muy escuetos. Saludos Gracias, como puedo haberme pasado si yo he definido el array como Código y con el for he hecho que lea hasta el 8 a si que no creo que me haya pasado... y lo de no valido no se como ver si es eso... Título: Re: Error al compilar Publicado por: K-YreX en 11 Diciembre 2018, 20:46 pm Primero que tienes que cambiar todas las variables de <int> a <double> como ya te han comentado. Sino vas a perder los decimales de los cálculos.
El problema de compilación que te da puede ser por pasar ese tipo de dato así. Es una cosa que no te puedo decir seguro ya que nunca lo he usado. Y el primer <for> tiene que empezar desde 0, la diferencia entre "variable" y "variable2" es que una tiene que tener el número de cartas de cada tipo por su valor y la otra tiene que acumular el número de cartas sólo. Por lo que lo puedes hacer todo en un mismo <for>. Y por último, un código que sea: Código Es mejor suponer un valor inicial y solo lo cambias una vez: Código Pero esto último es simplemente como recomendación, de la otra forma funciona igual. Suerte. :-X PD: No cites un mensaje para responder, dale arriba del todo o abajo del todo donde pone "responder" y no agregues citas a no ser que sea para comentar algo específico de lo que ha dicho otra persona. Título: Re: Error al compilar Publicado por: CalgaryCorpus en 11 Diciembre 2018, 21:31 pm Si la variable es booleana, más corto
Código
|