Menu
Coddy logo textTech

פלט מעוצב (sprintf)

חלק מהיחידה יסודות במסלול ה-R של Coddy. שיעור 37 מתוך 78.

challenge icon

אתגר

קל

בשיעור הקודם השלמת את מחשבון חלוקת החשבון עם כל החישובים. עכשיו שפר את עיצוב הפלט באמצעות sprintf() כדי להציג ערכים כספיים עם 2 ספרות בדיוק אחרי הנקודה העשרונית.

שנה את שורות הפלט שמציגות סכומים בדולרים כך שישתמשו ב־sprintf() לעיצוב. הפונקציה sprintf() מאפשרת לעצב מספרים עם מספר מסוים של ספרות אחרי הנקודה העשרונית באמצעות %.2f עבור 2 ספרות אחרי הנקודה העשרונית.

עדכן את שורות הפלט הבאות כדי להציג 2 ספרות בדיוק אחרי הנקודה העשרונית עבור כל הערכים הכספיים:

  • 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) מעצב מספר כך שיהיו לו 2 ספרות אחרי הנקודה העשרונית.

לדוגמה, אם הקלטים הם 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 אונליין