Foros del Web » Programación para mayores de 30 ;) » C/C++ »

exponente

Estas en el tema de exponente en el foro de C/C++ en Foros del Web. Buenos dias. Mi problema es el siguiente. Para elevar algo al cuadrado utilizo a=pow(x,2); . Pero cuando intento introducir el exponente que yo qiero no ...
  #1 (permalink)  
Antiguo 11/07/2010, 15:47
 
Fecha de Ingreso: marzo-2010
Mensajes: 53
Antigüedad: 14 años, 2 meses
Puntos: 0
exponente

Buenos dias.
Mi problema es el siguiente. Para elevar algo al cuadrado utilizo a=pow(x,2);. Pero cuando intento introducir el exponente que yo qiero no funciona.
Código PHP:
#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;
double a,b;
float c;
int z;
int potencia(double adouble b,float c)
{
      
cout<<"Escribe un numero:";
      
cin>>a;
      
cout<<"Escribe su exponente";
      
cin>>b;
      
pow(a,b);
      
cout<<c;
      
system("pause");
      }
      
main()
{
    
cout<<"Este programa calcular potencias.\n";
    
cout<<"Quieres calcular potencias??(si=1;no=2).\n";
    
cin>>z;
    if (
z==1)
    {
    
int potencia(double adouble b,float c);
    }
    else
    {
int potencia(double adouble b,float c);
}
    
system("PAUSE");
    return 
EXIT_SUCCESS;

Corregirme los fallos que haya si no es mucha molestia y si hay un metodo mejor diganmelo.
Este es un codigo que resumen mi problema ya que aqui me da problema el compilador al compilar un programa mucho mayor. Esta escrito teniendo en cuenta:
- las varibles tienen que estar definidas fuera de las funciones.
- La potencia tiene que estar en otra funcion que no sea la principal(main).
- Tienes que elegir la base y el exponente.
- Los tipos de variables pueden cambiar, no tienen porque ser los que he puesto.
Me compila pero no me corre, para detectar el fallo he puesto el if y else en la funcion principal.Gracias a esto se que el fallo ocurre en la llamada a la funcion potencia.
Espero no haberos complicado muchos la vida.jajaja
un saludo.

Última edición por kerso4; 12/07/2010 a las 08:26
  #2 (permalink)  
Antiguo 11/07/2010, 17:14
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 1 mes
Puntos: 228
Respuesta: exponente

Primero sijate que la variable s no esta definida, capas te queres referir al caracter s. Escribilo asi 's'.


A la hora de llamar una funcion vos la declareste:
int potencia(double a, double b,float c);
deberia ir
potencia(a,b,c);

Pero no tiene sentido que le pases por argumentos esos valores y despues los pedis que los ingrese el usuario en la funcion.
  #3 (permalink)  
Antiguo 12/07/2010, 08:35
 
Fecha de Ingreso: marzo-2010
Mensajes: 53
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: exponente

ok
Esos eran un fallos menores.
Es una parte simplificada de un programa mucho mas grande; por eso los paso por argumento.
He llegado a esto, pero me da error al poner la funcion int potencia(...)porque la variable "c" tiene que ser float y el compilador no me lo acepta.
Código PHP:
#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;
int a;
int b,z;
float c;
int potencia(int aint b,float c)
{
      
cout<<"Escribe un numero:";
      
cin>>a;
      
cout<<"Escribe su exponente";
      
cin>>b;
      
pow(a,b);
      
cout<<c;
      
system("pause");
      }
      
main(int potencia(), int aint bfloat c)
{
    
cout<<"Este programa calcular cuadrados.\n";
    
cin>>z;
    if(
z==1)
    {
    
int potencia(abc);
    }
    
system("PAUSE");
    return 
EXIT_SUCCESS;

Muchas gracias.
Un saludo
  #4 (permalink)  
Antiguo 12/07/2010, 11:00
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 1 mes
Puntos: 228
Respuesta: exponente

Código C++:
Ver original
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <math.h>
  4.  
  5. using namespace std;
  6. int a;
  7. int b,z;
  8. float c;
  9. int potencia(int a, int b,float c)
  10. {
  11.       cout<<"Escribe un numero:";
  12.       cin>>a;
  13.       cout<<"Escribe su exponente";
  14.       cin>>b;
  15.       c = (float) pow(a,b);
  16.       cout<<c;
  17.       system("pause");
  18.       }
  19.        
  20. main()
  21. {
  22.     cout<<"Este programa calcular cuadrados.\n";
  23.     cin>>z;
  24.     if(z==1)  
  25.           potencia(a, b, c);
  26.     system("PAUSE");
  27.     return EXIT_SUCCESS;
  28. }

Podes transcribir el error del compilador...
  #5 (permalink)  
Antiguo 12/07/2010, 12:09
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 2 meses
Puntos: 1360
Respuesta: exponente

Código C++:
Ver original
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6. void power(){
  7.     double a, b;
  8.  
  9.     cout << "Dame la base: ";
  10.     cin >> a;
  11.  
  12.     cout << "Dame el exponente: ";
  13.     cin >> b;
  14.  
  15.     cout << "El resultado es: " << pow(a, b) << endl;
  16. }
  17.  
  18. int main(){
  19.  
  20.     char opcion = 'S';
  21.  
  22.     cout << "*********Programa para calcular potencias*********" << endl;
  23.     cout << "Desea entrar [S/n]: " << endl;
  24.     cin >> opcion;
  25.     if(opcion == 's' || opcion == 'S')
  26.         power();
  27.     cout << "Bye bye :D" << endl;
  28.     return 0;
  29. }
  #6 (permalink)  
Antiguo 13/07/2010, 13:45
 
Fecha de Ingreso: marzo-2010
Mensajes: 6
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: exponente

podrias intentarlo asi, una modificacion hecha por mi ya lo prové y funciona



#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;

int c;
int z;
int potencia( int a, int b)
{
c = pow(a,b);
return c;
}

main()
{
int base;
int exponente;
int resultado;
cout<<"Este programa calcular potencias.\n";
cout<<"Quieres calcular potencias??(si=1;no=2).\n";
scanf("%d",&z);
if (z==1)
{
printf("Digite la base: ");
scanf("%d",&base);
printf("Digite el exponente: ");
scanf("%d",&exponente);
resultado=potencia(base,exponente);
printf("El resultado es: ");
printf("%d",resultado );
printf("\n");
system("PAUSE");
}
else
{


system("PAUSE");
return EXIT_SUCCESS;
}
}

no olvides visitarnos en www.ingenierosist.co.cc

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:53.