我在寫一個菜單驅動的程序。情況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希望它 –
例如,僅執行,您可以通過另一種說法,告訴功能是否需要詢問用戶 –
謝謝!所以沒有辦法從函數中獲取返回值而不調用整個身體? –