Ver Mensaje Individual
  #8 (permalink)  
Antiguo 02/09/2011, 01:13
bichis_29
 
Fecha de Ingreso: septiembre-2011
Ubicación: Mexico D.F
Mensajes: 10
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: programa ya corre,pero cuando imprimo el resultado siempre me da un cero(a

Cita:
Iniciado por Eternal Idol Ver Mensaje
No sirve de nada el cambio, seguis usando las variables locales esas (vol,resis,induc,capa,frecu), borralas y usa los miembros de la estructura ... tal vez quieras cambiarles el tipo a float y usar la funcion que recibe numeros y no cadenas ...
Gracias por tomarte el tiempo en ayudarme. Por fin me salio. Despues de que me hiciste esas correcciones, el programa corrio perfectamente. Me quedo asi:

#include <iostream>
#include <string>
#include <cmath>

using namespace std;

struct corriente
{

double volt;
double resis;
double induc;
double capaci;
double frecue;
double inten;

};

float capturanum(string msj);
double calculainten(corriente *apinten);
float capturainten(corriente *apinten);
void imprimir(corriente *apinten);

int main()
{


corriente apinten1;


capturainten(&apinten1);
imprimir(&apinten1);


system("pause");
return 0;

}



float capturanum(string msj)
{
float num;
cout<<msj;
cin>>num;
return num;
}





double calculainten(corriente *apinten)

{
float i,x1,x2,x3,x4,x5,x6,x7;


x1=-1*(1/2*3.1416*(*apinten).frecue*(*apinten).capaci);
x2=2*3.1416*(*apinten).frecue*(*apinten).induc;
x3=x1+x2;
x4=pow(x3,2);
x5=pow((*apinten).resis,2)+x4;
x6=sqrt(x5);
x7=(*apinten).volt/x6;
i=x7;
return i;

}



float capturainten(corriente *apinten)

{

(*apinten).volt=capturanum("Introduzca el voltaje:");
(*apinten).resis=capturanum("Introduzca resistencia:");
(*apinten).induc=capturanum("Introduzca inductancia:");
(*apinten).capaci=capturanum("Introduzca capacitancia:");
(*apinten).frecue=capturanum("Introduzca la frecuencia:");

apinten->inten=calculainten(apinten);

}


void imprimir(corriente *apinten)
{
cout<<"La intensidad es:"<<calculainten(apinten)<<endl;

}