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

LIFEHACKER

Blog banner

How Cyber Forensics use in AI

Blog banner

Krishna Rao SAP ID--53003230076

Blog banner

How GIS in Agriculture Eliminates Guesswork

Blog banner

Improving defences Proxy Device(defense in depth)

Blog banner

The Future of Cybersecurity: Trends, Challenges, and Strategies

Blog banner

M commerce

Blog banner

Virtual Memory

Blog banner

Starvation and Deadlock.

Blog banner

Exploring the Power of Encase Forensic Tools: Unraveling Digital Mysteries

Blog banner

Online Games

Blog banner

Benefits and drawback of web security.

Blog banner

Top 3 Places To Stay In Vienna

Blog banner

Race Condition in Operating Theatre

Blog banner

Virtual Machine

Blog banner

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

Blog banner

Texting is actually better than talking in person

Blog banner

Cache memory

Blog banner

Review on Cyber Forensics and its Analysis Tools

Blog banner

Evolution of Operating system

Blog banner

Denial-of-Service and Distributed Denial-of-Service Attack Techniques

Blog banner

ASANA- A Management System.

Blog banner

Hot Mango Pickle (Methiyu)

Blog banner

5 Things I As A Dentist Would Never Do (And What You Can Learn From It)

Blog banner

From Procrastinator to Performer: How to Beat the Last-Minute Rush

Blog banner

Blockchain Security Technique

Blog banner

american greatines

Blog banner

Incident management in ITSM

Blog banner

OS Assignment 3

Blog banner

Why You Need 2FA (Two-Factor Authentication) On Your Email And Other Online Accounts

Blog banner

File management In Operating System

Blog banner

File sharing

Blog banner

Tools to support CSI activities

Blog banner

Asana

Blog banner

AN EVENT-BASED DIGITAL FORENSIC INVESTIGATION

Blog banner

File management

Blog banner

Synchronization

Blog banner

Why Data Privacy Is Changing Online Advertising

Blog banner

SAVE TREES

Blog banner

Social Media Marketing Trends 2022

Blog banner

Real time scheduling

Blog banner

Assignment 2

Blog banner