私はメニュー駆動型のプログラムを持っており、メニュー機能にはたくさんのパラメータが必要です。メニュー機能を他の機能から呼び出せるようにするためには、すべての機能にこれらの機能が必要です。彼らはそれを必要としない場合や、より良い方法がある場合でも多くの議論?スイッチは、メニュー1と同じパラメータを持つ他の関数を呼び出しています。コードは次のとおりです。パラメータとグローバル変数、メニュープログラム
void menu(int *sklad, int *Max, int *Vrh, int *sklad2, int *Rep, int *Glava){
int izbira;
cout << "Sklad - izbira:" << endl;
cout << "1) Vnos podatka" << endl;
cout << "2) Branje podatka" << endl;
cout << "3) Izpis celotnega sklada" << endl << endl;
cout << "Krozna vrsta - izbirta:" << endl;
cout << "4) Vnos podatka" << endl;
cout << "5) Branje podatka" << endl;
cout << "6) Izpis vrste od glave do repa" << endl << endl;
cout << "7) Konec" << endl << endl;
cout << "Izbira: ";
cin >> izbira;
if(!cin){
cout << "Vnesite celo stevilo" << endl;
menu(sklad, Max, Vrh, sklad2, Rep, Glava);
}
switch(izbira){
case 1: {
vnosPodatka(sklad, Max, Vrh, sklad2, Rep, Glava);
break;
}
case 2: {
branjePodatka(sklad, Max, Vrh, sklad2, Rep, Glava);
break;
}
case 3: {
izpisSklada(sklad, Max, Vrh, sklad2, Rep, Glava);
break;
}
case 4:{
vnosPodatka2(sklad, Max, Vrh, sklad2, Rep, Glava);
break;
}
case 5: {
branjePodatka2(sklad, Max, Vrh, sklad2, Rep, Glava);
break;
}
case 6: {
izpisSklada2(sklad, Max, Vrh, sklad2, Rep, Glava);
break;
}
case 7: {
break;
}
default: {
cout << "napaka" << endl;
menu(sklad, Max, Vrh, sklad2, Rep, Glava);
}
}
}
メニュー機能の一部のパラメータにデフォルトの引数を設定できます。 –
実際には、各関数がこれらのパラメータを変更するので、デフォルトに設定されていれば、他の関数は基本的にuselesです。 –
ループを繰り返さないでください。 – molbdnilo