Merge pull request #5 from CyB3RC0nN0R/Stausssi-patch-1

Update README.md
This commit is contained in:
Kai S. K. Engelbart 2020-01-10 08:24:48 +01:00 committed by GitHub
commit 2c2d824dbc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 39 additions and 18 deletions

View File

@ -21,29 +21,50 @@ Headerdatei einbinden:
### Anwendungsbeispiel
```C
struct MenuItem items[] = {
{"Euklidscher Algorithmus", '1', (void*)&euklid}, // String = Name des Menüpunktes
{"Gerstenkorn", '2', (void*)&gerste}, // Char = Taste zum Aufrufen
{"Osterdatum ausrechnen", '3', (void*)&ostern}, // (void*)&MethodenName = Methode, die aufgerufen wird
{"ASCII Tabelle", '4', (void*)&ascii}, // Methode MUSS nicht vom Typ void sein!
{"DB-Pruefziffer", '5', (void*)&db}, // (void*)& MUSS immer davor stehen!
{"Euklidscher Algorithmus", '1', (void*)&euklid}, // String = Name des Menüpunktes
{"Gerstenkorn", '2', (void*)&gerste}, // Char = Taste zum Aufrufen
{"Osterdatum ausrechnen", '3', (void*)&ostern}, // (void*)&MethodenName = Methode, die aufgerufen wird
{"ASCII Tabelle", '4', (void*)&ascii}, // Methode MUSS nicht vom Typ void sein!
{"DB-Pruefziffer", '5', (void*)&db}, // (void*)& MUSS immer davor stehen!
{"Modulo 11", '6', (void*)&mod11},
{"BLANK", NULL, (void*)NULL}, // Fügt einen leere Zeile hinzu -> Gliederung
{"Namen TEST", 'a', (void*)&namen},
{"Strings", 'b', (void*)&strHeader},
{"BLANK", NULL, (void*)NULL},
{"Exit", 'q', (void*)&exit} // exit beendet das Programm
{"BLANK", NULL, (void*)NULL}, // Fügt einen leere Zeile hinzu -> Gliederung
{"Namen TEST", '7', (void*)&namen},
{"BLANK", NULL, (void*)NULL},
{"Exit", 'q', (void*)&exit} // exit beendet das Programm
};
show_menu(sizeof(items) / sizeof(struct MenuItem), items, "Vorlesungsaufgaben", true, true, &NO_BORDER);
struct MenuItem stringsEX[] = {
{"strcat()", '1', (void*)&strcatEx},
{"strlen()", '2', (void*)&strlenEx},
{"strncpy()", '3', (void*)&strncpyEx},
{"strchr()", '4', (void*)&strchrEx},
{"strstr()", '5', (void*)&strstrEx},
{"strtok()", '6', (void*)&strtokEx},
{"BLANK", NULL, (void*)NULL},
{"Ersetzen", '7', (void*)&replace}
};
struct MenuPage pages[] = {
{items, sizeof(items) / sizeof(struct MenuItem), "Vorlesungsaufgaben", true, true, &SOLID},
{stringsEX, sizeof(stringsEX) / sizeof(struct MenuItem), "String - Beispiele", true, true, &SOLID}
/*
* 1. Argument: Vorher angelegtes struct; Enthält alle Items der Seite
* 2. Argument: Anzahl der Elemente der Seite; Einfach so lassen
* 3. Argument: Titel der Seite
* 4. Argument: Menü im Loop; Nach beenden der Methode wieder Menü aufrufen
* 5. Argument: Pause nach dem Ausführen der Methode; Ausgaben lesbar
* 6. Argument: Style des Menüs: Standardmäßig wird DEFAULT, MODERN, SOLID und NO_BORDER unterstützt
*/
};
show_menu(pages, sizeof(pages) / sizeof(struct MenuPage), true);
/*
* 1. Argument: Anzahl der Elemente; Einfach so lassen
* 2. Argument: Vorher angelegtes struct; Einfach so lassen
* 3. Argument: Titel des Menüs
* 4. Argument: Menü im loop; Nach beenden der Methode wieder Menü aufrufen
* 5. Argument: Pause nach dem Ausführen der Methode; Ausgaben lesbar
* 6. Argument: Style des Menüs: Standardmäßig wird DEFAULT, MODERN, SOLID und NO_BORDER unterstützt
* 1. Argument: Vorher angelegtes struct; Enthält alle Seiten des Menüs
* 2. Argument: Anzahl der Seiten; Einfach so lassen
* 3. Argument: Gesamtes Menü in einer unendlich-Schleife
*/
````
```
### Border hinzufügen
Eigene Border-Styles können wie folgt hinzugefügt werden:
```C