в этой программе мне нужно создать меню в консоли, пользователь помещает два массива, и он показывает им некоторые опции, связанные с ними, например, поиск их объединения и пересечения, но пока пользователь не укажет выход изздесь это меню должно работать с этими двумя массивами.
Так что я делаю пользовательский ввод, насколько большой и какие вещи идут в каждом массиве, и каждый раз, когда отображаются опции, я печатаю массивы тоже, не проблематам.
Когда пользователь выбирает выбор в меню, он вызывает функцию void () внутри main.cpp, и эта функция void вызывает функцию через aux cpp,
void conjuntos(){
cout<< "----------------------------------------"<<endl;
cout<< " Conjuntos "<<endl;
cout<< "----------------------------------------"<<endl;
char** opciones = new char*[6];
opciones[0] = "Union";
opciones[1] = "Interseccion";
opciones[2] = "Diferencia";
opciones[3] = "Diferencia simetrica";
opciones[4] = "Pertenece";
opciones[5] = "Contenido";
int opc;
//Here the user inputs each array
cout<<"Ingrese dos arreglos"<<endl;
cout<<"Arreglo 1 (cantidad): ";
int cant1;
cin>>cant1;
int arr1[cant1];
for(int i= 0;i<cant1;i++){
cout<<i+1<<". ";
cin>>arr1[i];
};
cout<<"Arreglo 2 (cantidad): ";
int cant2;
cin>>cant2;
int arr2[cant2];
for(int i= 0;i<cant2;i++){
cout<<i+1<<". ";
cin>>arr2[i];
};
do{
cout<< "----------------------------------------"<<endl;
cout<< " Conjuntos "<<endl;
cout<< "----------------------------------------"<<endl;
//Here the pc outputs the arrays
cout<<"Arreglo 1: [";
for(int i= 0;i<cant1;i++){
if( i==cant1-1){
cout<<arr1[i];
}else{
cout<<arr1[i]<<",";
};
};
cout<<"]"<<endl;
cout<<"Arreglo 2: [";
for(int i= 0;i<cant2;i++){
if( i==cant2-1){
cout<<arr2[i];
}else{
cout<<arr2[i]<<",";
};
};
cout<<"]"<<endl;
// !!!!!
cout<< "----------------------------------------"<<endl;
opc = menu(opciones, 6);
switch( opc ){
case 1: unido(); break;
case 2: interconjunto(); break;
case 3: diferencia(); break;
case 4: simetrica();break;
case 5: pertenece();break;
case 6: contenido();break;
};
}while(opc!=0);
cout <<" ------------------------------------------"<<endl;
cout <<" MENU PRINCIPAL "<<endl;
cout <<" ------------------------------------------"<<endl;
};
Когда пользователь выбирает выбор в меню, он вызывает функцию void () внутри main.cpp
void unido(){
cout<< "----------------------------------------"<<endl;
cout<< "El arreglo union de ambos conjuntos es: "<<endl;
cout<< unido(arr1,cant1,arr2,cant2);
};
И эта функция void вызывает функцию через aux cpp с помощью.h
#ifndef CONJUNTOS_H_INCLUDED
#define CONJUNTOS_H_INCLUDED
int* unido(int* arr1,int cant1,int* arr2, int cant2);
#endif // CONJUNTOS_H_INCLUDED
Вот вспомогательный cpp
#include <iostream>
#include "Enteros.h"
#include "Reales.h"
#include "Char.h"
#include "Conjuntos.h"
using namespace std;
int* unido(int* arr1,int cant1,int*arr2,int cant2){
cout<<"cant1";
return 0;
};
Мой вопрос заключается в том, что в void Kongunts () где находится меню, у меня есть массивы, мне нужноиспользовать их с каждой функциейэто меню, но когда я использую функцию, как в void unido () , он говорит, что arr1, cant1, arr2 и cant2 не указаны в функциях, как я могу отправить эти переменные из Коньюнтос ** меню над функцией ** unido ?