Write a C program which uses a structure type that stores data records for a car
ID: 3834087 • Letter: W
Question
Write a C program which uses a structure type that stores data records for a car, as described in the Requirements below. Requirements: Define a global structure and name it as Car. This structure has these member variables: Make (string), model (string), year (int), mileage (double), original_price (double), and sale_price(double) sale_price will be calculated based on original_price and mileage. Declare two variables from structure car and call it car_number1 and car_number2. Write a function called get_nput, which is responsible to Get the input values for the member variables of car_numberl and car_number2 For sale_price enter zero. This value will be updated later by function price_calculation This function uses call by reference for car_number1 and car_number2 For string member variables use the correct input method Write a function called price_calculation which gets car_number1 and car_number2 as input (call by reference) and update the sale_price. If the car mileage is greater than 70,000 miles then the sale_price is 70% of the original_price. Otherwise the sale_price is 85% of the original_price. Write a function called print_output which is responsible To print the information for each car separately (including the update value of sale_price) This function should print the output based on alphabet order of car's make.Explanation / Answer
#include<stdio.h>
struct Car {
char Make[50];
char Model[50];
int year;
double mileage;
double original_price;
double sale_price;
};
void get_input(struct Car *data1, struct Car *data2){
printf("Enter Make Model year mileage original_price for Car_number1 ");
scanf("%s %s %d %lf %lf", data1->Make, data1->Model, &data1->year, &data1->mileage,&data1->original_price);
data1->sale_price = 0;
printf("Enter Make Model year mileage original_price for Car_number2 ");
scanf("%s %s %d %lf %lf", data2->Make, data2->Model, &data2->year, &data2->mileage,&data2->original_price);
data2->sale_price = 0;
}
void price_calculation(struct Car *data1, struct Car *data2){
if (data1->mileage > 70000)
data1->sale_price = 0.7 * data1->original_price;'
else
data1->sale_price = 0.85 * data1->original_price;
if (data2->mileage > 70000)
data20->sale_price = 0.7 * data2->original_price;'
else
data2->sale_price = 0.85 * data2->original_price;
}
void print_out(struct Car *data1, struct Car *data2){
if (data1->Make < data2->Make){
printf("Car number1 data ");
printf("%s %s %d %.2f %.2f %.2f", data1->Make, data1->Model, data1->year,
data1->mileage, data1->original_price, data1->sale_price);
printf("Car number2 data ");
printf("%s %s %d %.2f %.2f %.2f", data2->Make, data2->Model, data2->year,
data2->mileage, data2->original_price, data2->sale_price);
}
else {
printf("Car number2 data ");
printf("%s %s %d %.2f %.2f %.2f ", data2->Make, data2->Model, data2->year,
data2->mileage, data2->original_price, data2->sale_price);
printf("Car number1 data ");
printf("%s %s %d %.2f %.2f %.2f", data1->Make, data1->Model, data1->year,
data1->mileage, data1->original_price, data1->sale_price);
}
}
void main(){
struct Car car_number1, car_number2;
get_input(&car_number1, &car_number2);
price_calculation(&car_number1, &car_number2);
print_output(&car_number1, &car_number2);
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.