Show Skills
Lektion 6 von 8 im Kurs User-Klasse - OOP-Projekt von Coddy.
Aufgabe
EinfachFüge eine Methode namens showSkills hinzu, die Informationen über die Fähigkeiten des Benutzers in einem bestimmten Format ausgibt.
Zum Beispiel, wenn die Fähigkeiten des Benutzers wie folgt sind:
- "Python" ist Level 2
- "C++" ist Level 1
- "HTML" ist Level 3
Der Aufruf von showSkills() erzeugt folgende Ausgabe:
C++: 1
HTML: 3
Python: 2Die Fähigkeiten werden in alphabetischer Reihenfolge nach dem Namen der Fähigkeit angezeigt.
Probier es selbst
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "user.h"
int main() {
User u;
User_init(&u, "", "");
char line[1024];
while (fgets(line, sizeof(line), stdin)) {
line[strcspn(line, "\r\n")] = '\0';
char* cmd = strtok(line, " \t");
if (!cmd) continue;
if (strcmp(cmd, "new") == 0) {
char* un = strtok(NULL, " \t");
char* em = strtok(NULL, " \t");
User_init(&u, un ? un : "", em ? em : "");
}
if (strcmp(cmd, "username") == 0) { printf("%s\n", u.username); }
if (strcmp(cmd, "email") == 0) { printf("%s\n", u.email); }
if (strcmp(cmd, "setLocation") == 0) { char* v = strtok(NULL, " \t"); if (v) User_setLocation(&u, v); }
if (strcmp(cmd, "getLocation") == 0) { printf("%s\n", User_getLocation(&u)); }
if (strcmp(cmd, "info") == 0) { User_info(&u); }
if (strcmp(cmd, "learn") == 0) { char* v = strtok(NULL, " \t"); if (v) User_learn(&u, v); }
if (strcmp(cmd, "showSkills") == 0) { User_showSkills(&u); }
}
return 0;
}