0% found this document useful (0 votes)
52 views

Assignment 6

The document discusses several questions related to using structures in C programming. It includes questions on defining structures to store employee details, city census data, book details for a library management system, student details, and polynomials. Functions are defined to perform operations like adding two polynomials, evaluating a polynomial, and sorting student data.

Uploaded by

Ark Singh
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views

Assignment 6

The document discusses several questions related to using structures in C programming. It includes questions on defining structures to store employee details, city census data, book details for a library management system, student details, and polynomials. Functions are defined to perform operations like adding two polynomials, evaluating a polynomial, and sorting student data.

Uploaded by

Ark Singh
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Course: Computer Programming CSL-101

Assignment - 6
Topic: Structures

Q.1 Consider an employee details are being stored through a C structure that contains
the name of the employee, his/her employee ID and the salary. Write a C program
that prints the employee names whose salary is less than a target salary (user input).

Q.2 Define a structure named census with the following three members:
1. A character array city [ ] to store the city name
2. An integer to store the population of the city
3. A float member to store the literacy level
Write a program to do the following:
a. To read the details of 5 cities using an array of structures.
b. To sort the records based on literacy level and display.

Q.3 Write a C program to create a menu driven program (using switch case) that depicts
the working of a library. Create a structure called library to hold the accession
number, title of the book, author name, price of the book, and flag indicating
whether book is issued or not. Write the functions to:
1. Add book information
2. Display all books information
3. List all books of given author
4. List the count of books currently available in the library of the given title.
5. Exit

Note: Google might help you to understand menu driven program.


Q.4 Define a structure to store the name, an array marks [ ] which stores the marks of
five different subjects and a character grade. Write a program to read and display
the details of the student whose name is entered by the user.

Q.5 Modify Q.4 to print each student’s average marks, subject-wise class average (that
includes average of all the students’ marks).

Q.6 Given the details of n employees (employee name and salary), write a C program
which sorts the employee names according to the length (no of characters) of their
names. If the lengths of employee names are same, then break the tie by
alphabetical order. Finally, display the details of employees in the above mentioned
order. You are free to use library functions under “string.h”.
Q.7 Define a structure that can describe a point in 2-D. A circle in 2D can be specified
by its centre (a point) and radius. Define a structure that can describe a circle in 2D.
Write a C function that does the following. It accepts a circle and a point as
arguments. It returns 1 if the point lies inside the circle but returns 0 otherwise.
Q.8 Construct a structure variable pt which represents a point in Cartesian xy-plane.
Using pt, construct a structure variable tri which represents a triangle in the xy-
plane. Write a C function which accepts a triangle as argument and returns the
perimeter of the triangle. Pick the endpoints of each side and calculate, d =
√(x1 − x2)2 + (y1 − y2)2 The distance between those endpoints gives you
the length of that side. When you have the lengths of all three sides, add them
together to get the perimeter. Write the separate function to calculate the distance d
between two co-ordinates.

Q.9 A polynomial can be represented in a structure with the following members:


1. a float array to store the coefficients
2. an integer to store the degree of the polynomial (highest power in polynomial)

For example, a polynomial 2.3 x4 – 4x + 1.6 has degree, d = 4 and coefficients are
{2.3, 0, 0, -4, 1.6} to be stored in an array. The missing term’s coefficients are
denoted by zero in this array. Represent this structure in C language.

(a) Write a function to read and store the polynomial using structure defined above.
This function should return the polynomial read.
(b) Write a function to add two polynomials p and q represented in the same
structure. Assume both p and q have same degree.
(c) Write a function which takes as parameters a polynomial and value of x and
evaluates the polynomial using Horner’s rule:
a0 x0 + a1 x1 + a2 x2 + a3 x3 + a4 x4 = a0 + x (a1 + x (a2 + x (a3 + x (a4)))) and so
on. The function should return the result calculated from the right hand side
expression.
Q.10 Create a database of (at least 5) students using structures, where in each entry of the
database will have the following fields:

1. a name, which is a string with at most 128 characters


2. their marks in physics which is an int between 0 and 100
3. their marks in chemistry which is an int number between 0 and 100
4. their marks in mathematics which is an int number between 0 and 100

You have to output a list of students in the following order.

1. if a student 'A' has lower marks in physics than a student 'B', then A's data is
listed before B.
2. If A and B have the same physics marks and A has lower chemistry marks than
B, then A is listed before B.
3. If A and B have the same marks in physics and chemistry, and A has lower marks
in mathematics than B, then A is listed before B.
4. If all marks are equal and A's name precedes B's name in the dictionary order,
then A is listed before B.

Note: You are free to use library functions under “string.h”. Maintain the separate
function to sort/decide ordering.
Input data: Output data:

Abhimanyu 100 94 90 Amit 70 82 89


Akshay 90 91 83 Aman 70 94 88
Akshay 100 88 88 Amit 80 82 70
Aman 70 94 88 Amendra 80 95 85
Amendra 80 95 85 Akshay 90 91 83
Amit 70 82 89 Akshay 100 88 88
Amit 80 82 70 Abhimanyu 100 94 90

You might also like