Menu
Coddy logo textTech

Show Skills

Lektion 6 von 8 im Kurs User-Klasse - OOP-Projekt von Coddy.

challenge icon

Aufgabe

Einfach

Fü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: 2

Die 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;
}

Alle Lektionen in User-Klasse - OOP-Projekt