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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda: cada ves que imprimo mi variable Float, cambia el contenido e.e
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda: cada ves que imprimo mi variable Float, cambia el contenido e.e  (Leído 2,206 veces)
grox1

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Ayuda: cada ves que imprimo mi variable Float, cambia el contenido e.e
« en: 12 Noviembre 2014, 20:37 pm »

Tengo esta parte del codigo y todas las variables estan declaradas tipo float y forman parte de una estructura-matriz.
El problema que tengo es que cuando hace la cuenta, se guarda en la variable y cuando la imprimo la primera ves, se imprime el valor correcto, pero cuando intenta imprimirla la segunda ves, se imprime un valor que nada que ver xD, ya puse fflush(stdin) pero parece que eso no le hacia nada aj.
Código:
m[z][5].multa=2000+(1.50*(m[z][2].velreg-m[z][3].vellim));

printf("%f\n", m[z][5].multa); /*primer valor da correcto*/
printf("%f\n", m[z][5].multa); /*valor nada que ver*/
printf("%f\n", m[z][5].multa); /*valor nada que ver*/
   


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.414


ASMático


Ver Perfil WWW
Re: Ayuda: cada ves que imprimo mi variable Float, cambia el contenido e.e
« Respuesta #1 en: 12 Noviembre 2014, 20:42 pm »

Me parece muy extraño. Si puedes poner el código donde creas la matriz, y la estructura, se podría ver mejor.

Por cierto, colócalos entre las etiquetas GeSHi de C para que se vea mejor.


En línea

grox1

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ayuda: cada ves que imprimo mi variable Float, cambia el contenido e.e
« Respuesta #2 en: 12 Noviembre 2014, 20:47 pm »

Ahi la parte del codigo donde declaro todo:
Código:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#define Y 5

int r1, z, x, j, cont=0, h, cont1=0, b;
float prom, acum, a, c;
struct infrac{
int nr;
int sec;
float velreg;
float vellim;
char fecha[10];
float multa;
}m;
main(){
printf("Ingrese la cantidad de Infracciones que tiene para cargar:\n");
scanf("%d", &r1);
struct infrac m[r1][Y];
z=-1;
cont1=0;
while(cont1<r1){
z=z+1;
system("cls");
printf("Numero de Registro:\n");
scanf("%d", &m[z][0].nr);
printf("Sector en el que se produjo la infraccion(1-4):\n");
scanf("%d", &m[z][1].sec);
printf("Velocidad Registrada(Km/h):\n");
scanf("%f", &m[z][2].velreg);
printf("Velocidad Limite(Km/h):\n");
scanf("%f", &m[z][3].vellim);
printf("Fecha(dd/mm/aa):\n");
fflush(stdin);
gets(m[z][4].fecha);
m[z][5].multa=2000+(1.50*(m[z][2].velreg-m[z][3].vellim));
printf("%f\n", m[z][5].multa); /*primer valor da correcto*/
printf("%f\n", m[z][5].multa); /*valor nada que ver*/
printf("%f\n", m[z][5].multa); /*valor nada que ver*/
cont1=cont1+1;
}
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.414


ASMático


Ver Perfil WWW
Re: Ayuda: cada ves que imprimo mi variable Float, cambia el contenido e.e
« Respuesta #3 en: 12 Noviembre 2014, 20:53 pm »

A mi me funciona perfectamente.
En línea

grox1

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ayuda: cada ves que imprimo mi variable Float, cambia el contenido e.e
« Respuesta #4 en: 12 Noviembre 2014, 20:55 pm »

entonces puede ser mi compilador? tengo el dev c++ 5.7.1
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.414


ASMático


Ver Perfil WWW
Re: Ayuda: cada ves que imprimo mi variable Float, cambia el contenido e.e
« Respuesta #5 en: 12 Noviembre 2014, 21:00 pm »

No sé. Por cierto, en el código que pegaste, se te olvidó una llave.
En línea

zShackra

Desconectado Desconectado

Mensajes: 59


Ver Perfil WWW
Re: Ayuda: cada ves que imprimo mi variable Float, cambia el contenido e.e
« Respuesta #6 en: 12 Noviembre 2014, 21:03 pm »

Algo de offtopic...

Veo varias malas prácticas en tu algoritmo.

Te sugiero pasar por este tema...

Y usar un compilador decente... Al menos intenta con Code::Blocks o Visual C++ Express... (QtCreator es una buena alternativa).
« Última modificación: 23 Noviembre 2014, 07:14 am por zShackra » En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Ayuda: cada ves que imprimo mi variable Float, cambia el contenido e.e
« Respuesta #7 en: 13 Noviembre 2014, 04:18 am »

Tengo esta parte del codigo y todas las variables estan declaradas tipo float y forman parte de una estructura-matriz.
Ese programa tiene varios errores algunos relacionados con el lenguaje y otros de concepto.

* Para empezar no es necesario utilizar un array de arrays (mal y mejor conocido como "matriz", tal cosa en el lenguaje C no existe), mas todavía: no utilizas todos los campos de cada elemento.

* Declaras el array indicando su numero de elementos mediante una variable:
Código
  1. struct infrac m[r1][Y];
Eso no es valido en C90, valido en C99 y opcional en C11 así que vas a tener que revisar la documentación de tu compilador para conocer cual es su caso (mejor utilizar malloc ya que es soportado en los tres estándares).

* En C los indices validos inician en 0 y terminan en N-1 donde N es el numero de elementos del array, tu utilizas uno invalido en las lineas:
Código
  1. printf("%f\n", m[z][5].multa);
  2. printf("%f\n", m[z][5].multa);
  3. printf("%f\n", m[z][5].multa);

* Por ultimo declaras una variable "m" antes de la función main la cual no utilizas y por ende deberías eliminar. Y si deseas imprimir una cadena literal terminada con '\n' en lugar de printf es mejor utilizar puts.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
por que el lenguaje C/C++ cambia en cada compilador
Programación C/C++
linux1 8 2,851 Último mensaje 24 Junio 2010, 20:46 pm
por Eternal Idol
[Python] print solo si cambia la variable
Scripting
Fyrox 1 2,539 Último mensaje 28 Septiembre 2011, 04:13 am
por Novlucker
Cerrar ventana popup o float al hacer click en su contenido
Desarrollo Web
maximilion69 7 11,688 Último mensaje 23 Junio 2012, 03:50 am
por ©rIsT0BÄl
problema con la variable float « 1 2 »
Programación C/C++
SMFSM 10 3,176 Último mensaje 2 Marzo 2014, 22:48 pm
por leosansan
Facebook cambia su algoritmo para dar prioridad al contenido que más te interesa
Noticias
wolfbcn 0 462 Último mensaje 22 Abril 2016, 18:11 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines