Code:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <time.h>
//Function Prototype
int menu (int temperature,int initial_amount,int light_intensity);
int adjust_temperature (temperature_level);
int adjust_light_intensity (light_intensity_level);
//Main Menu
int main (void)
{
//variable
int user_choice;
printf(" ************************************************************\n");
printf(" * Welcome to Lactobacillus Simulator *\n");
printf(" * *\n");
printf(" * This program is use to simulate the growth *\n");
printf(" * of Lactobacillus in a control culture. *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * *\n");
printf(" * Copyright (C) Cheng Chin Pang, Lai Yin Yung *\n");
printf(" * Phoong Hui Ru, Tan Chin Wei *\n");
printf(" ************************************************************\n\n");
printf(" Simulator Menu\n");
printf(" 1. Start Simulator\n");
printf(" 2. Close Simulator\n\n");
printf(" Please select an option (1 or 2): ");
scanf("%d",&user_choice);
//For Error Option Entered
while( user_choice < 1 || user_choice > 2)
{
printf("\n\n An error had occur.\n");
printf(" Please enter another option.\n");
printf(" The option only consist of 1 and 2.\n\n");
printf(" Please reselect an option (1 or 2): ");
scanf("%d",&user_choice);
}
//For Close Simulator
if ( user_choice == 2)
{
printf("\n Thank You For Using This Simulator. Have A Nice Day. ^.^\n\n");
system ("pause");
return 0;
}
//For Start Simulator
else
{
add_initial_amount ();
}
}
//Add Initial Amount
int add_initial_amount (void)
{
//Variable
int initial_amount;
int temperature = 10;
int light_intensity = 2500;
system ("cls");
printf(" ************************************************************\n");
printf(" * Welcome to Lactobacillus Simulator *\n");
printf(" * *\n");
printf(" * Lactobacillus is a genus of Gram-positive *\n");
printf(" * facultative anaerobic or microaerophilic. *\n");
printf(" * They are a major part of the lactic acid *\n");
printf(" * bacteria group, named as such because most *\n");
printf(" * of its members convert lactose and other *\n");
printf(" * sugars to lactic acid. They are common and *\n");
printf(" * usually benign. In humans they are present *\n");
printf(" * in the vagina and the gastrointestinal tract, *\n");
printf(" * where they are symbiotic and make up a small *\n");
printf(" * portion of the gut flora. Many species are *\n");
printf(" * prominent in decaying plant material. The *\n");
printf(" * production of lactic acid makes its environment *\n");
printf(" * acidic, which inhibits the growth of some harmful *\n");
printf(" * bacteria. Several members of the genus have had *\n");
printf(" * their genome sequenced. *\n");
printf(" ************************************************************\n\n");
//Enter Amount of Lactobacillus
printf("Please enter the initial amount of Lactobacillus (Maximum amount is 500000000):\n");
printf(":");
scanf ("%d",&initial_amount);
//For Error Option Entered
while (initial_amount > 500000000 || initial_amount < 0 )
{
printf ("The maximum amount of Lactobacillus can enter is 500000000.\n");
printf ("Please re-enter the initial amount of Lactobacillus:\n");
scanf ("%d",&initial_amount);
}
printf ("The amount of Lactobacillus you enter is %d.\n",initial_amount);
system ("pause");
menu (temperature, initial_amount,light_intensity);
}
//Menu
int menu (int temperature,int initial_amount,int light_intensity)
{
//Variable
int function;
int temperature_level;
int light_intensity_level;
system ("cls");
printf(" ************************************************************\n");
printf(" * Welcome to Lactobacillus Simulator *\n");
printf(" * *\n");
printf(" * Menu *\n");
printf(" * *\n");
printf(" * (1) Adjust the temperature of the culture. *\n");
printf(" * (2) Adjust the light intensity of the culture. *\n");
printf(" * (3) Add new amount of Lactobacillus into *\n");
printf(" * the culture. *\n");
printf(" * (4) Add random amount of Lactobacillus into *\n");
printf(" * the culture. *\n");
printf(" * (5) Let the culture be idle for one day. *\n");
printf(" * (6) Let the culture be idle for several days *\n");
printf(" * (maximum of 5 days) *\n");
printf(" * (7) Return to main menu. *\n");
printf(" * *\n");
printf(" * *\n");
printf(" ************************************************************\n\n");
printf ("Current amount of Lactobacillus: %d.\n",initial_amount);
printf ("Current culture temperature: %d degree.\n",temperature);
printf ("Current light intensity: %d.\n\n\n",light_intensity);
printf ("Please select a function:");
scanf ("%d",&function);
switch (function)
{
//Adjust Temperature
case 1:
printf ("Temperature Selection:\n");
printf ("(1) 5 degree\n");
printf ("(2) 10 degree\n");
printf ("(3) 25 degree\n");
printf ("(4) 30 degree\n");
printf ("Please select a temperature level:");
scanf ("%d",&temperature_level);
printf("The temperature is adjusted to %d\n\n",adjust_temperature (temperature_level));
temperature = adjust_temperature (temperature_level);
system ("pause");
menu (temperature, initial_amount,light_intensity);
//Adjust Light Intensity
case 2:
printf ("Light Intensity Selection:\n");
printf ("(1) 2500\n");
printf ("(2) 5000\n");
printf ("Please select a light intensity level:");
scanf ("%d",&light_intensity_level);
printf("The light intensity is adjusted to %d\n\n",adjust_light_intensity (light_intensity_level));
light_intensity = adjust_light_intensity (light_intensity_level);
system ("pause");
menu (temperature, initial_amount,light_intensity);
//For Invalid Input
default:
printf ("\n\nInvalid Input!!.\n");
printf ("Please enter another option.\n");
printf ("The option only consist of 1,2,3,4,5,6,7.\n\n");
system ("pause");
menu (temperature, initial_amount,light_intensity);
break;
}
}
//Function Temperature
int adjust_temperature (temperature_level)
{
int new_temperature;
if(temperature_level == 1)
{
new_temperature = 5;
}
else if(temperature_level == 2)
{
new_temperature = 10;
}
else if(temperature_level == 3)
{
new_temperature = 25;
}
else if(temperature_level == 4)
{
new_temperature = 30;
}
else
{
printf("\n\nInvalid Input!!.\n");
printf("Please enter another option.\n");
printf("The option only consist of 1,2,3,4.\n\n");
printf("Please reselect a temperature level: ");
scanf("%d",&temperature_level);
}
return new_temperature;
}
//Function Light Intensity
int adjust_light_intensity (light_intensity_level)
{
int light_intensity;
switch (light_intensity_level)
{
case 1:
light_intensity = 2500;
return light_intensity;
break;
case 2:
light_intensity = 5000;
return light_intensity;
break;
default:
printf("\n\nInvalid Input!!.\n");
printf("Please enter another option.\n");
printf("The option only consist of 1 and 2.\n\n");
printf("Please reselect a light intensity level: ");
scanf("%d",&light_intensity_level);
}
}
Now I encounter a problem... If I enter all the correct value the program can run correctly. But if I enter the wrong input for the temperature and light intensity, the value can be get and it will adjust the temperature and light intensity to 1.