Menu
Coddy logo textTech

Show Skills

Lição 6 de 8 do curso Classe User - Projeto de OOP da Coddy.

challenge icon

Desafio

Fácil

Adicione um método chamado showSkills que imprime informações sobre as habilidades do usuário em um formato específico.

Por exemplo, se as habilidades do usuário forem:

  • "Python" é nível 2
  • "C++" é nível 1
  • "HTML" é nível 3

Chamar showSkills() resultará na saída:

C++: 1
HTML: 3
Python: 2

As habilidades são exibidas em ordem alfabética pelo nome da habilidade.

Experimente você mesmo

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

Todas as lições de Classe User - Projeto de OOP