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

Jira Software

Blog banner

Cache memory

Blog banner

“Shot on iPhone” : A campaign by Apple that turned into a prodigy

Blog banner

Dudhasagar waterfall ?

Blog banner

Principal of concurrency

Blog banner

MailChimp

Blog banner

Exploring Virtual Machines and Computer Forensic Validation Tools

Blog banner

The Sunny Side of Instagram

Blog banner

Population

Blog banner

Clarizen

Blog banner

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

Blog banner

Different memory allocation strategies

Blog banner

The Features of Blockchain

Blog banner

File Management system

Blog banner

MACHINE LEARNING

Blog banner

Computer security techniques

Blog banner

Memory Management

Blog banner

MySQL

Blog banner

ARTICLE ON WRIKE CORPORATION

Blog banner

Classification Algorithms (Decision trees, SVM, Logistic regreession)

Blog banner

Fitness regime by Deepesh

Blog banner

virtual memory

Blog banner

Wedding photographer

Blog banner

Self defence

Blog banner

Mango Raisin Chutney (sweet mango raisin spread)

Blog banner

Festive Ethnic Wear Guide: Patola-Inspired Looks for Every Celebration

Blog banner

MODERN OPERATING SYSTEM

Blog banner

Theads

Blog banner

Impacts of Data Breach On Companies Challenges and Prevention

Blog banner

Deadlock

Blog banner

RAID

Blog banner

Virtual memory in Operating System

Blog banner

objectives and functions of operating system

Blog banner

Virtual memory

Blog banner

Cyber Laws In India and Around the World

Blog banner

PROCESS STATES OF OPERATING SYSTEM

Blog banner

FAMILY WHERE LIFE BEGINS....

Blog banner

1.1 basic elements

Blog banner

File management

Blog banner

What is metaverse?

Blog banner

Hey Aryan here

Blog banner

EID UL FITR

Blog banner