wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Product Discount Calculator

profile
Vaishnavi Nayak
Sep 07, 2025
0 Likes
0 Discussions
0 Reads

The program performs the following key functions:

Takes user input for three product prices, each greater than 0.

Validates that the entered prices are numbers and greater than zero.

Calculates the total bill amount by summing the three product prices.

Applies a discount of 10% on the total amount.

Calculates the final payable amount after discount.


Displays the results:

Price of each product

Total amount before discount

Discount applied

Final payable amount (formatted to 2 decimal places)


Program:


;; Product Discount Calculator


(defun calculate-discount (average total)

"Return discount rate and final amount after discount."

(let ((discount-rate

(cond ((>= average 1000) 0.20)

((>= average 500) 0.10)

((>= average 100) 0.05)

(t 0.0))))

(values discount-rate (* total (- 1 discount-rate)))))


(defun get-valid-price (prompt)

"Ask user for a valid product price (number > 0)."

(format t "~%~A (Enter price > 0): " prompt)

(let ((price (read)))

(if (and (numberp price) (> price 0))

price

(progn

(format t "Invalid price! Please enter a number greater than 0.~%")

(get-valid-price prompt)))))


(defun main ()

(format t "~%Welcome to Product Discount Calculator~%")


;; Get three product prices

(let* ((p1 (get-valid-price "Enter price of Product 1"))

(p2 (get-valid-price "Enter price of Product 2"))

(p3 (get-valid-price "Enter price of Product 3"))

(total (+ p1 p2 p3))

(average (/ total 3.0)))


;; Properly bind discount-rate and final-amount

(multiple-value-bind (discount-rate final-amount)

(calculate-discount average total)


;; Display results

(format t "~%Results:~%")

(format t "Product 1 Price: ~,2F~%" p1)

(format t "Product 2 Price: ~,2F~%" p2)

(format t "Product 3 Price: ~,2F~%" p3)

(format t "Total Price: ~,2F~%" total)

(format t "Average Price: ~,2F~%" average)

(format t "Discount Applied: ~,2F%%~%" (* discount-rate 100))

(format t "Final Payable Amount: ~,2F~%" final-amount))))


;; Run the program

(main)


Output:


Comments ()


Sign in

Read Next

John Titor: The Time Traveler

Blog banner

Review on Recovering Deleted Files

Blog banner

10 Reasons why Monica and Chandler are the best couple ever.!!!

Blog banner

38_Exploring The Honeynet Project

Blog banner

Improving defences Proxy Device(defense in depth)

Blog banner

GUIDE TO GIS

Blog banner

SmartData Collective: Data Science aur Analytics ki Duniya

Blog banner

Principal of concurrency

Blog banner

File system

Blog banner

Starvation and Deadlock.

Blog banner

Compromising Mobile Platforms

Blog banner

Google classroom

Blog banner

Shoulders

Blog banner

Virtual Memory

Blog banner

LinkedIn: Watch out for these 7 upcoming updates in 2023

Blog banner

Operating Systems

Blog banner

Yoga in INDIA and ABROAD

Blog banner

MD5 Collisions and the impact on computer forensics

Blog banner

Introduction to Data Science: Life Cycle & Applications

Blog banner

An Overivew Of Cache Memory

Blog banner

What is Internet

Blog banner

Define Instagram.

Blog banner

Knowledge Management in Continual Service improvement (CSI)

Blog banner

Rapido

Blog banner

Linux -V Server Virtual Machine

Blog banner

IOT- Internet Of Things

Blog banner

OS Assignment 3

Blog banner

Memory Management in Operating System

Blog banner

computer security

Blog banner

Why Should You Schedule Tweets on Twitter?

Blog banner

STUDY OF SYSTEM HACKING TOOLS

Blog banner

Travel: Everything Everywhere!

Blog banner

Goa Trip With Friends

Blog banner

CONCURRENCY: MUTUAL EXCLUSION AND SYNCHRONIZATION-het karia

Blog banner

RAID - LEVELS OF RAID

Blog banner

Digital Marketing - The new way to reach end consumer

Blog banner

Digital Footprints An Emerging Dimension of Digital Inequality

Blog banner

Wiretapping

Blog banner

Unlocking Success: Mastering Google Ads Strategies

Blog banner

10 Survival Tips that might save your life

Blog banner

Data Lake

Blog banner

How College Events Build Real-world Skills You Can’t Learn From Textbooks

Blog banner