Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

C PROGRAM The daily sales of a grocery store are saved in the file sale.txt. Each line contains the record for a product name, price

C PROGRAM

The daily sales of a grocery store are saved in the file sale.txt. Each line contains the record for a product name, price per pound in dollars, and total number of pounds sold. Write a program that reads file sales.txt, store the data in an array of product structures, and sort the products by sale volume. Output the sorted products, including sale volumes in a text file called sorted_products.txt. A product structure should have the following attributes:

o name string

o unit price double

o total number of pounds sold double

o sale volume double

You can assume the sales.txt as the following format for each product: product name (one single word), unit price, total numbers of pounds sold.

apple, 2.5, 421.4

1. Name your program product.c.

2. The program should be built around an array of structures, with each structure containing information of a products name, unit price, total numbers of pounds sold, sale volume (unit price * total numbers of pounds sold). Assume that there are no more than 1000 products in the file.

3. Use fscanf and fprintf to read and write data.

4. Modify the selection_sort function provided to sort an array of product struct. The boxes should be sorted by sale volume in ascending order. The function should have the following prototype:

void selection_sort(struct product products[], int n);

5. Output the sorted products, including sale volumes, in a text file called sorted_products.txt, in the following format.

#name unit price ($) units (pound) sold sale volume ($)

celery 2.300000 99.450000 228.735000

blueberry 3.500000 87.300000 305.550000

potato 0.600000 823.650000 494.190000

(2) Modify the program (Name your program product2.c) so it takes command line argument for the product name and the program displays unit price, total numbers of pounds sold, and sale volume of the product. The program should include the following function:

void find_product(struct product products[], int n, char *name);

The find_player function should find the product by name, print the products unit price, total numbers of pounds sold, and sale volume with two decimal digits.

Example run:

./a.out grape

Output:

Name: grape

Unit price: 2.25

Number of pounds sold: 393.50

Sale volume: 885.38

Sales.txt

orange 1.2 506.21

apple 1.25 944.23

grape 2.25 393.5

cherry 4.25 234.56

avocado 4.76 107.2

celery 2.3 99.45

broccoli 2.1 498.3

cucumber 1.8 367.3

onion 4.3 234.2

blueberry 3.5 87.3

tomato 2.9 873.9

spinach 3.9 267.3

lettuce 5.2 882.4

salmon 10.99 342.4

catfish 6.99 258.3

potato 0.6 823.65

Selection_sort.c

/*selection_sort.c */ #include

#define N 10

void selection_sort(int a[], int n); int main(void) {

int i;

int a[N]; printf("Enter %d numbers to be sorted: ", N);

for (i = 0; i < N; i++)

scanf("%d", &a[i]); selection_sort(a, N); printf("In sorted order:");

for (i = 0; i < N; i++)

printf(" %d", a[i]);

printf(" "); return 0;

} void selection_sort(int a[], int n){ int i, largest = 0, temp; if (n == 1)

return; for (i = 1; i < n; i++)

if (a[i] > a[largest])

largest = i; if (largest < n - 1) {

temp = a[n-1];

a[n-1] = a[largest];

a[largest] = temp;

} selection_sort(a, n - 1);

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Object Databases The Essentials

Authors: Mary E. S. Loomis

1st Edition

020156341X, 978-0201563412

Students also viewed these Databases questions