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

Cache memory

Blog banner

Therapy Myths That Need to End in 2025

Blog banner

Threads

Blog banner

New Ransomware Encrypts Your Android And Then Changes PIN Lock

Blog banner

PERSONALITY DEVELOPMENT

Blog banner

Internet: The Vast Ocean Of Knowledge.

Blog banner

EFT

Blog banner

Bitcoin sent using radio waves! No internet!

Blog banner

Multiprocessor and Multicore Organization

Blog banner

Positioning: The battle of the minds

Blog banner

Expert System In AI

Blog banner

SQL Injection

Blog banner

Information of meesho company

Blog banner

File management

Blog banner

BLOCKCHAIN MACHANISM

Blog banner

Virtual memory

Blog banner

Title: Network Sniffing Techniques: Uncovering the Secrets of Data Transfer

Blog banner

Smartphone Security: Vulnerabilities and Attacks

Blog banner

Virtual memory

Blog banner

Define Instagram.

Blog banner

Computer Security

Blog banner

objectives and functions of operating system

Blog banner

AIS & ANN based Malware detection for Android OS - Nupur Bhatt

Blog banner

objectives and function of operating system

Blog banner

Internet of Things and cyber security

Blog banner

A Survey of Anti-Forensic Techniques: Methods, Challenges, and Countermeasures

Blog banner

Self managing devices

Blog banner

Education?

Blog banner

LINUX VSERVER VIRTUAL MACHINE ARCHITECTURE

Blog banner

LINUX

Blog banner

SESSION HIJACKING

Blog banner

Service Operation

Blog banner

INSTAGRAM

Blog banner

Memory management

Blog banner

Reconnaissance

Blog banner

BITCOIN WALLET

Blog banner

GraphQL

Blog banner

BUSINESS MODELS OF E COMMERCE

Blog banner

Social Engineering Deceptions and Defenses

Blog banner

Fashion design

Blog banner

Navigating the Digital Battlefield: Security Breaches and Effective Countermeasures

Blog banner

Deadlock in operating system

Blog banner