Question
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
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started