Case Study Book Shop Inventory
Case Study Book Shop Inventory
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.
<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);
");
");
}
else
}
while(response[0] == 'Y' || response[0] == 'y');
printf("\n\nThank you. Good bye!\n");
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
*/
*/
C Programming
Ritche
Good bye!
_____________________________________________________________________
Fig.10.8 Program of bookshop inventory