綜合練習
本集目標
把前面學的東西組合起來,做一個「輸入分數 → 判斷等第」的小程式。
正文
恭喜你撐到現在!今天我們要把前面學的東西全部串起來,做一個真正有用的小程式。
目標
讓使用者輸入分數,程式自動判斷等第並印出來。
完整程式碼
fn main() {
println!("請輸入你的分數:");
// 讀取使用者輸入
let mut input = String::new();
std::io::stdin().read_line(&mut input).expect("讀取失敗");
// 把文字轉成數字
let score = input.trim().parse::<i32>().expect("請輸入數字");
// 判斷等第
if score >= 90 {
println!("你的成績是 A");
} else if score >= 80 {
println!("你的成績是 B");
} else if score >= 70 {
println!("你的成績是 C");
} else {
println!("你的成績是 F");
}
}
跑跑看
請輸入你的分數:
85
你的成績是 B
請輸入你的分數:
92
你的成績是 A
請輸入你的分數:
45
你的成績是 F
回顧一下用了哪些技巧
println!→ 印提示訊息(第 2 集)let mut+String::new()→ 準備接收輸入(第 15 集)stdin().read_line()→ 讀取鍵盤輸入(第 15 集).trim().parse::<i32>()→ 文字轉數字(第 16 集)if/else if/else→ 條件判斷(第 8、10、11 集)
看到了嗎?把各種功能組合起來就能做出一個有互動性的小程式。這就是程式設計的魅力——把小塊的知識拼在一起,就能做出有用的東西。
挑戰
如果你想多練習,試試看:
- 加一個 D 等第(60 ~ 69 分)
- 如果分數超過 100 或小於 0,印出「分數不正確」
重點整理
- 結合前面學的
stdin、parse、if和else if,就能做出有互動性的程式 - 程式設計的魅力:把小塊知識拼在一起,就能做出有用的東西
- 除了學新語法,多練習組合應用也很重要