我在写一个菜单驱动的程序。情况1生成一个随机数组,情况4关闭情况1的数组。在函数izpis
中,我只想要数组,但是当我声明int *zap = generiraj1(size2);
时,调用整个函数,并要求用户再次输入大小。我试图用指针克服这个障碍,使用更多的函数,使用不同的参数,我似乎无法弄清楚。从函数获取返回值而不执行函数的其余部分?
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int *generiraj1(int size2);
void izpis(int size2);
int main() {
int size2 = 0;
while(true) {
cout << "Hitro uredi - izbira:" << endl << endl;
cout << "1) Generiraj nakljucno zaporedje" << endl;
cout << "2) Generiraj narascajoce zaporedje" << endl;
cout << "3) Generiraj padajoce zaporedje" << endl;
cout << "4) Izpis zaporedja" << endl;
cout << "5) Preveri ali je zaporedje urejeno" << endl;
cout << "6) Uredi s hitrim urejanjen brez mediane" << endl;
cout << "7) Uredi s hitrim urejanjem z mediano" << endl;
cout << "8) Uredi z drugim alogritmom za urejanje" << endl;
cout << "9) Konec" << endl;
int izbira;
cin >> izbira;
switch(izbira) {
case 1: {
generiraj1(size2);
break;
}
case 4: {
izpis(size2);
break;
}
case 9: {
break;
}
}
}
}
int *generiraj1(int size2) {
cout << "Velikost?" << endl;
cin >> size2;
srand(time(NULL));
int *zap2 = new int[size2];
for(int i=0; i<size2; i++) {
zap2[i]=rand()%100+1;
}
return zap2;
}
void izpis(int size2) {
int *zap = generiraj1(size2);
for(int i=0; i<size2; i++) {
cout << zap[i] << ", ";
}
}
您可以使用if语句当u希望它 –
例如,仅执行,您可以通过另一种说法,告诉功能是否需要询问用户 –
谢谢!所以没有办法从函数中获取返回值而不调用整个身体? –