Update Q3.C

This commit is contained in:
2024-10-22 21:53:34 -07:00
parent cc95aadaea
commit 94d003bf68

68
Q3.C
View File

@@ -1,51 +1,61 @@
#include <stdio.h> #include <stdio.h>
// Struct for Car
typedef struct Car { typedef struct Car {
char model[50]; char model[50];
int year; int year;
double price; double price;
} Car; } Car;
// Print details of passed car pointer
void display_details(Car *car) { void display_details(Car *car) {
printf("Model: %s\n", car->model); printf("Model: %s\n", car->model);
printf("Year: %d\n", car->year); printf("Year: %d\n", car->year);
printf("Price: %0.02f\n", car->price); printf("Price: $%0.02f\n", car->price);
} }
// Returns a pointer to the car with the lowest price // Returns a pointer to the car with the lowest price
Car *find_lowest_price(Car arr[], int len) { Car *find_lowest_price(Car arr[], int len) {
int lowest_price = arr[0].price; int lowest_price = arr[0].price;
Car *lowest = &arr[0]; Car *lowest = &arr[0];
for(int i = 1; i < len; i++) { for(int i = 1; i < len; i++) {
if(arr[i].price < lowest_price) { if(arr[i].price < lowest_price) {
lowest_price = arr[i].price; lowest_price = arr[i].price;
lowest = &arr[i]; lowest = &arr[i];
} }
} }
return lowest; return lowest;
} }
// Returns double of average price of the cars
double find_average_price(Car arr[], int len) { double find_average_price(Car arr[], int len) {
double average = 0; double average = 0;
for(int i = 0; i < len; i++) { for(int i = 0; i < len; i++) {
average += arr[i].price; average += arr[i].price;
} }
return average / len; return average / len;
} }
int main() { int main() {
Car c1 = {"Honda Pilot", 2016, 20000.50}; // Cars to test function and struct
Car c2 = {"Chevy Tahoe", 2002, 7500.25}; Car c1 = {"Honda Pilot", 2016, 20000.50};
Car c3 = {"Lamborghini Aventador", 2015, 450000}; Car c2 = {"Chevy Tahoe", 2002, 7500.25};
Car c3 = {"Lamborghini Aventador", 2015, 450000};
Car arr[] = {c1, c2, c3}; Car arr[] = {c1, c2, c3};
display_details(find_lowest_price(arr, 3)); // Display all car details
for(int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
display_details(&arr[i]);
}
printf("Average price: %0.02f\n", find_average_price(arr, 3)); //Print car with lowest price
printf("\nCar with the lowest price: ");
display_details(find_lowest_price(arr, 3));
return 0; //Print average price of the cars
printf("\nAverage price: $%0.02f\n", find_average_price(arr, 3));
return 0;
} }