elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Funciones en C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Funciones en C++  (Leído 1,576 veces)
LauraD

Desconectado Desconectado

Mensajes: 14


Ver Perfil
Funciones en C++
« en: 25 Abril 2014, 04:13 am »

Buenas noches!

Tengo que realizar un algoritmo en C++ mediante la implementación de funciones que no reciben y no retornan, el algoritmo esta compuesto por varias opciones por lo que obligatoriamente me piden implementar el condicional "Switch" para ejecutar segun la opcion que requiera el usuario..

Inicie mi algoritmo y al compilar funcionaba, pero al implementar las funciones de los diferentes casos del switch, muestra un error, supongo yo que no permite que una función este dentro de otra función, así que no se como plantear el algoritmo para que no se genere dicho error  :( ..


Aquí les dejo el algoritmo que llevo hasta el momento..


#include<cstdlib>
#include<iostream>

using namespace std;
   
   
    void menu()
    {   
    int Num;
       
       
    cout<<"Ingrese el numero correspondiente a la opcion que desea ejecutar"<<endl;
    cout<<endl<<"1: Conversion grados Celsius a grados Farenheit. "<<endl;
    cout<<"2: Calculo del ahorro capital mensual de un banco. "<<endl;
    cout<<"3: Calculo del cuadrado o del cubo de un numero. "<<endl;
    cout<<"4: Calculo costo entradas de cine. "<<endl;
    cout<<"5: Calculo de la aceleracion de un vehiculo. "<<endl<<endl;
    cin>>Num;
    }
   
       
   
    void opciones ()
    {
         
    int Num;
             
    switch (Num)
    {
   
    case 1:

    void Conversion()
    {
         
         int C;
         int F;
         
         cout<<" Ingrese el valor en grados Celsius que desea convertir "<<endl;
         cin>>C;
         
         F = (C*9.5+32);
         
         cout<<" La conversion de "<<C<<" grados celcius a grados farenheit es igual a: "<<F<<endl;
         break;
    }   
         
    case 2:
         break;
         
    case 3:
         break;
         
    case 4:
         break;
         
    case 5:
         break;
         
   
   
    default:
    cout<<"Esta opcion no es valida"<<endl;
    }
    }
   
   
    int main()
    {
        menu();
        opciones ();
        conversion ();
       
       
        system ("PAUSE");
        return EXIT_SUCCESS;
    }


Les agradeceria muchisimo si me ayudaran!

Gracias c:


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Funciones en C++
« Respuesta #1 en: 25 Abril 2014, 04:43 am »

procura usar etiquetas GeSHi cuando postees codigo...

tu codigo tiene varios errores... debido a lo mismo...

lo que pasa en tu codigo es que en programacion está el concepto de "scope" que es donde está ubicado "el cursor" por decir lo una manera...

si haces

Código
  1. void algo(){
  2.  int hola = 1;
  3. }
  4.  
  5. int main(){
  6.  algo();
  7.  cout << hola;
  8. }

esto dará un error debido a que "hola" se declaró fuera de su alcance...

el alcance normalmente se determina por los corchetes "{}"
en general todo puede alcanzar lo que esté en un corchete menor, nada, puede alcanzar un mayor...

Código
  1. int a;
  2. if (...) {
  3.    a = 1; //funciona
  4.    int b;
  5.    if (...) {
  6.        a = 2; //funciona
  7.        b = 2; //funciona
  8.        int c = 3;
  9.    }
  10.    a = 4; //funciona
  11.    b = 5; //funciona
  12.    c = 6; //error
  13. }
  14. a = 7; //funciona
  15. b = 8; //error
  16. c = 9; //error
  17.  

para poder hacer que "num" funcione, tienes que declararla una sola vez de manera "global" es decir, debajo del namespace, fuera de cualquier corchete...

lo mismo va para void Conversion()


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Funciones en C++
« Respuesta #2 en: 25 Abril 2014, 08:04 am »


Tengo que realizar un algoritmo en C++ mediante la implementación de funciones que no reciben y no retornan, el algoritmo esta compuesto por varias opciones por lo que obligatoriamente me piden implementar el condicional "Switch" para ejecutar segun la opcion que requiera el usuario.
...................................
 supongo yo que no permite que una función este dentro de otra función,.



Si no reciben ni retornan las variables F,C,Num,etc deben ser declaradas como globales, tal como te indicó engel lex:

Código
  1. ...........................
  2.  
  3. using namespace std;
  4.  
  5. int C,F,Num;
  6. ..................
  7.  

y debes retirar todas las declaraciones de las mismas variables en todas las funciones, sólo debe quedar la declaración inicial que te indico arriba.

Por otro lado la función conversión no tiene sentido ya que esa labor se lleva a cabo en el switch de la función opciones: eliminala:


Código
  1. ///conversion ();

De esa forma te queda el comienzo del switch funcionado como:

Código
  1. void opciones ()
  2.    {
  3.  
  4.    switch (Num)
  5.    {
  6.  
  7.    case 1:
  8.         cout<<" Ingrese el valor en grados Celsius que desea convertir "<<endl;
  9.         cin>>C;
  10.         F = (C*9.5+32);
  11.         cout<<" La conversion de "<<C<<" grados celcius a grados farenheit es igual a: "<<F<<endl;
  12.         break;


¡¡¡¡ Saluditos! ..... !!!!



EDITO: Y no, no están permitidas las declaraciones de funciones dentro de otras. Se declaran cada una aparte. Otra cosa es que se pueda llamar a una función desde otra, eso si es posible y es lo normal.
« Última modificación: 25 Abril 2014, 08:25 am por leosansan » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
PHP y funciones tcp/ip « 1 2 »
PHP
nacho2003 11 7,527 Último mensaje 21 Septiembre 2006, 00:07 am
por deya
Funciones en php
PHP
Lambda 2 2,554 Último mensaje 14 Octubre 2006, 17:00 pm
por Thaorius
funciones y FOR
PHP
pepelon 4 2,271 Último mensaje 9 Diciembre 2006, 02:49 am
por pepelon
[C] Problema con Struct en funciones que llaman a otras funciones
Programación C/C++
‭lipman 9 23,621 Último mensaje 19 Mayo 2011, 23:39 pm
por Littlehorse
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines