このプログラムでは、コンソールにメニューを作成する必要があり、ユーザーは2つの配列を配置し、ユニオンとインターセクションを見つけるなど、それらに関連するいくつかのオプションを表示しますが、ユーザーがこのメニューから出るように指定するまでこれらの2つの配列を使用する必要があります。
だから、私はユーザーに各配列にどれくらいの大きさのものを入れるかを入力させ、オプションが表示されるたびに配列も印刷しますが、問題はありません。
ユーザーがメニューで選択を選択すると、main.cpp内でvoid()関数が呼び出され、その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;
};
ユーザーがメニューで選択を選択すると、main.cpp内でvoid()関数が呼び出されます
void unido(){
cout<< "----------------------------------------"<<endl;
cout<< "El arreglo union de ambos conjuntos es: "<<endl;
cout<< unido(arr1,cant1,arr2,cant2);
};
そして、そのvoid関数は、.hの助けを借りて、aux cppを介して関数を呼び出します。
#ifndef CONJUNTOS_H_INCLUDED
#define CONJUNTOS_H_INCLUDED
int* unido(int* arr1,int cant1,int* arr2, int cant2);
#endif // CONJUNTOS_H_INCLUDED
Heres aux 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 conjuntos() メニューはどこですか、配列があり、このメニューによって呼び出される各関数でそれらを使用する必要がありますが、void unido() それは、arr1、cant1、arr2、およびcant2が関数で指定されていないことを示しています。conjuntos ** ** unido上のメニュー 関数?
回答 1 件
関連記事
- このPHPスクリプトでforeachを機能させる方法:GET API
- アニメーションで隠す方法は? React + SCSS
- 外れ値が最大の日を見つける方法
- ReactのAPIでuseStateを使用する方法
- Yii2メニューウィジェット:yii2メニューウィジェットのdata-submenu-titleを設定する方法
- 異なる色で3DPCAをプロットする方法は?
- これはどのように作動しますか?ポインタからポインタへの割り当て
- カラー絵文字を機能させるにはどうすればよいですか
- @ react-native-community/datetimepickerはiOS14では機能しません
- タプルをforループで埋める方法
オブジェクトを使用して配列を含める必要があると思う、それはコードをより明確にし、他の人が言及したように、std :: vector /(std :: array)/ std :: string:を使用方法を学んだ後、これらは非常に優れた抽象化レベルを提供することがわかります。
次に、function1によって変更され、function2によって使用されるオブジェクトをC ++で作成する場合は、次の操作を実行できます。
または、次のように、最初の関数でオブジェクトを作成して返すこともできます。