/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

subprograma por medio de funciones en c++(SOLUCIONADO)

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
hunter89_7



Registrado: 14 Mar 2013
Mensajes: 8

MensajePublicado: 25/03/2013 10:56 am
Título: subprograma por medio de funciones en c++(SOLUCIONADO)

Ok, el asunto es que tengo este programa principal en este sentido:

#include <iostream>
#include <cmath>
using namespace std;

int FuncCuadrado (int num1, int cuadrado);




int main(){
int ejecutar=0;
cout<<"01-Programa "<<endl;
cout<<"02-Programa "<<endl;
cout<<"03-Programa "<<endl;
cout<<"04-Programa "<<endl;
cout<<"05-Programa "<<endl;
cout<<"06-Programa "<<endl;


cout <<"Elija el programa que desea ejecutar ";
cin>>ejecutar;
FuncCuadrado;
return 0;

}

y esta otra funcion

int FuncCuadrado (int num1, int cuadrado){
cout << "Ingrese un numero para elevarlo al cuadrado: ";
cin>>num1;
cuadrado=num1*num1;
cout<< " El cuadrado de su numero es "<<cuadrado<<endl;
return 0;
}

Pues lo que quiero hacer es ejecutar la funcion como si de un programa distinto se tratase y me mostrara todo el proceso, en este caso que me pida en numero en la variable num1 y me me muestre resultado. Luego de eso que al apretar enter me envie a la funcion main de nuevo.
Tengo que hacer esto mismo con 12 programas, imagino que la solucion es sencilla pero simplemente no me ejecuta ni siquiera la funcion aunque el compilador no me da error, sera que se esta ejecutando la funcion pero por error mio no me muestra el proceso? Espero me puedan ayudar y muchas gracias desde ya.


Ultima edición por hunter89_7 el 25/03/2013 9:50 pm; editado 1 vez
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 7527
Ubicación: Mexico

MensajePublicado: 25/03/2013 6:32 pm
Título:

Para que el programa funcione correctamente debes colocar los paréntesis en la linea:
Código:
cin >> ejecutar;
FuncCuadrado(); // <==

Para indicar que se trata de una llamada a función.

En la función que calcula el cuadrado debes eliminar el segundo parámetro "cuadrado" ya que no es necesario y el primero "num1" cambiarlo a a una variable local. Y ya que ignoras su valor de retorno hay que cambiar este a void.

Por ultimo para seleccionar que función ejecutar puedes utilizar una sentencia de selección switch. Con las correcciones:
Código:
#include <iostream>
#include <cmath>

using namespace std;

void cuadrado();

int main()
{
   int ejecutar;
   
   cout << "1) Cuadrado" << endl;
   cout << "2) Programa" << endl;
   cout << "3) Programa" << endl;
   cout << "4) Programa" << endl;
   cout << "5) Programa" << endl;
   cout << "6) Programa" << endl;
   
   cout <<"Elija el programa que desea ejecutar ";
   cin >> ejecutar;
   
   switch(ejecutar){
   case 1:
      cuadrado();
      break;
   case 2:
      // algun otro programa
      break;
   case 3:
      // algun otro programa
      break;
   default:
      cout << "Opcion no valida!" << endl;
      break;
   }
   
   return 0;
}

void cuadrado()
{
   cout << "Ingrese un numero para elevarlo al cuadrado: ";
   int num;
   cin >> num;
   
   cout << "El cuadrado de su numero es " << num * num << endl;
}


Un saludo
_________________
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Volver arriba
hunter89_7



Registrado: 14 Mar 2013
Mensajes: 8

MensajePublicado: 25/03/2013 9:48 pm
Título:

Por el momento resolvi de la siguiente manera antes de que postearas:
#include <stdlib.h>
#include <iostream>
//#include <cmath> //Librerias
using namespace std; //utilizar espaciado cout y cin
int FuncCuadrado (int num1); //Prototipo de funcion para elevar el numero al cuadrado

string x ="s"; //variable tipo caracter para almacenar si quiere seguir o no
int main(){
int ejecutar=0, num1=0;
while (x!="n"){
system ("cls");

cout<<"01-Programa "<<endl;
cout<<"02-Programa "<<endl;
cout<<"03-Programa "<<endl;
cout<<"04-Programa "<<endl;
cout<<"05-Programa "<<endl;
cout<<"06-Programa "<<endl;
cout<<endl;

cout <<"Elija el programa que desea ejecutar ";
cin>>ejecutar;
if (ejecutar = 1){
FuncCuadrado (num1);
}
cout<< "Ejecutar otro programa s/n ";
cin>> x;
}

return 0;

}





int FuncCuadrado (int num1){
int cuadrado =0;
system ("cls");
cout << "Ingrese un numero para elevarlo al cuadrado: ";
cin>>num1;
cuadrado=num1*num1;
cout<< "El cuadrado de su numero es "<<cuadrado<<endl<<endl<<endl;
//system ("PAUSE");
return 0;
}

voy a revisar tu codigo y estudiarlo a ver que puedo mejorar del mio y aplicarlo. Falta agregar los demas programas ademas, pero haciendo uno lo demas es igual. Muchas gracias y doy por solucionado.
Volver arriba
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com