//pe12-2a.h
#pragma once
void set_mode(void);
void get_info(void);
void show_info(void);
//main()
#include <stdio.h>
#include "pe12-2a.h"
int main(void)
{
extern int mode;
printf("Enter 0 for metric mode, 1 for US mode:\n");
scanf("%d", &mode);
while (mode >= 0)
{
set_mode(mode);
get_info();
show_info();
printf("Enter 0 for metric mode, 1 for US mode");
printf("(-1 to quit): ");
scanf("%d", &mode);
}
printf("Done.\n");
return 0;
}
//pe12-2a.c
int mode;
float distance;
float consumed;
void set_mode(void)
{
extern mode;
switch (mode)
{
case 0: //公制
break;
case 1://美制
break;
case -1:
break;
default:
printf("Invalid mode specified. Mode 1( US) used.\n");
mode = 1;
break;
}
}
void get_info(void)
{
switch (mode)
{
case 0:
printf("Enter distance traveled in kilometers: \n");
scanf("%f", &distance);
printf("Enter fuel consumed in liters:\n");
scanf("%f", &consumed);
break;
case 1:
printf("Enter distance traveled in miles:\n");
scanf("%f", &distance);
printf("Enter fuel consumed in gallons: \n");
scanf("%f", &consumed);
}
}
void show_info(void)
{
float fuel_con = 0;
switch (mode)
{
case 0:
fuel_con = consumed / (distance / 100);
printf("Fuel consumption is %.2f liters per 100 km.\n", fuel_con);
break;
case 1:
fuel_con = distance / consumed;
printf("Fuel consumption is %.2f miles per gallon.\n", fuel_con);
break;
}
}
C PRIMER PLUS(第六版编程练习)12.9编程练习_2题
最新推荐文章于 2024-10-02 06:00:47 发布