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

Operating system

Blog banner

Traditional UNIX Scheduling

Blog banner

File management

Blog banner

Question

Blog banner

Direct Memory Access

Blog banner

Data Visualization in Decision-Making

Blog banner

10 Interesting Facts about Death Note

Blog banner

Models of Information Security.

Blog banner

Office Lunch Problems in Mumbai and How Tiffin Services Solve Them

Blog banner

What's Better : Supervised or Unsupervised Learning

Blog banner

In the world of Technology...

Blog banner

"The Benefits of Using GIS in Agriculture"

Blog banner

Why Festivals Are the Best Classrooms for Young Minds?

Blog banner

HOW CAN SOCIAL MEDIA MAKE YOU HAPPIER?

Blog banner

Dangers of Using Public WiFis

Blog banner

Craziness of dream 11 and how it impacts on our life

Blog banner

Points to consider if you're planning to visit Florida in 2026

Blog banner

IT security management

Blog banner

CRISP-DM Methodology

Blog banner

MEMORY MANAGEMENT (techniques)

Blog banner

OS Assignment-3

Blog banner

Making Money through Instagram

Blog banner

Service transition principles

Blog banner

Classification Vs Clustring? What's the diffrence?

Blog banner

 " Healing of Yoga "

Blog banner

Cycling

Blog banner

Things You Should Leave Behind In 2025, Whilst In 2026

Blog banner

Mumbai local ......

Blog banner

TRELLO

Blog banner

Financial Fraud Detection

Blog banner

5 Stages of Digital Marketing

Blog banner

GraphQL

Blog banner

Threads Concurrency: Mutual Exclusion and Synchronization

Blog banner

The khan mehtab transforming the modular switches company

Blog banner

Virtual Memory

Blog banner

Paginng In OS

Blog banner

Therapy Myths That Need to End in 2025

Blog banner

What is Packet Filtering?

Blog banner

Raising Emotionally Intelligent Students: The Classroom Beyond Academics

Blog banner

Dekkers Algorithm

Blog banner

Meal Maharaj — 3 CP, 5 CP, 8 CP. Same Love, Different Portions

Blog banner

BUFFER OVERFLOW_142

Blog banner