jeg kan ikke rigtigt få menu1 til at virke, jeg kan få valg til at gå ned i menu 1, og i menu1 skal der være en menu mere hvor man kan vælge mellem 2 ting....jeg kan bare ikke få det til at virke...nogle som har lidt hint ?
//------HOVED-PROGRAM---------- /*void main() { velcome(); int j; do { clrscr(); Menu(); scanf("%i",&j); Valg(j); getch(); } while (j!=4); clrscr(); afslut(); } */ //----Funktionernes Definitioner------- void Menu(void) { clrscr(); textcolor(9); gotoxy(9,5); cprintf(" menu til noget "); gotoxy(9,6); cprintf(" _________________________ "); gotoxy(9,7); cprintf(" 1. blah (dur) "); gotoxy(9,8); cprintf(" __________________________"); gotoxy(9,9); cprintf(" Skriv dit valg 1-1-> "); }
//----------valg---------- void Valg(int j) { gotoxy(40,4+j); switch(j) { case 1: system("cls"); textcolor(9); gotoxy(1,1); cprintf("\nUnder dette menupunkt har du mulighed blah blah blah"); gotoxy(1,2); cprintf("\ntryk p† 'Q' for at komme ud af status"); getch(); clrscr(); menu1(); break; default: ValgOm(); } gotoxy(39,14); }
//-----om valg----------- void ValgOm(void) { int j; gotoxy(57,13); printf("<-- Duer ikke v%clg igen.",145); for(j=1;j<5;j++) { gotoxy(51,6+j); delay(400); printf("<---%i",j); } }
//-------Menu 1-------- void menu1()
{ clrscr(); textcolor(9); gotoxy(9,5); cprintf(" ___________________________ "); gotoxy(9,6); cprintf(" 1. mere blah "); gotoxy(9,7); cprintf(" ____________________________"); gotoxy(9,8); cprintf(" Skriv dit valg blandt 1-1-> ");
{ gotoxy(40,3+j); switch(j) { case 1: system("cls"); textcolor(9); gotoxy(1,1); cprintf("\nUnder dette menupunkt har du mulighed blah blah blah"); gotoxy(1,2); cprintf("\ntryk på 'Q' for at komme ud af status"); getch(); clrscr(); hent(); break; default: menu1(); } }
Du har lavet en del fejl omkring dine while loops, ligesom du bruge lokale og globale variabler med samme navn (f.eks. i ValgOm). Det giver lidt rod i hvad der egentlig checkes på, og hvornår j har den ønskede værdi.
Generelt bør du læse og behandle menu-valg samme sted, som du viser menuen. Nedenstpående program virker - jeg har dog ændret "Slut"/"Tilbage" til option 9:
//------HOVED-PROGRAM---------- int main() { welcome(); int j; do { j = Menu(); } while (j != 9); clrscr(); afslut(); return 0; }
//----Funktionernes Definitioner------- int Menu(void) { int x;
do { clrscr(); textcolor(9); gotoxy(9,5); cprintf(" menu til noget "); gotoxy(9,6); cprintf(" _________________________ "); gotoxy(9,7); cprintf(" 1. blah (dur) "); gotoxy(9,8); cprintf(" 9. Afslut "); gotoxy(9,9); cprintf(" __________________________"); gotoxy(9,10); cprintf(" Skriv dit valg 1-9-> ");
gotoxy(40,10); scanf("%i",&x); switch(x) { case 1: system("cls"); textcolor(9); gotoxy(1,1); cprintf("\r\nUnder dette menupunkt har du mulighed blah blah blah"); gotoxy(1,2); cprintf("\r\ntryk p† 'Q' for at komme ud af status"); if (getch() != 'q') { clrscr(); Menu1(); }; case 9: break; break; default: ValgOm(); } gotoxy(39,14); } while (x != 9); return x; }
do { clrscr(); textcolor(9); gotoxy(9,5); cprintf(" Undermenu til noget "); gotoxy(9,6); cprintf(" ___________________________ "); gotoxy(9,7); cprintf(" 1. mere blah "); gotoxy(9,8); cprintf(" 9. Tilbage "); gotoxy(9,9); cprintf(" ____________________________"); gotoxy(9,10); cprintf(" Skriv dit valg blandt 1-9-> ");
gotoxy(40,10); scanf("%i",&x); switch(x) { case 1: system("cls"); textcolor(9); gotoxy(1,1); cprintf("\r\nUnder dette menupunkt har du mulighed blah blah blah"); gotoxy(1,2); cprintf("\r\ntryk på 'Q' for at komme ud af status"); if (getch() != 'q') { clrscr(); hent(); }; break; case 9 : break; default: break; } } while (x != 9); return x; }
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.