From a5bbd016eb06eded43f72f76fea55510c9defeb6 Mon Sep 17 00:00:00 2001 From: AramJonghu Date: Fri, 5 Jun 2026 23:51:45 +0200 Subject: [PATCH] progress --- exercises/034_quiz4.zig | 2 +- exercises/035_enums.zig | 2 +- exercises/036_enums2.zig | 6 +++--- exercises/037_structs.zig | 2 ++ exercises/038_structs2.zig | 7 +++++++ exercises/039_pointers.zig | 2 +- exercises/040_pointers2.zig | 2 +- 7 files changed, 16 insertions(+), 7 deletions(-) diff --git a/exercises/034_quiz4.zig b/exercises/034_quiz4.zig index b33a6f5..897df59 100644 --- a/exercises/034_quiz4.zig +++ b/exercises/034_quiz4.zig @@ -14,7 +14,7 @@ pub fn main(init: std.process.Init) !void { var stdout_writer = std.Io.File.stdout().writer(io, &.{}); const stdout = &stdout_writer.interface; - const my_num: u32 = getNumber(); + const my_num: u32 = try getNumber(); try stdout.print("my_num={}\n", .{my_num}); } diff --git a/exercises/035_enums.zig b/exercises/035_enums.zig index 1825f52..d99b589 100644 --- a/exercises/035_enums.zig +++ b/exercises/035_enums.zig @@ -20,7 +20,7 @@ const std = @import("std"); // Please complete the enum! -const Ops = enum { ??? }; +const Ops = enum { inc, dec, pow }; pub fn main() void { const operations = [_]Ops{ diff --git a/exercises/036_enums2.zig b/exercises/036_enums2.zig index dc2998c..5e0efdd 100644 --- a/exercises/036_enums2.zig +++ b/exercises/036_enums2.zig @@ -31,7 +31,7 @@ const std = @import("std"); const Color = enum(u32) { red = 0xff0000, green = 0x00ff00, - blue = ???, + blue = 0x0000ff, }; pub fn main() void { @@ -53,12 +53,12 @@ pub fn main() void { \\

\\ Red \\ Green - \\ Blue + \\ Blue \\

\\ , .{ @intFromEnum(Color.red), @intFromEnum(Color.green), - @intFromEnum(???), // Oops! We're missing something! + @intFromEnum(Color.blue), // Oops! We're missing something! }); } diff --git a/exercises/037_structs.zig b/exercises/037_structs.zig index c345faf..1aa56f9 100644 --- a/exercises/037_structs.zig +++ b/exercises/037_structs.zig @@ -36,6 +36,7 @@ const Character = struct { role: Role, gold: u32, experience: u32, + health: u8, }; pub fn main() void { @@ -44,6 +45,7 @@ pub fn main() void { .role = Role.wizard, .gold = 20, .experience = 10, + .health = 100, }; // Glorp gains some gold. diff --git a/exercises/038_structs2.zig b/exercises/038_structs2.zig index b9d84aa..5f1f4d1 100644 --- a/exercises/038_structs2.zig +++ b/exercises/038_structs2.zig @@ -43,6 +43,13 @@ pub fn main() void { // Feel free to run this program without adding Zump. What does // it do and why? + chars[1] = Character{ + .role = Role.bard, + .gold = 10, + .health = 100, + .experience = 20, + }; + // Printing all RPG characters in a loop: for (chars, 0..) |c, num| { std.debug.print("Character {} - G:{} H:{} XP:{}\n", .{ diff --git a/exercises/039_pointers.zig b/exercises/039_pointers.zig index 792fcc7..fc06a29 100644 --- a/exercises/039_pointers.zig +++ b/exercises/039_pointers.zig @@ -30,7 +30,7 @@ pub fn main() void { // Please make num2 equal 5 using num1_pointer! // (See the "cheatsheet" above for ideas.) - num2 = ???; + num2 = num1_pointer.*; std.debug.print("num1: {}, num2: {}\n", .{ num1, num2 }); } diff --git a/exercises/040_pointers2.zig b/exercises/040_pointers2.zig index e220336..8687fd6 100644 --- a/exercises/040_pointers2.zig +++ b/exercises/040_pointers2.zig @@ -23,7 +23,7 @@ const std = @import("std"); pub fn main() void { const a: u8 = 12; - const b: *u8 = &a; // fix this! + const b: *const u8 = &a; // fix this! std.debug.print("a: {}, b: {}\n", .{ a, b.* }); }