//pe12-2a.h
void set_mode(int);
void get_info(void);
void show_info(void);
//pe12-2a.c
#include<stdio.h>
#include"pe12-2a.h"
static int mode;
static double distance;
static double fuel;
void set_mode(int new_mode)
{
if (new_mode == 1 || new_mode == 0)
mode = new_mode;
else
switch (mode)
{
case 0:
printf("Invalid mode specified. Mode 0(metric) used.\n");
case 1:
printf("Invalid mode specified. Mode 1(US) used.\n");
}
}
void get_info(void)
{
switch (mode)
{
case 0:
printf("Enter distance traveled in kilometers:");
scanf_s("%lf", &distance);
printf("Enter fuel consumed in liters:");
scanf_s("%lf", &fuel);
break;
case 1:
printf("Enter distance traveled in miles:");
scanf_s("%lf", &distance);
printf("Enter fuel consumed in gallons:");
scanf_s("%lf", &fuel);
break;
}
}
void show_info(void)
{
switch (mode)
{
case 0:
printf("Fuel consumption is %.2f liters per 100 km.\n",(100*fuel)/distance);
break;
case 1:
printf("Fuel consumption is %.1f miles per gallon.\n",distance/fuel);
break;
}
}