Salve a tutti,
Questo è il mio promo post, mi scuso per eventuali errori,
Sto provando da giorni a fare un programma sul calcolo del TAN(tasso annuo nominale) dato dalla formula i12(tasso mensile)*12,
Per trovare i12 si deve procedere a tentativi partendo dal 1% in poi in base all'errore consentito.
Questo errore è dato da (prezzo-Valore attuale)/prezzo
Il valore attuale si calcola come segue
evenutale acconto+rata*(1-(1+i12 quindi partendo dall'1% sarà 1% andando a variare)^-numerodeimesi)/i12+un'eventuale riscatto.
Se l'errore dovesse essere troppo alto lo dovrei reinserire
Questo è cio che ho abbozzato ma non funziona
#include <iostream>
#include <string>
using namespace std;
int main ()
{
	int nm,				//numeromesi
		lis,			//listino
		sco,			//sconto
		acc,			//acconto
		r,				//rata
		ris,			//riscatto
		ps,				//prezzoscontato
		afig,			//afiguraton
		intperc,		//interesseinpercentuale
		ida,				//interesse
		tan,			//tan
		
		te,				//tassoeffettivo
		risc,			//riscattofinito
		va;			//valoreattuale
	float	erco,			//erroeconsentito	
		i,			//interesse giusto
		err;			//errore
	
	cout<<"Inserisci listino ";
	cin>>lis;
	cout<<"Inserisci sconto ";
	cin>>sco;
	cout<<"Inserisci il numero delle rate ";
	cin>>nm;
	cout<<"Inserisci la rata ";
	cin>>r;
	cout<<"Inserisci l'errore massimo ";
	cin>>erco;
	cout<<"Inserisci il tasso che vuoi utilizzare ";
	cin>>ida;
	ida==i;
	ps=lis-(lis*sco/100);
	afig=(1-(1+ida/100)^-nm)/(ida/100);
	risc=ris/(1+ida/100)^nm;
	va=risc+(r*afig);
	if(ps>va)
	err=(ps-va)/ps;
	else
	err=(va-ps)/ps;
	
	while(err>erco);
	{
		if(va>ps)
		i=i+0.0005;
		else
		i=i-0.0005;
		
	}
	tan=i*12;
	
	cout<<"Il tan e' "<<tan<<endl;
	
system("pause");
return 0;
}