حاسبة درجات الطلاب
جزء من قسم Fundamentals في رحلة Rust على Coddy — الدرس 75 من 75.
التحدي
سهلأنشئ دالة باسم calculate_average_grade تأخذ مصفوفة من الأعداد الصحيحة (تمثل درجات الطلاب) بطول 8 كمدخلات وتعيد متوسط الدرجة كسلسلة نصية. يجب أن تقوم الدالة بما يلي:
- حساب مجموع كل الدرجات في المصفوفة.
- حساب متوسط الدرجة بقسمة المجموع على عدد الدرجات.
- تحديد التقدير (الحرف) بناءً على المتوسط:
- A (ممتاز): 90-100
- B (جيد): 80-89
- C (مقبول): 70-79
- D (يحتاج إلى تحسين): 60-69
- F (راسب): أقل من 60
- طباعة النتيجة باستخدام التنسيق التالي:
Average grade: [The result] - [Letter Grade]وتنسيق النتيجة إلى منزلتين عشريتين.
جرّب بنفسك
use std::io;
use std::convert::TryInto;
fn calculate_average_grade(grades: [i32; 8]) -> String {
// اكتب الكود الخاص بك أدناه
}
fn main() {
let mut input_str_arr = String::new();
io::stdin().read_line(&mut input_str_arr).unwrap();
let arr: [i32; 8] = input_str_arr.trim().split(',').map(|s| s.parse::<i32>().unwrap()).collect::<Vec<i32>>().try_into().unwrap();
let res = calculate_average_grade(arr);
println!("{}", res);
}جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)اختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
الطباعة على الكونسولقراءة مدخلات المستخدممراجعة - حتى 120مراجعة - True أو False2المتغيرات - الجزء الأول
الأرقامالمحارف (Char)النصوص (String)القيم المنطقية (Boolean)المتغيرات القابلة للتغيير5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث11الدوال
تعريف الدوالالمعاملات والوسائطقيم الإرجاعقيم إرجاع متعددةمراجعة - دالة Sigmaمراجعة - دالة التحقق14التكرار عبر المصفوفات
دليل النطاق (Range)حلقة For المحسنةالاستعارة في الحلقةعمليات المصفوفات الشائعة3المتغيرات - الجزء الثاني
التصريح عن النوعقواعد التسميةاستنتاج النوعمراجعة - تهيئة المتغيراتتحويل الأنواع9الحلقات التكرارية
For عبر السلاسلحلقة Whileجملة Breakجملة Continueالحلقات المتداخلةتسميات الحلقاتالحلقة اللانهائيةمراجعة - الإدخال الديناميكي