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

How can denial-of-service(Dos) attacks be prevented?

Blog banner

How To Secure Operating Systems ?

Blog banner

Classification Algorithms (Decision trees, SVM, Logistic regreession)

Blog banner

Deadlocks

Blog banner

Kernel Modes: User Mode vs. Kernel Mode - 80

Blog banner

Threat management

Blog banner

clock

Blog banner

Cyber Forensics in a Ransomware Attack Recovery

Blog banner

Deadlock and Starvation

Blog banner

Memory Management

Blog banner

Hosting basics

Blog banner

Virtual memory in windows

Blog banner

SESSION HIJACKING

Blog banner

Operating System

Blog banner

Sweet Mango Murabba

Blog banner

Types of Hackers.

Blog banner

Tea, Coffee, Red Wine, and Teeth: A Stain Survival Guide

Blog banner

LinkedIn: Watch out for these 7 upcoming updates in 2023

Blog banner

Data Visualization- Importance and tools (Tableau,Power BI, Matplotlib)

Blog banner

Disk Management

Blog banner

VIRTUAL MEMORY

Blog banner

Severe landslides continue to cause concern in Joshimath, Uttarakhand

Blog banner

ADIDAS

Blog banner

What is metaverse?

Blog banner

Dudhasagar waterfall ?

Blog banner

From Loom to Luxury: How Patola Elevates Modern Wardrobes

Blog banner

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

Blog banner

Importance Of Blockchain

Blog banner

The most common internet security threats

Blog banner

10 Survival Tips that might save your life

Blog banner

File sharing

Blog banner

A-B-C of Networking: Part-3 (Topology [Ring, Tree, Mesh])

Blog banner

Man is free by the birth .

Blog banner

Review on Cyber Forensics and its Analysis Tools

Blog banner

Steganography and Steganalysis

Blog banner

Disk cache

Blog banner

Beautiful and stunning natural phenomena worth to see

Blog banner

MORDERN UNIX SYSTEM

Blog banner

Quality check in IT services

Blog banner

Email Privacy

Blog banner

Process in OS

Blog banner

Modern Operating Systems

Blog banner