Dev - C++ - Declarar el subprograma y mandarlo a llamar desde la función principal

   
Vista:

Declarar el subprograma y mandarlo a llamar desde la función principal

Publicado por carlos b (3 intervenciones) el 20/12/2014 11:15:57
alguien que me ayude no se en que estoy mal . no puedo terminar el codigo
ya no se que hacer . tengo que declarar el subprograma y mandarlo a llamar desde la funcion principal
solo tome de otro ejercicio que hice pero no tenia el eubprograma hacia los calculos directos
ahora tengo que hacerlo con subprograma .

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
 
using namespace std;
int calcula(int radio)
{
    perimetro=2*pi*radio;
     area=pi*radio*radio;
     return perimetro;
}
 
 
int main(int argc, char *argv[])
{
//Inicializacion de las variables
float radio=0;
float perimetro=0;
float area=0;
float pi=3.1415;
printf("**************************************************************\n");
printf("* CALCULADOR DE ARE Y PERIMETRO DEL CIRCULO *\n");
printf("*************************************************************\n\n");
 
printf("Introduce el radio: \n");
scanf("%f",&radio);
 
//Calculos
int calcula(int radio);
 
//resultados
printf("Mi resultado del area es: - %f - \n", area);
printf("El Perimetro es: - %f - \n", perimetro);
printf("Press ENTER to continue...\n");
 
 
getchar();
system("PAUSE");
return 0;
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de vangodp

Declarar el subprograma y mandarlo a llamar desde la función principal

Publicado por vangodp (287 intervenciones) el 20/12/2014 12:26:30
http://codepad.org/nhwJSoSr

No se si las funciones están bien solo he comprobado el funcionamiento de las funciones, no el valor retornado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

subprograma

Publicado por Jose Manuel (30 intervenciones) el 20/12/2014 18:21:53
A menos que estemos usando versiones muy diferentes de C++... las variables declaradas en el main no existen dentro de las funciones.

Si quieres usar una variable dentro de una función, debes de declararla dentro, y tener en cuenta que el ámbito de existencia de una variable (a menos que sea global) se limita a la función donde se declara (y el main es una de ellas)

Yo te sugeriría (a ojo y sin probarlo)

1
2
3
4
5
int calcula(float radio) {
   double perimetro=2*pi*radio;
   double  area=pi*radio*radio;
   return perimetro;
}

Lo que no se es que hace la línea "int area=pi*radio*radio;" que no pinta nada, ya que el valor resultante no lo usan y tampoco "vuelve" al principal

Recuerda que una función solo devuelve un valor (en el return), bueno, de hecho se podría hacer que devolviera dos valores (o mas), pero eso usando contenedores de la STD que supongo aún no has dado.

Una opción es que al menos uno de los resultados, de devuelva por referencia

Algo así como...

1
2
3
4
5
int calcula(float radio, float& area) {
   float perimetro=2*pi*radio;
   float  area=pi*radio*radio;
   return perimetro;
}

Por cierto, en el main defines radio como float, pero en la función como entero, arregla eso también
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar