1 van 1
C++ menu
Geplaatst: wo 29 okt 2008, 12:39
door yipenjanneke
hallo,
ik moet een programma schrijven wat begint in een menu en waarbij je door een bepaalde keuze in een volgend menu terecht komt. dat is allemaal nog niet zo moeilijk, ik heb de twee menu's als twee verschillende void functies geschreven. maar het probleem; als ik vanuit het ene menu terug naar het andere menu wil hoe krijg ik dat voor elkaar.
om het probleem even wat duidelijer weer te geven;
hoofdmenu
-optie een ( doe dit en dat)
-optie twee (afsluiten)
-optie drie (ga naar menu henk)
henkmenu
-optie een (terug naar hoofd)
-optie twee ( bla)
als ik het ene menu onder het andere zet in mijn code, dan kan ik vanuit het ene niet naar het andere verwijzen en vice versa.
hoop dat het probleem een beetje duidelijk is, en dat iemand een oplossing heeft.
mvg, sander
Re: C++ menu
Geplaatst: wo 29 okt 2008, 12:45
door Cycloon
Je kan gewoon terug je hoofdmenu functie aanroepen? Maar mss kan je even je code posten, dan kunnen we meer exact antwoorden
Re: C++ menu
Geplaatst: wo 29 okt 2008, 13:36
door Vladimir Lenin
Maar mss kan je even je code posten, dan kunnen we meer exact antwoorden
Ik denk dat dat ook het beste zou zijn.
Of je zou je programma kunnen laten refreshen (maar dan anders dan de defenitie). Ik bedoel dat je een deel van je programma reset, zodat je terug bij het hoofdmenu uitkomt. Maar ik denk dat je beter het deel van de code in kwestie geeft, want het is nogal moeilijk om hierop een algemeen antwoord te geven.
Re: C++ menu
Geplaatst: wo 29 okt 2008, 14:01
door yipenjanneke
#include <iostream>
using namespace std;
char keuzehoofdmenu;
char keuzeontspanningmenu;
void hoofdmenu () {
cout << "hoofdmenu"<<endl;
cout <<endl;
cout << "selecteer een van de volgende opties, door de eerste";
cout << "letter van de desbetreffende optie in te toetsen gevolgd
door enter."<<endl;
cout << "optie 1: stoppen"<<endl;
cout << "optie 2: lychrel"<<endl;
cout << "optie 3: ontspanning"<<endl;
cin >> keuzehoofdmenu;
if ((keuzehoofdmenu == 's')||(keuzehoofdmenu == 'S')){
cout << "het programma sluit nu af"<<endl;
exit(0);
}//if
if ((keuzehoofdmenu == 'l')||(keuzehoofdmenu == 'L')){
//functie lychrel aanroepen
}//if
if ((keuzehoofdmenu == 'o')||(keuzehoofdmenu == 'O')){
//functie ontspanning aanroepen <--------------------------------------------HIER GAAT HET DUS FOUT.
}//if
else {
cout << "deze optie bestaat niet"<<endl;
ontspanningsmenu ();
}//else
}//hoofdmenu
void ontspanningmenu () {
cout << "ontspanning"<<endl;
cout <<endl;
cout << "selecteer een van de volgende opties, door de eerste";
cout << "letter van de desbetreffende optie in te toetsen gevolgd
door enter."<<endl;
cout << "optie 1: terug naar hoofdmenu"<<endl;
cout << "optie 2: mastermind"<<endl;
cout << "optie 3: woordenboek"<<endl;
cin >> keuzeontspanningmenu;
if ((keuzeontspanningmenu =='t')||(keuzeontspanningmenu == 'T')){
hoofdmenu ();
}//if
if ((keuzeontspanningmenu =='m')||(keuzeontspanningmenu == 'M')){
//functie mastermind aanroepen
}//if
if ((keuzeontspanningmenu =='w')||(keuzeontspanningmenu == 'W')){
//functie woordenboek aanroepen
}//if
else {
cout << "deze optie bestaat niet"<<endl;
//functie ontspanninmenu aanroepen
}//else
}//ontspanningmenu
int main (){
hoofdmenu ();
}//main
ALS IK IN HET EERSTE MENU HET TWEEDE AANROEP KAN DAT NIET OMDAT HET TWEEDE MENU DAN NOG NIET BEKEND IS BIJ DE COMPUTER (OF HOE DAT DAN OOK ZIT)
IK KAN DAT PROBLEEM NIET OPLOSSEN DOOR SIMPELWEG HET TWEEDE MENU TE KOPIEREN EN BOVEN HET EERSTE PLAKKEN, WANT DAN KAN HET TWEEDE MENU HET EERSTE WEER NIET AANROEPEN
Re: C++ menu
Geplaatst: wo 29 okt 2008, 15:48
door Cycloon
Je kan bovenaan in je code de functie bekend maken door gewoon de functienaam met bijhorende variabelen te zetten. In jouw geval dus:
Code: Selecteer alles
#include <iostream>
using namespace std;
char keuzehoofdmenu;
char keuzeontspanningmenu;
void ontspanningmenu ();
void hoofdmenu () {
cout << "hoofdmenu"<<endl;
cout <<endl;
cout << "selecteer een van de volgende opties, door de eerste";
cout << "letter van de desbetreffende optie in te toetsen gevolgd
...
In dit geval zal de functie wel bekend zijn bij de compiler en kan je deze dus perfect gebruiken.
Ps: Je kan code binnen code tags plaatsen
Code: Selecteer alles
[/code ] (zonder de spaties) zodat de tabs blijven staan :D