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

Calculadora en C (Raíz cuadrada y potenciación)

Estas en el tema de Calculadora en C (Raíz cuadrada y potenciación) en el foro de C/C++ en Foros del Web. ¿Cómo puedo hacer la raíz cuadrada o la potenciación en C? Nesecito: Raíz cuadrada: Introducir el nº desde el float "numero" y que lo guarde ...
  #1 (permalink)  
Antiguo 29/05/2011, 10:39
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 5 meses
Puntos: 0
Calculadora en C (Raíz cuadrada y potenciación)

¿Cómo puedo hacer la raíz cuadrada o la potenciación en C?
Nesecito:
Raíz cuadrada:
Introducir el nº desde el float "numero" y que lo guarde en el float "resultado".
Potenciación:
Introducir la base desde el int "numero" y el exponente desde el int "potencia", para guardarlo en el int "resultado".
Aquí adjunto el código de lo que tengo:
Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3.  
  4.  
  5. int main( )
  6.  
  7. {
  8.  
  9.     int tipo;
  10.  
  11.  
  12.  
  13.     printf( "¿Qué operación va a realizar ahora?\n" );
  14.  
  15.     printf( "Códigos:\n\t 1 = suma\n\t 2 = resta\n\t 3 = multiplicación\n\t 4 = división\n\t 5 = Porcentaje\n" );
  16.  
  17.     scanf( "%d", &tipo );
  18.  
  19.  
  20.  
  21.     if ( tipo == 3 ) {
  22.  
  23.         int factor1;
  24.  
  25.         int factor2;
  26.  
  27.         printf( "\n¿Qué numeros va a multiplicar?\n" );
  28.  
  29.         scanf( "\n%d %d", &factor1, &factor2 );
  30.  
  31.         int multiplicacion;
  32.  
  33.         multiplicacion = factor1 * factor2;
  34.  
  35.         printf( "\n%d por %d es igual a %d ", factor1, factor2, multiplicacion );
  36.  
  37.     }
  38.  
  39.  
  40.  
  41.     if ( tipo == 4 ) {
  42.  
  43.         int dividendo;
  44.  
  45.         int divisor;
  46.  
  47.         printf( "\n¿Qué numeros va a dividir?\n" );
  48.  
  49.         scanf( "\n%d %d", &dividendo, &divisor );
  50.  
  51.         int cociente;
  52.  
  53.         cociente = dividendo / divisor;
  54.  
  55.         printf( "\n%d divido %d es igual a %d ", dividendo, divisor, cociente );
  56.  
  57.     }
  58.  
  59.  
  60.  
  61.     if ( tipo == 1 ) {
  62.  
  63.         int sumando1;
  64.  
  65.         int sumando2;
  66.  
  67.         printf( "\n¿Qué numeros va a sumar?\n" );
  68.  
  69.         scanf( "\n%d %d", &sumando1, &sumando2 );
  70.  
  71.         int suma;
  72.  
  73.         suma = sumando1 + sumando2;
  74.  
  75.         printf( "\n%d más %d es igual a %d ", sumando1, sumando2, suma );
  76.  
  77.     }
  78.  
  79.  
  80.  
  81.     if ( tipo == 2 ) {
  82.  
  83.         int minuendo;
  84.  
  85.         int sustraendo;
  86.  
  87.         printf( "\n¿Qué numeros va a restar?\n" );
  88.  
  89.         scanf( "\n%d %d", &minuendo, &sustraendo);
  90.  
  91.         int diferencia;
  92.  
  93.         diferencia = minuendo - sustraendo;
  94.  
  95.         printf( "\n%d menos %d es igual a %d ", minuendo, sustraendo, diferencia );
  96.  
  97.     }
  98.  
  99.  
  100.  
  101.     if ( tipo == 5 ) {
  102.  
  103.         float numero;
  104.  
  105.         float porcentajea;
  106.  
  107.         float porcentajeb;
  108.  
  109.         printf( "\n¿Qué número va a usar?\n " );
  110.  
  111.         scanf( "\n%f", &numero);
  112.  
  113.         printf( "\n¿Qué porcentaje desea obtener?\n" );
  114.  
  115.         scanf( "\n%f", &porcentajea);
  116.  
  117.         porcentajeb = porcentajea / 100;
  118.  
  119.         float resultado;
  120.  
  121.         resultado = numero * porcentajeb;
  122.  
  123.         printf( "\nEl %f de %f es %f", porcentajea, numero, resultado);
  124.  
  125.     }
  126.  
  127.  
  128.  
  129.     return 0;
  130.  
  131.  
  132.  
  133. } /* main finalizes*/
  #2 (permalink)  
Antiguo 29/05/2011, 11:22
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Calculadora en C (Raíz cuadrada y potenciación)

Debes agregar la libreria math, y ahi tienes dos funciones pow y sqrt para usar.

http://www.cplusplus.com/reference/clibrary/cmath/sqrt/

http://www.cplusplus.com/reference/clibrary/cmath/pow/
  #3 (permalink)  
Antiguo 29/05/2011, 11:30
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Calculadora en C (Raíz cuadrada y potenciación)

Le agrugué lo que dijiste, pero me da el error "Expected expression before "float""
Quedó así:

Código C:
Ver original
  1. if ( tipo == 6 ) {
  2.  
  3.         float numero;
  4.  
  5.         float potencia;
  6.  
  7.         printf( "\n¿Qué numero va a potenciar?\n" );
  8.  
  9.         scanf( "%d", &numero);
  10.  
  11.         printf( "\n¿A qué potencia?\n" );
  12.  
  13.         scanf( "%d", &potencia);
  14.  
  15.         float resultado = float pow (float numero, float potencia );
  16.  
  17.         printf( "\n%d a potencia de %d es %d", numero, potencia, resultado);
  18.  
  19.     }

El error está donde agrugué el"float resultado = float pow (float numero, float potencia );"
  #4 (permalink)  
Antiguo 29/05/2011, 12:54
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Calculadora en C (Raíz cuadrada y potenciación)

pow es como cualquier funcion, no tienes uqe ponerle los indicadores de tipo.

Código C:
Ver original
  1. resultado = pow (numero, potencia );
  #5 (permalink)  
Antiguo 29/05/2011, 14:11
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Calculadora en C (Raíz cuadrada y potenciación)

Por algún motivo me da los errores "undefined reference to "pow"" y "undefined reference to "sqrt"".
El código es:
Código C:
Ver original
  1. if ( tipo == 6 ) {
  2.  
  3.         float numero;
  4.  
  5.         float potencia;
  6.  
  7.         printf( "\n¿Qué numero va a potenciar?\n" );
  8.  
  9.         scanf( "%d", &numero);
  10.  
  11.         printf( "\n¿A qué potencia?\n" );
  12.  
  13.         scanf( "%d", &potencia);
  14.  
  15.         float resultado;
  16.         resultado = pow (numero, potencia );
  17.  
  18.         printf( "\n%d a potencia de %d es %d", numero, potencia, resultado);
  19.  
  20.     }
  21.  
  22.  
  23.     if ( tipo == 7 ) {
  24.  
  25.         float numero;
  26.  
  27.         printf( "\n¿Qué numero va a usar?\n" );
  28.  
  29.         scanf( "%d", &numero);
  30.  
  31.         float resultado = sqrt (numero);
  32.  
  33.         printf( "\nLa raíz cuadrada de %d es %d", numero, resultado);
  34.  
  35.     }
Revisé y si agregué el "#include <math.h>"
  #6 (permalink)  
Antiguo 29/05/2011, 15:04
 
Fecha de Ingreso: marzo-2011
Mensajes: 54
Antigüedad: 13 años, 8 meses
Puntos: 11
Respuesta: Calculadora en C (Raíz cuadrada y potenciación)

Prueba a incluir cmath
Código C++:
Ver original
  1. #include <cmath>
  #7 (permalink)  
Antiguo 29/05/2011, 15:12
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Calculadora en C (Raíz cuadrada y potenciación)

Segun GCC, cmath ni siquiera existe
  #8 (permalink)  
Antiguo 29/05/2011, 17:06
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Calculadora en C (Raíz cuadrada y potenciación)

tienes que compilar con la opcion -lmath

gcc main.c -lmath
  #9 (permalink)  
Antiguo 29/05/2011, 20:14
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Calculadora en C (Raíz cuadrada y potenciación)

Lo probé usando cmath y da el mismo error, pero con math.h da los errores:
"/usr/bin/ld: cannot find -lmath"
y
"collect2: ld returned 1 exit status"
Podrá ser por el SO Debian GNU/Linux. Quizá le falte algún componente, porque instalé SOLO el sistema base, sin entorno gráfico ni nada.
  #10 (permalink)  
Antiguo 29/05/2011, 22:15
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Calculadora en C (Raíz cuadrada y potenciación)

Perdon perdon.... no era -lmath era -lm ...

Saludos
  #11 (permalink)  
Antiguo 31/05/2011, 05:46
 
Fecha de Ingreso: mayo-2011
Mensajes: 16
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Calculadora en C (Raíz cuadrada y potenciación)

Gracias!! ahora anda perfecto... O como decimos los argentinos "anda pi-pi cu-cu"
  #12 (permalink)  
Antiguo 31/05/2011, 20:08
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Calculadora en C (Raíz cuadrada y potenciación)

Tal cual Pi-pi cu-cu... Saludos

Etiquetas: calculadora, cuadrada
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 16:06.