Added Ex 9,10 for If

This commit is contained in:
Dave Gauer 2021-01-08 17:53:22 -05:00
parent b9b89737fc
commit 0bb89e3e41
4 changed files with 54 additions and 1 deletions

31
09_if.zig Normal file
View file

@ -0,0 +1,31 @@
//
// Now we get into the fun stuff, starting with the 'if' statement!
//
// if (true) {
// // stuff
// } else {
// // other stuff
// }
//
// Zig has the usual comparison operators such as:
//
// a == b a equals b
// a < b a is less than b
// a !=b a does not equal b
//
// The important thing about Zig's 'if' is that it *only* accepts
// boolean values. It won't coerce numbers or other types of data
// to true and false.
//
const std = @import("std");
pub fn main() void {
const foo = 1;
if (foo) {
// We want out program to print this message!
std.debug.print("Foo is 1!\n", .{});
} else {
std.debug.print("Foo is not 1!\n", .{});
}
}

20
10_if2.zig Normal file
View file

@ -0,0 +1,20 @@
//
// If statements are also valid expressions:
//
// foo = if (a) 2 else 3;
//
// Note: you'll need to declare a variable type when assigning a value
// from a statement like this because the compiler isn't smart enough
// to infer the type for you.
//
const std = @import("std");
pub fn main() void {
var discount = true;
// If discount is true, the price should be $17, otherwise $20:
var price = if ???;
std.debug.print("With the discount, the price is ${}.\n", .{price});
}

View file

@ -62,7 +62,7 @@ Planned exercises:
* [x] Assignment
* [x] Arrays
* [x] Strings
* [ ] If
* [x] If
* [ ] While
* [ ] For
* [ ] Functions

View file

@ -73,6 +73,8 @@ check_it 05_arrays2.zig "LEET: 1337, Bits: 100110011001" "Fill in the two arrays
check_it 06_strings.zig "d=d ha ha ha Major Tom" "Each '???' needs something filled in."
check_it 07_strings2.zig "Ziggy" "Please fix the lyrics!"
check_it 08_quiz.zig "Program in Zig" "See if you can fix the program!"
check_it 09_if.zig "Foo is 1!"
check_it 10_if2.zig "price is \$17"
echo
echo " __ __ _ "