wisemonkeys logo
FeedNotificationProfileManage Forms
FeedNotificationSearchSign in
wisemonkeys logo

Blogs

Product Discount Calculator

profile
Vaishnavi Nayak
Sep 07, 2025
0 Likes
0 Discussions
1 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

How India made the GIS its Own, and its Use in Infrastructural Developments

Blog banner

Crypto tax evasion

Blog banner

Importance of Morning Routines for Students During the Festive Season

Blog banner

CYBERPEACEKEEPING: NEW WAYS TO PREVENT AND MANAGE CYBERATTACKS

Blog banner

The Future of Web Development in 2026: Trends Every Business Must Know

Blog banner

Memory Management

Blog banner

Understanding Business Layer in Data Science

Blog banner

KPMG (Klynveld Peat Marwick Goerdeler)

Blog banner

Introduction to GIS

Blog banner

How to Run your First android App

Blog banner

Phishing

Blog banner

Operating system

Blog banner

Why Consistency in Eating Habits Matters and How Meal Maharaj Makes It Easy

Blog banner

Guidelines for a low sodium diet.

Blog banner

Mendeley (management software)

Blog banner

Mariana Trench: The deepest depths

Blog banner

Routers

Blog banner

MEMORY MANAGEMENT (techniques)

Blog banner

This too shall pass

Blog banner

Different Types of Data

Blog banner

Smart Homes | Zigbee Alliance

Blog banner

security requirements for safe e-payment

Blog banner

Network Footprinting in Cybersecurity

Blog banner

I Personally

Blog banner

RAID - LEVELS OF RAID

Blog banner

Multiprocessor and Multicore Organization

Blog banner

File management

Blog banner

10 Reasons to date your best friend

Blog banner

A book review

Blog banner

LinkedIn

Blog banner

Photography

Blog banner

Starting Android Activity Using Intent

Blog banner

Deadlock and Starvation

Blog banner

WHAT IS SNAPCHAT AND HOW DOES IT WORK?

Blog banner

Mail merge

Blog banner

Virtual Machine's

Blog banner

Danger assessment in GIS

Blog banner

Data Science in Mental Health Prediction

Blog banner

Malware Detection Techniques for Mobile Devices

Blog banner

Protect yourself from System Hacking with these Simple Steps

Blog banner

It's all about our Brain.- The Brain Metaphor

Blog banner

Building Confidence in Children Through Daily Routines and Play

Blog banner