Problem: Write a program that interacts with the user like this: (1) Carbon mono
ID: 3639192 • Letter: P
Question
Problem: Write a program that interacts with the user like this:(1) Carbon monoxide
(2) Hydrocarbons
(3) Nitrogen oxides
(4) Non-methane hydrocarbons
Enter pollutant number=> 2
Enter number of grams emitted per mile=> 0.35
Enter odometer reading=> 40112
Emissions exceed permitted level of 0.31 grams/mile.
Use this table of emission limits to determine the appropriate message.
First 50,000 miles Second 50,000 miles
Carbon monoxide 3.4 grams/mile 4.2 grams/mile
Hydrocarbons 0.31 grams/mile 0.39 grams/mile
Nitrogen oxides 0.4 grams/mile 0.5 grams/mile
Non-methane hydrocarbons 0.25 grams/mile 0.31 grams/mile
Your program should print out a menu and ask the user in to input the number corresponding to the pollutant. Then the user will input information about the number of grams emitted per mile and the odometer reading. The program will then output if the emissions exceed or do not exceed the permitted level at that odometer reading. Your output statements should be formatted just as you see here. You should check for correct user input for the number corresponding to the pollutant
Explanation / Answer
#include <stdio.h>
#include <conio.h>
int main()
{int pollutant,odometer;
double grams,max1,max2,max3,max4,max,ok;
printf("(1) Carbon monoxide ");
printf("(2) Hydrocarbons ");
printf("(3) Nitrogen oxides ");
printf("(4) Nonmethane hydrocarbons ");
printf("Enter the pollutant number>> ");
scanf("%d",&pollutant);
printf("Enter the number of grams emitted per mile>> ");
scanf("%lf",&grams);
printf("Enter odometer reading>> ");
scanf("%d",&odometer);
if(odometer>50000) //set pollutantvalues if odometer > 50000
{max1=4.2;
max2=.39;
max3=.5;
max4=.31;
}
else //set pollutant values if odometer > 50000
{max1=3.4;
max2=.31;
max3=.4;
max4=.25;
}
ok=1; //1 means emissions not exceeded
//0 means emissions exceeded
switch(pollutant)
{ //decide if exceeded & set grams limit
case 1:if(grams>max1)
ok=0;
max=max1;
break;
case 2:if(grams>max2)
ok=0;
max=max2;
break;
case 3:if(grams>max3)
ok=0;
max=max3;
break;
case 4:if(grams>max4)
ok=0;
max=max4;
break;
}
if(ok==1) //notexceeded?
printf("Emissions do not exceed permittedlevel of %.2lf grams/mile. ",max);
else
printf("Emissions exceed permitted levelof %lf grams/mile. ",max);
getch();
return 0;
}
sample run
(1) Carbon monoxide
(2) Hydrocarbons
(3) Nitrogen oxides
(4) Nonmethane hydrocarbons
Enter the pollutant number>> 2
Enter the number of grams emitted per mile>> .35
Enter odometer reading>> 40112
Emissions exceed permitted level of 0.310000 grams/mile.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.