Programa Punto Fijo C++
Enviado por Aerialsk8 • 30 de Junio de 2015 • 1.627 Palabras (7 Páginas) • 332 Visitas
#include<stdio.h>
#include<iostream>
#include<conio.h>
#include<cmath>
#include<windows.h>
#include<iomanip>
#include<stdlib.h>
using namespace std;
class polinomio;
class equis
{
private:
float coef;
int exp;
equis *sig;
equis *ant;
public:
equis()
{
sig=0;
ant=0;
leer();
}
void leer()
{
cout<<"Valor del Coeficiente: "; cin>>coef;
cout<<"Valor del exponente: "; cin>>exp;
cout<<endl;
}
void imprimir();
friend class polinomio;
};
class polinomio
{
private:
equis *primero;
equis *ultimo;
equis *aux;
equis *nuevo;
int n,b;
double x,xi,n1;
float a,fx,er,ea,vr;
public:
polinomio()
{
n1=0;
vr=0;
b;
x=0;
fx=0;
a=0;
n=0;
primero=0;
}
~polinomio()
{
if(!estavacia())
{
equis *aux=primero;
equis *temp;
cout<<endl<<"BORRANDO POLINOMIO.."<<endl;
cout<<"f(x)=";
while(aux!=0)
{
temp=aux;
cout<<"+("<<temp->coef<<"x^"<<temp->exp<<")";
aux=aux->sig;
delete temp;
}
cout<<"+("<<a<<")";
cout<<endl;
primero=ultimo=0;
}
else
{
cout<<"NO HAY DATOS..."<<endl;
}
}
void cuantosterminos() //CREA LISTA DE TERMINOS
{
int i;
do
{
cout<<"CUANTOS TERMINOS? (MIN 4) ";
cin>>n;
}while(n<4);
cout<<endl;
cout<<"ESCRIBE EL POLINOMIO ORDENANDO LOS EXPONENTES DE MAYOR A MENOR"<<endl<<endl;
for(i=0;i<n;i++)
{
if(i==n-1)
{
cout<<"Indica el valor del ultimo termino ";
cin>>a;
}
else
{
equis *nuevo=new equis;
if(estavacia())
{primero=ultimo=nuevo;}
else
{
ultimo->sig=nuevo;
nuevo->ant=ultimo;
ultimo=nuevo;
}
}
}
}
bool estavacia()
{
return primero==0;
}
void imprimir() //IMPRIME POLINOMIO
{
equis *aux=primero;
cout<<"\nf(x)=";
while(aux!=0)
{
cout<<"+("<<aux->coef<<"x^"<<aux->exp<<")";
aux=aux->sig;
}
cout<<"+("<<a<<")"<<endl;
}
double funcion(double x) //EVALUA POLINOMIO
{
aux=primero;
...