Jump to content
Sign in to follow this  
Aezrel

caça ao erro!

Recommended Posts

Aezrel

Olá a todos.

eu tenho a seguinte função:

inserir_despesa(float valor_pago, float despesa[50][11], int categoria)
{
int i;

for(i=0;i<50;i++)
	if (despesa[i][categoria-1]==0.0)
		despesa[i][categoria-1]=valor_pago;
}

mas dá-me erro, e já se esgotaram as ideias em relaçao ao que o pode originar...

se me puderem ajudar o mais rápido possivel.

Agradecido.

Share this post


Link to post
Share on other sites
Aezrel

ja nao me recordo o que era... apenas sei que tinha tudo correcto a nivel de sintaxe e simplesmente nao dava.

entao troquei todos os floats por ints, e deu...

há alguma regra, a nivel de vectores muldimensionais de float, em programaçao estruturada?

Share this post


Link to post
Share on other sites
lufinima

	if (despesa[i][categoria-1]==0.0)

Eu garanto-te que se tiveres floats e isto assim para comparar floats não vai funcionar, porque não dá para comparar floats da mesma maneira que int, ora vejamos:

tens o float a=0.0001 e  ao comparares a == 0.0 dá erro por causa da precisão de vírgula flutuante, eu tive que implementar em c++ um algoritmo que já não me lembro qual o nome para poder comparar floats mas acho que o amigo Google vai poder ajudar-te. ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.