טיפול בשגיאות
חלק מהיחידה יסודות במסלול ה-Ruby של Coddy. שיעור 85 מתוך 88.
אתגר
קלהשלימו את מעקב ההוצאות היומי על ידי הוספת טיפול בשגיאות עבור אפשרויות לא תקינות בתפריט.
התוכנית שלכם צריכה:
- לאתחל מערך ריק בשם
expenses - ליצור
loop doשמציג את התפריט וקורא את קלט המשתמש - כשהמשתמש מזין
"1", לבקש את שם ההוצאה ואת הסכום, ליצור hash עם המפתחות:nameו־:amount, להוסיף אותו למערךexpenses, ולהדפיסExpense added! - כשהמשתמש מזין
"2", להציג את כל ההוצאות או הודעה אם אין הוצאות - כשהמשתמש מזין
"3", לחשב ולהציג את הסכום הכולל ואת הממוצע של כל ההוצאות, או הודעה אם אין הוצאות - כשהמשתמש מזין
"4", למחוק את כל ההוצאות מהמערך ולהדפיסAll expenses cleared! - כשהמשתמש מזין
"5", להדפיסGoodbye!ולצאת מהלולאה - עבור כל קלט אחר, להדפיס:
Invalid option. Please try again.
התפריט צריך להופיע בדיוק כמו קודם:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: לדוגמה, אם הקלטים הם 7, abc, ואז 5 (שתי אפשרויות לא תקינות, ואז יציאה), הפלט צריך להיות:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Invalid option. Please try again.
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Invalid option. Please try again.
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!אם הקלטים הם 1, Coffee, 4.5, 6, 2, ואז 5 (הוספת הוצאה, אפשרות לא תקינה, הצגת ההוצאות, יציאה), הפלט צריך להיות:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Expense name: Amount: Expense added!
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Invalid option. Please try again.
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option:
--- Your Expenses ---
Coffee: $4.5
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!נסו בעצמכם
expenses = []
loop do
puts "--- Expense Tracker ---"
puts "1. Add Expense"
puts "2. View Expenses"
puts "3. Total & Average"
puts "4. Clear All"
puts "5. Exit"
print "Choose an option: "
choice = gets.chomp
if choice == "1"
print "Expense name: "
name = gets.chomp
print "Amount: "
amount = gets.chomp.to_f
expenses << { name: name, amount: amount }
puts "Expense added!"
elsif choice == "2"
if expenses.empty?
puts "No expenses recorded yet."
else
expenses.each do |expense|
puts "#{expense[:name]}: $#{expense[:amount]}"
end
end
elsif choice == "3"
if expenses.empty?
puts "No expenses to calculate."
else
total = expenses.sum { |expense| expense[:amount] }
average = total / expenses.length
puts "Total: $#{total}"
puts "Average: $#{average}"
end
elsif choice == "4"
expenses.clear
puts "All expenses cleared!"
elsif choice == "5"
puts "Goodbye!"
break
end
puts ""
endכל השיעורים ביחידה יסודות
4אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3אופרטורים לוגיים חלק 42משתנים וטיפוסי נתונים
מספרים ומשתניםטיפוס הנתונים מחרוזתטיפוס הנתונים בוליאניטיפוס הנתונים Symbolבדיקת טיפוסי נתוניםמוסכמות שמותסיכום – יצירת משתנים8לולאות
לולאת for עם טווחיםלולאת whilebreaknextסיכום – עצרתלולאת timesלולאת untilלולאות מקוננותסיכום – קלט דינמי3אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואה6קלט ופלט בסיסיים
פלט באמצעות putsפלט באמצעות print ו־pפלט באמצעות משתניםקלט באמצעות getsשיטת Chompהמרת טיפוסיםחזרה — מחשבון גילחזרה — אמת או שקר9מתודות
הגדרת מתודהפרמטרים של מתודהערכי החזרהסיכום - מתודת Sigmaסיכום - מתודת האימותערכי ברירת מחדל של פרמטרים15מעקב אחר הוצאות יומיות
סקירת הפרויקטיציאה מהתוכניתתרגלו בעצמכם: קומפיילר Ruby אונליין