Menüstruktur

Gast #1001774
hallo folgendes problem:
ich habe 4 pfeiltasten, und eine ok taste.
wenn die ok taste gedrückt wird soll ein 1. untermenü aufgemacht werden.
wenn danach nochmal die ok taste gedrückt wird soll es in das untermenü 
von dem 1. untermenü reinspringen.

ich habe schon folgendes programmiert:

struct menue
{
  char titel[15];
  char punkt1[15];
  char punkt2[15];
  struct menue *next;
};

struct menue *next = NULL;
struct menue *first = NULL;


void anhaengen(char *t, char *p1, char *p2)
{
lcd_clear();

   struct menue *pointer;

   if(first == NULL) {
     if((first = (struct menue *) malloc(sizeof(struct menue))) == NULL)
    {
         return;
      }
    set_cursor(0, 1);
      lcd_string (strcpy(first->titel, t));
    set_cursor(0, 2);
      lcd_string (strcpy(first->punkt1, p1));
    set_cursor(0,3);
      lcd_string (strcpy(first->punkt2, p2));
            first->next=NULL;
   }

else {
      pointer = first; /* Wir zeigen auf das 1. Element */
      while(pointer->next != NULL)
         pointer=pointer->next;
if((pointer->next =(struct menue *) malloc(sizeof(struct menue))) == 
NULL) {

          return;
      }
      pointer=pointer->next; /* zeiger auf neuen Speicherplatz */
      set_cursor(0, 1);
      lcd_string (strcpy(first->titel, t));
    set_cursor(0, 2);
      lcd_string (strcpy(first->punkt1, p1));
    set_cursor(0,3);
      lcd_string (strcpy(pointer->punkt2, p2));

    /* Wir terminieren wieder unsere Datenstruktur */
      pointer->next=NULL;
   }
}

int main()
{
  if ((debounce(&PIND, PD3))&&(zeile ==4)) //wenn ok taste gedrückt
                                           //und cursor in 4. zeile
                                           //dann folgende menü anzeigen
      anhaengen("Hauptmenue", "Modus waehlen", "Einstellungen");
}


ist nur ein ausschnitt aus meinem programm. aber alles wichtige ist 
vorhanden. ich brauch blos nur ne kleine hilfe wie ich jetzt von der 
ebene hauptmenü in die nächste menüebene komme. also entweder modus 
wählen oder einstellungen. und zwar nach dem wieder die ok taste 
gedrückt wurde.
kann mir da mal einer helfen?
Gast #1001790
nein ich schnipsele keinen code mir zusammen, da ich das selber 
programmiert hab und zwar mit hilfe eines buches. blos ich steig nicht 
durch wie ich auf die nächste ebene komme.
#1002337
> und wieso hilft Ihm dann keiner einfach weiter ???

nun, in dem anderen Thread wurde ja das ganze Menuegeschehen ausführlich 
diskutiert. Wenn es dann darum ginge eher die theoretischen Konzepte als 
die praktischen Codezeilen durchzuhecheln, wäre da eine gute 
Gelegenheit.

Das ist auch mein Tip an "art": Erst mal grundsätzlich verstehen, wie 
der Algorithmus funktionieren soll (losgelöst von einer konkreten 
Prgrammiersprache), und dann weiter verfeinern zu real existierenden 
Programmiersprachen
Gast #1003726
ich versteh den algorithmus und ich versteh das mit den listen was 
theorie angeht, aber an der umsetzung happert es, deswegen such ich 
hilfe, aber anscheinend will mir keiner so richtig helfen.
Gast #1003757
ich sage nicht das andere schuld sind, aber bin hierher gekommen in der 
hoffnung das mir geholfen wird. aber anscheinend nicht. naja muss mich 
dann selber durchkämpfen. falls jemand sich aber trotzdem entscheidet 
mir zu helfen wäre ich sehr dankbar.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.