Menü für C/C++



  • Ich bin gerade dabei, ein Menü zu desigenen:

    Header:

    typedef struct
    {
    	int xpos;           // X-Pos. der Zeilen
    	TLine zeile[];      // Zeile(n)
    	int count;          // Anzahl der Zeilen, max. 10!!!
    } TMenue;
    
    typedef struct
    {
        short number;       // Nummerierung
    	char * text;        // Text
    	int ypos;           // Y-Pos. d. Zeile
    	short color;        // Farbe
    } TLine;
    

    .cpp-file

    int ShowMenue(TMenue m)
    {
        int choose = -1;
    
    	while(!kbhit())
    	{
    		switch(getch())
    		{
    		case 1: choose = 1;
    			    PrintLines(m, choose);
    				break;
    		case 2: choose = 2;
    			    PrintLines(m, choose);
    				break;
    		case 3: choose = 3;
    			    PrintLines(m, choose);
    				break;
    		case 4: choose = 4;
    			    PrintLines(m, choose);
    				break;
                // Das ist zu viel Arbeit ....
    		}
    	}
    }
    
    void PrintLines(TMenue m, int choose)
    {
    	for(int i = 0; i < m.count ; i++)
    	{
    		GotoXY(m.xpos, zeile[i].ypos);
    		textcolor(m.zeile[i].color);
    		if(choose == m.zeile[i].number)
    		{
    			textbackground(RED);
    		}
    	    cprintf("%d /t %s", m.zeile[i].number, m.zeile[i].text);
    	}
    }
    

    Problem:

    Ich kann so nur max. 10 Zeilen ausgeben, wie kann ich das ändern??



  • wie kommst du auf die "10-zeilen-beschränkung"?



  • ...
    		switch(getch())
    		{
    		case 1: choose = 1;
    			    PrintLines(m, choose);
    				break;
    		case 2: choose = 2;
    			    PrintLines(m, choose);
    				break;
    		case 3: choose = 3;
    			    PrintLines(m, choose);
    				break;
    		case 4: choose = 4;
    			    PrintLines(m, choose);
    				break;
                // Das ist zu viel Arbeit ....
    		}
    ...
    

    wie wärs mit

    choose = getch();
    if( choose > 1 && choose < ?? )
      PrintLines( m, choose );
    

    🙄



  • es gibt kein C/C++.
    such dir ein forum aus, in das du verschoben werden möchtest.



  • dos/win32 konsole wäre wohl angebracht.



  • @Volkrad: Hier geht das zwar nicht, aber oft gibt es so Aufzählungen, wie C/C++, Java, C#. Dann gruppiere ich einfach lustig um: C/Java, C++/C# oder so.



  • Dieser Thread wurde von Moderator/in volkard aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten