0% found this document useful (0 votes)
137 views4 pages

Case Study Book Shop Inventory

The document describes a program that maintains an inventory of books for a bookshop. The program stores book details like title, author, price, etc. in a structured data type. When a customer requests a book, the program searches the inventory by title and author and displays the book details if found. If available copies are enough, it displays the total cost, otherwise a message is shown. The program uses functions like get() and look_up() to input data and search the inventory list.

Uploaded by

Prasanna464
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
137 views4 pages

Case Study Book Shop Inventory

The document describes a program that maintains an inventory of books for a bookshop. The program stores book details like title, author, price, etc. in a structured data type. When a customer requests a book, the program searches the inventory by title and author and displays the book details if found. If available copies are enough, it displays the total cost, otherwise a message is shown. The program uses functions like get() and look_up() to input data and search the inventory list.

Uploaded by

Prasanna464
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 4

CASE STUDY

Book Shop Inventory


A book shop uses a personal computer to maintain the inventory of books that are being sold at
the shop. The list includes details such as author, title, price, publisher, stock position, etc.
Whenever a customer wants a book, the shopkeeper inputs the title and author of the book and
the system replies whether it is in the list or not. If it is not, an appropriate message is displayed.
If book is in the list, then the system displays the book details and asks for number of copies. If
the requested copies are available, the total cost of the books is displayed; otherwise the
message "Required copies not in stock" is displayed.
A program to accomplish this is shown in Fig.10.8. The program uses a template to define the
structure of the book. Note that the date of publication, a member of record structure, is also
defined as a structure.
When the title and author of a book are specified, the program searches for the book in the list
using the function
look_up(table, s1, s2, m)
The parameter table which receives the structure variable book is declared as type struct
record. The parameters s1 and s2 receive the string values of title and author while m receives
the total number of books in the list. Total number of books is given by the expression
sizeof(book)/sizeof(struct record)

The search ends when the book is found in the list and the function returns the serial
number of the book. The function returns -1 when the book is not found. Remember that
the serial number of the first book in the list is zero. The program terminates when we
respond "NO" to the question
Do you want any other book?
Note that we use the function
get(string)
to get title, author, etc. from the terminal. This enables us to input strings with spaces such as "C
Language". We cannot use scanf to read this string since it contains two words.
Since we are reading the quantity as a string using the get(string) function, we have to convert it
to an integer before using it in any expressions. This is done using the atoi() function.

BOOK SHOP INVENTORY


Programs
#include
#include

<stdio.h>
<string.h>

struct record
{
char
author[20];
char
title[30];
float
price;
struct
{
char

month[10];

int
year;
}
date;
char
publisher[10];
int
quantity;

};
int look_up(struct record table[],char s1[],char s2[],int m);
void get (char string [ ] );
main()
{
char title[30], author[20];
int index, no_of_records;
char response[10], quantity[10];
struct record book[] = {
{"Ritche","C Language",45.00,"May",1977,"PHI",10},
{"Kochan","Programming in C",75.50,"July",1983,"Hayden",5},
{"Balagurusamy","BASIC",30.00,"January",1984,"TMH",0},
{"Balagurusamy","COBOL",60.00,"December",1988,"Macmillan",25}
};
no_of_records = sizeof(book)/ sizeof(struct record);
do
{
printf("Enter title and author name as per the list\n");
printf("\nTitle:
get(title);
printf("Author:
get(author);

");
");

index = look_up(book, title, author, no_of_records);


if(index != -1)
/* Book found */
{
printf("\n%s %s %.2f %s %d %s\n\n",
book[index].author,
book[index].title,
book[index].price,
book[index].date.month,
book[index].date.year,
book[index].publisher);
printf("Enter number of copies:");
get(quantity);
if(atoi(quantity) < book[index].quantity)
printf("Cost of %d copies = %.2f\n",atoi(quantity),
book[index].price * atoi(quantity));
else
printf("\nRequired copies not in stock\n\n");

}
else

printf("\nBook not in list\n\n");


printf("\nDo you want any other book? (YES / NO):");
get(response);

}
while(response[0] == 'Y' || response[0] == 'y');
printf("\n\nThank you. Good bye!\n");

void get(char string [] )


{
char c;
int i = 0;
do
{
c = getchar();
string[i++] = c;
}
while(c != '\n');
string[i-1] = '\0';
}

int look_up(struct record table[],char s1[],char s2[],int m)


{

int i;
for(i = 0; i < m; i++)
if(strcmp(s1, table[i].title) == 0 &&
strcmp(s2, table[i].author) == 0)
return(i);
/* book found
return(-1);
/* book not found

Output
Enter title and author name as per the list
Title:
BASIC
Author:
Balagurusamy
Balagurusamy BASIC 30.00 January 1984 TMH
Enter number of copies:5
Required copies not in stock
Do you want any other book? (YES / NO):y
Enter title and author name as per the list
Title:
COBOL
Author:
Balagurusamy
Balagurusamy COBOL 60.00 December 1988 Macmillan
Enter number of copies:7

*/
*/

Cost of 7 copies = 420.00


Do you want any other book? (YES / NO):y
Enter title and author name as per the list
Title:
Author:

C Programming
Ritche

Book not in list


Do you want any other book? (YES / NO):n
Thank you.

Good bye!

_____________________________________________________________________
Fig.10.8 Program of bookshop inventory

You might also like