Hola!
Pues eso, hoy me puse a hacer un pequeño programa que suma y resta dos números y no me deja devolver a main dos valores de otra función con return.
Además de esto, me gustaría saber si hay alguna manera de que al final del programa, si el usuario elige repetir programa, el programa vuelva al principio (en este caso, a menu1, no se si me explico).
Un saludo!
#include <iostream>
using namespace std;
int Menu1 (int numero1, int numero2);
void Menu2 (int suma,int resta);
int MenuFinal ();
int main ()
{
int numero1;//PRIMER NUMERO INTRODUCIDO
int numero2;//SEGUNDO NUMERO INTRODUCIDO
int suma;//PRODUCTO DE LA SUMA DE AMBOS
int resta;//PRODUCTO DE LA RESTA DE AMBOS
int opcion;//OPCION ELEGIDA (1 O 2) EN LA FUNCION "MENU FINAL"
Menu1(numero1,numero2);
suma=numero1+numero2;
resta=numero1-numero2;
Menu2 (suma,resta);
opcion=MenuFinal();
//AQUI QUIERO PONER UN COMANDO PARA QUE VUELVA A "MENU1"
return 0;
}
int Menu1 (int numero1, int numero2)
{
cout<<"Introduce dos numeros"<<endl<<"Numero 1: ";
cin>>numero1;
cout<<"Numero 2: ";
cin>>numero2;
return numero1;
return numero2;
}
void Menu2 (int suma,int resta)
{
cout<<"Producto de la suma = "<<suma<<endl;
cout<<"Producto de la resta = "<<resta<<endl;
}
int MenuFinal ()
{
int opcion;
cout<<endl<<"---------------"<<endl<<"Final del programa, opciones:"<<endl;
cout<<"1-> Repetir programa."<<endl<<"2-> Salir del programa."<<endl;
cin>>opcion;
return opcion;
}
creo que deberias hacerte un tutorial de c++ en lugar de hacer estas locuras xD
Menu1 se esta simplemente llamando,aunque retornara, nadie lo capturará
segundo, cuando se toca un return, se sale de la función.. fin... no se hará absolutamente mas nada, luego del return ejecutarse el resto es espacio muerto (incluyendo otros return)
lo que tu buscas se llaman "valores por referencia" no pasas el valor, sino el apuntador a la variable
sobre el volver, basta con un do-while
do{
//lo que vayas a hacer
}while( MenuFinal() == 1);
solo finalizará si menú final retorna diferente de 1, si no, repite
Respondiendo a lo primero hahaha; en verdad el problema me ha dado en otro programa mas grande pero para no hacer un lio he preferido hacer este miniprograma para poder preguntar sin que el que me responda se tenga que leer un programa mas tocho hahaha.
A lo segundo, pero no hay forma de retornar dos valores y que capture los dos? La otra solución que se me ocurrió fue dividir la función en dos y que cada una devuelva un valor, pero sería muy engorroso... Y lo tercero no lo entendí muy bien, pero lo ojeare en google a ver si encuentro algo ;D
lo de la función no es necesario retornar busca en Google "c++ parámetros por referencia"
y has un tutorial de c++ desde 0 porque estas cometiendo errores de cosas que normalmente explican... no tiene sentido que te des con cada detalle del lenguaje preguntando error por error...