Hiển thị kỹ năng
Bài học 6 trên 8 trong khóa học Lớp người dùng, dự án OOP của Coddy.
Thử thách
DễThêm một phương thức tên là showSkills để in ra thông tin về kỹ năng của người dùng theo định dạng cụ thể.
Ví dụ: nếu kỹ năng của người dùng là:
- "Python" ở cấp độ 2
- "C++" ở cấp độ 1
- "HTML" ở cấp độ 3
Gọi showSkills() sẽ cho đầu ra:
C++: 1
HTML: 3
Python: 2Các kỹ năng được hiển thị theo thứ tự bảng chữ cái dựa trên tên kỹ năng.
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); }
}
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