Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مخرجات منسقة (sprintf)

جزء من قسم الأساسيات في رحلة R على Coddy. الدرس 37 من 78.

challenge icon

التحدي

سهل

في الدرس السابق، أكملتَ حاسبة تقسيم الفاتورة مع جميع الحسابات. حسّن الآن تنسيق المخرجات باستخدام sprintf() لعرض القيم المالية مع منزلتين عشريتين بالضبط.

عدّل أسطر المخرجات التي تعرض مبالغ بالدولار لاستخدام sprintf() في التنسيق. تتيح لك دالة sprintf() تنسيق الأرقام بعدد محدد من المنازل العشرية باستخدام %.2f لمنزلتين عشريتين.

حدّث أسطر المخرجات التالية لإظهار منزلتين عشريتين بالضبط لجميع القيم المالية:

  • Bill: $[bill]
  • Tip amount: $[tip_amount]
  • Total with tip: $[total]
  • Each person pays: $[per_person]

أبقِ العمليات الحسابية كما هي تمامًا في الدرس السابق: tip_amount <- bill * tip_percent / 100. قد يؤدي الضرب في tip_percent / 100 بدلًا من ذلك إلى فرق بمقدار سنت واحد بعد تقريب العدد إلى منزلتين عشريتين.

استخدم sprintf() لتنسيق كل قيمة مالية. على سبيل المثال، تعمل sprintf("%.2f", value) على تنسيق عدد ليظهر بمنزلتين عشريتين.

على سبيل المثال، إذا كانت المدخلات هي 85.50 و18 و3، فيجب أن تكون المخرجات الكاملة كما يلي:

Welcome to the Bill Split Calculator!
Let's split your bill fairly.
Bill: $85.50
Tip: 18%
People: 3
Tip amount: $15.39
Total with tip: $100.89
Each person pays: $33.63

ملاحظة: يجب أن تظل نسبة البقشيش وعدد الأشخاص عددين صحيحين من دون تنسيق عشري.

جرّب بنفسك

# TODO: Write your code below
# Use cat() to display the welcome message
# Remember to use \n for new lines
cat("Welcome to the Bill Split Calculator!\nLet's split your bill fairly.\n")

# Read user inputs
con <- file("stdin", "r")
bill <- as.numeric(suppressWarnings(readLines(con, n = 1)))
tip_percent <- as.numeric(suppressWarnings(readLines(con, n = 1)))
people <- as.numeric(suppressWarnings(readLines(con, n = 1)))
close(con)

# Display confirmation message
cat("Bill: $", bill, "\n", sep = "")
cat("Tip: ", tip_percent, "%\n", sep = "")
cat("People: ", people, "\n", sep = "")

# Calculate tip amount and total
tip_amount <- bill * tip_percent / 100
total <- bill + tip_amount

# Display calculation results
cat("Tip amount: $", tip_amount, "\n", sep = "")
cat("Total with tip: $", total, "\n", sep = "")

# Calculate per person amount
per_person <- total / people

# Display per person amount
cat("Each person pays: $", per_person, "\n", sep = "")

جميع دروس الأساسيات

تدرّب بنفسك: مترجم R عبر الإنترنت