Menu
CoddyTech

Xóa kỹ năng

Bài học 7 trên 8 trong khóa học Lớp người dùng, dự án OOP của Coddy.

challenge icon

Thử thách

Dễ

Thêm một phương thức có tên clearSkill, nhận một kỹ năng và xóa kỹ năng đó khỏi danh sách kỹ năng của người dùng nếu kỹ năng đó tồn tại.

Tự làm thử

#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); }
        if (strcmp(cmd, "clearSkill") == 0) { char* v = strtok(NULL, " \t"); if (v) User_clearSkill(&u, v); }
    }
    return 0;
}

Tất cả bài học trong Lớp người dùng, dự án OOP

Tự luyện tập: Trình biên dịch C online