• Viernes 15 de Noviembre de 2024, 09:51

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - 16011991

Páginas: [1]
1
C/C++ / Re: Me falta terminarlo
« en: Lunes 14 de Diciembre de 2009, 20:03 »
muchas gracias!!

2
C/C++ / Me falta terminarlo
« en: Viernes 11 de Diciembre de 2009, 14:01 »
Tengo que hacer un programa de numero complejos y lo tengo terminado salvo que me da un error de linker a la hora de compilar, el codigo es este:
#include <iostream>
#include <math.h>


using namespace std;

void Multiplicar (float, float, float, float);
void Dividir (float, float, float, float);
void Transformar1 (float, float);
void Transformar2 (float&, float&);
void Transformar3 (float, float);

int main(void)
{
    float real1, imag1, real2, imag2;
    int a;
   
    cout << "Numero 1" << endl;
    cout << "Dame la parte real: ";
    cin >> real1;
    cout << "Dame la parte imaginaria: ";
    cin >> imag1;
   
    cout << "Numero 2" << endl;
    cout << "Dame la parte real: ";
    cin >> real2;
    cout << "Dame la parte imaginaria: " << endl;
    cin >> imag2;
   
    cout << "Multiplicacion pulsa 1, division pulsa2: ";
    cin >> a;
   
    switch (a)
    {
        case 1:
            Multiplicar (real1, imag1, real2, imag2);
            break;
           
        case 2:
            Dividir (real1, imag1, real2, imag2);
            break;
           
        default:
            cout << "Opcion incorrecta" << endl;
    }
}              
               
void Multiplicar (float real1, float imag1, float real2, float imag2)
{
     float resulreal, resulimag;
     
     resulreal = (real1 * real2 - imag1 * imag2);
     resulimag = (real1 * imag2 + imag1 * real2);
     
     cout << "Resultado en forma cartesiana = " << resulreal << " + " << resulimag << "i" << endl;
     
     Transformar1 (resulreal, resulimag);
}

void Dividir (float real1, float imag1, float real2, float imag2)
{
     float modulo, ang;
     
     Transformar2 (real1, imag1);
     Transformar2 (real2, imag2);
     
     modulo = real1 / real2;
     ang = imag1 - imag2;
     cout << "El resultado en forma polar es = " << modulo << " " << ang << "º" << endl;
     Transformar3 (modulo, ang);
}
     
void Transfomar1 (float real, float imag)
{
     float ang, raiz, modulo;
     
     raiz = real * real + imag * imag;
     modulo = sqrt (raiz);
     ang = atan (imag / real);
     
     cout << "El resultado en forma polar es = " << modulo << " " << ang << "º" << endl;
}

void Transformar2 (float& real, float& imag)
{
     float raiz;
     
     raiz = real * real + imag * imag;
     real = sqrt (raiz);
     imag = atan (imag / real);
}

void Transformar3 (float modulo, float ang)
{
     float real, imag;
     real = modulo * cos (ang);
     imag = modulo * sin (ang);
     
     cout << "El resultado en forma polar es = " << real << " + " << imag << "i" << endl;
}

Páginas: [1]