Skip to main content

ISC 2025 Specimen Paper: Library Inheritance Program

A library issues books on rental basis at a 2% charge on the cost price of the book per day. As per the rules of the library, a book can be retained for 7 days without any fine. If the book is returned after 7 days, a fine will also be charged for the excess days as per the chart given below:

Number of excess daysFine per day (Rs.)
1 to 52.00
6 to 103.00
Above 105.00

A super class Library has been defined. Define a subclass Compute to calculate the fine and the total amount. The details of the members of both the classes are given below:

Class name: Library
Data members/instance variables:
name: to store the name of the book
author: to store the author of the book
p: to store the price of the book (in decimals)
Methods/Member functions:
Library(…): parameterized constructor to assign values to the data members
void show(): displays the book details

Class name: Compute
Data members/instance variables:
d: number of days taken in returning the book
f: to store the fine (in decimals)
Methods/Member functions:
Compute(…): parameterized constructor to assign values to the data members of both the classes
void fine(): calculates the fine for the excess days as given in the table above
void show(): displays the book details along with the number of days, fine and the total amount to be paid. Total amount is (2% of price of book * total no. of days) + fine

Assume that the super class Library has been defined. Using the concept of inheritance, specify the class Compute giving the details of the constructor, void fine() and void show() functions.

The super class, main() function and algorithm need not be written.


public class Library
{
public String name,author;
double p;
Library(String name,String author,double p)
{
this.name=name;
this.author=author;
this.p=p;
}
void show()
{
System.out.println("Book name:"+name);
System.out.println("Author name:"+author);
System.out.println("Price:"+p);
}
}
public class Compute
{
public int d;
public double f;
Compute(String name,String author,double p,int d,double f)
{
super(name,author,p);
this.d=d;
this.f=f;
}
void fine()
{
if(d>0 && d<=5)
f=2*d;
else if(d>5 && d<=10)
f=3*d;
else
f=10*d;
}
void show()
{
System.out.println("Number of days:"+d);
System.out.println("Fine amount:"+f);
double total=(2.0/100*p*d)+f;
System.out.println("Total amount:"+total);
}
}




Popular posts from this blog