Código:
#include "Monomio.h"
Monomio::Monomio() {
signo=' ';
coeficiente=0.0;
parteLiteral=' ';
grado=1;
}
Monomio::Monomio(char s,float c, char pl, int g) {
signo=s;
coeficiente=c;
parteLiteral=pl;
grado=g;
}
Monomio::Monomio(Monomio &m){
signo=m.getSigno();
coeficiente = m.getCoeficiente();
parteLiteral = m.getParteLiteral();
grado = m.getGrado();
}
void Monomio::setSigno(char s){
signo=s;
}
void Monomio::setCoeficiente(float c) {
coeficiente=c;
}
void Monomio::setparteLiteral(char pl) {
parteLiteral=pl;
}
void Monomio::setGrado(int g) {
grado=g;
}
char Monomio::getSigno(){
return signo;
}
float Monomio::getCoeficiente() {
return coeficiente;
}
char Monomio::getParteLiteral() {
return parteLiteral;
}
int Monomio::getGrado() {
return grado;
}
string Monomio::toString(){
stringstream s;
if(grado==1){
s<<signo<<coeficiente<<parteLiteral;
}
else{
s<<signo<<coeficiente<<parteLiteral<<"^"<<grado;
}
s<<" ";
return s.str();
s<<endl;
}
Monomio::~Monomio(void)
{
}
#include "Polinomio.h"
Polinomio::Polinomio(){
cantidad=0;
tamano=0;
vector = new Monomio*[NULL];
for(int i=0;i<tamano;i++){
vector[i]=NULL;
}
}
Polinomio::Polinomio(int n) {
cantidad =0;
tamano = n;
vector = new Monomio*[n];
for(int i=0;i<n;i++){
vector[i]=new Monomio;
}
}
void Polinomio::insertaElementos(Monomio* m) {
vector[cantidad] = m;
cantidad++;
}
void Polinomio::imprimeElementos(){
for(int i=0;i<cantidad;i++){
cout<<vector[i]->toString();
}
}
void Polinomio::sumaPolinomio(Monomio*){
}
void Polinomio::sumaPolinomios(Monomio*, Monomio*){
}
void Polinomio::ordenaPolinomio(Monomio*){
for(int i=0;i<tamano;i++){
if(vector[i]<vector[i+1]){
Monomio* temp;
temp = vector[i];
vector[i]= vector[i+1];
vector[i+1]=temp;
}
}
}
Polinomio::~Polinomio(void) {
cantidad=0;
for(int i=0;i<cantidad;i++)
delete vector[i];
}
#include "Interfaz.h"
int n;
Polinomio A(n);
Polinomio B(n);
Interfaz::Interfaz(){
}
void Interfaz::portada(){
cout<<" MINI PROYECTO I "<<endl;
cout<<" SUMA DE POLINOMIOS "<<endl;
cout<<"----------------------------------"<<endl;
cout<<endl<<endl;
cout<<"Hecho por: ---------------------"<<endl;
cout<<" ------- ------ ------"<<endl;
cout<<"----------------------------------"<<endl;
cout<<endl;
cout<<endl;
system("pause");
system("cls");
regresar();
}
int Interfaz::Menu() {
int opc;
cout<<" MENU "<<endl;
cout<<"---------------------"<<endl;
cout<<"1. Insertar"<<endl;
cout<<"2. Consultar "<<endl;
cout<<"3. Sumar "<<endl;
cout<<"4. Salir "<<endl;
cout<<"---------------------"<<endl;
cout<<endl;
cout<<"Digite la opcion que desea: ";
cin>>opc;
cout<<endl;
system("cls");
return opc;
}
void Interfaz::evaluaMenu() {
int opc= Menu();
switch(opc) {
case 1:
insertar();
break;
case 2:
//consultar();
//break;
case 3:
//sumaPolinomio();
//break;
case 4:
salir();
break;
}
}
void Interfaz::insertar(){
int c=0;
cout<<"--------------------INSERTAR POLINOMIO-------------------"<<endl;
cout<<"Digite la cantidad de monomios que hay en el primer polinomio: ";
cin>>n;
for(int i=0;i<n;i++){
cout<<endl;
cout<<"Digite el signo <+/-> y el coeficiente: ";
cin>>signo;
A.setSigno(signo);
cin>>coeficiente;
A.setCoeficiente(coeficiente);
cout<<"Digite la parte literal ('x', 'y', 'xy'): ";
cin>>parteLiteral;
A.setparteLiteral(parteLiteral);
cout<<"Digite el grado de la parte literal (Si no tiene digite 1): ";
cin>>grado;
A.setGrado(grado);
Monomio *m1=new Monomio(signo,coeficiente,parteLiteral,grado);
A.ordenaPolinomio(m1);
A.insertaElementos(m1);
A.imprimeElementos();
cout<<endl;
cout<<"El polinomio #1 es: (";
A.ordenaPolinomio(m1);
A.imprimeElementos();
cout<<")"<<endl<<endl;
}
/*
cout<<"Digite la cantidad de monomios que hay en el primer polinomio: ";
cin>>n;
for(int i=0;i<n;i++){
cout<<endl;
cout<<"Digite el signo <+/-> y el coeficiente: ";
cin>>signo;
B.setSigno(signo);
cin>>coeficiente;
B.setCoeficiente(coeficiente);
cout<<"Digite la parte literal ('x', 'y', 'xy'): ";
cin>>parteLiteral;
B.setparteLiteral(parteLiteral);
cout<<"Digite el grado de la parte literal (Si no tiene digite 1): ";
cin>>grado;
B.setGrado(grado);
Monomio *m2 = new Monomio(signo, coeficiente, parteLiteral, grado);
B.insertaElementos(m2);
B.sumaPolinomio(m2);
B.imprimeElementos();
cout<<endl;
}
c++;
cout<<"El polinomio #"<<c<<" es: (";
B.imprimeElementos();
cout<<")"<<endl<<endl;
system("pause");
cout<<"------------------------------------------------------------"<<endl;
system("cls");
regresar();*/
}
//void Interfaz::sumaPolinomio(){
//
//}
//void Interfaz::consultar(){
// C.imprimeElementos();
// cout<<endl;
// system("pause");
// system("cls");
// regresar();
//}
void Interfaz::regresar(){
evaluaMenu();
}
void Interfaz::salir(){
system("cls");
}
Interfaz::~Interfaz(){
}