static void Main(string[] args) { int result = 1; while (result == 1) { CSharpExpert.firstStart(); Console.WriteLine("Show comments during consultation: "); Console.WriteLine("\t1 -- yes"); Console.WriteLine("\t2 -- no"); ProductionSystem.showComments = (getInt("Enter a value from 1 to 2: ", 2) == 1)? true : false; Console.Out.WriteLine("Type of grain: "); Console.Out.WriteLine("\t1 -- very coarse grain"); Console.Out.WriteLine("\t2 -- coarse grain"); Console.Out.WriteLine("\t3 -- medium grain"); Console.Out.WriteLine("\t4 -- fine grain"); Console.Out.WriteLine("\t5 -- very fine grain"); (CSharpExpert.getDataFrame("Grain").getSlot("grains")).slotValue = getInt("Enter a value from 1 to 5: ", 5); Console.Out.WriteLine("Humidity of the charge: "); Console.Out.WriteLine("\t1 -- dry"); Console.Out.WriteLine("\t2 -- normal"); Console.Out.WriteLine("\t3 -- very wet"); (CSharpExpert.getDataFrame("Charge").getSlot("humidity")).slotValue = getInt("Enter a value from 1 to 3: ", 3); Console.Out.WriteLine("Gas amount in the charge"); Console.Out.WriteLine("\t1 -- low"); Console.Out.WriteLine("\t2 -- less than normal"); Console.Out.WriteLine("\t3 -- normal"); Console.Out.WriteLine("\t4 -- more than normal"); Console.Out.WriteLine("\t5 -- high"); (CSharpExpert.getDataFrame("Charge").getSlot("gasAmount")).slotValue = getInt("Enter a value from 1 to 5: ", 5); // QualityOfGlass.Quality quality = QualityOfGlass.Quality.undefined; QualityOfGlass ruleset1 = (QualityOfGlass)CSharpExpert.getRulesetFrame("QualityOfGlass"); ruleset1.initContext(); ruleset1.initParameters(quality); ProductionSystem.consult("QualityOfGlass"); ruleset1.getRefValues(ref quality); Console.WriteLine("~~~~~~Result~~~~~~"); Console.WriteLine("quartzous grains: {0}", (Glass.GrainType)(CSharpExpert.getDataFrame("Glass").getSlot("grainsAmount")).slotValue); Console.WriteLine("streakiness: {0}", (Glass.StreakinessType)(CSharpExpert.getDataFrame("Glass").getSlot("streakiness")).slotValue); Console.WriteLine("clearing: {0}", (Glass.ClearingType)(CSharpExpert.getDataFrame("Glass").getSlot("clearing")).slotValue); Console.WriteLine("foaming: {0}", (Glass.FoamingType)(CSharpExpert.getDataFrame("Glass").getSlot("foaming")).slotValue); Console.WriteLine("homogeneity of the charge: {0}", (Glass.HomogeneityType)(CSharpExpert.getDataFrame("Glass").getSlot("homogeneity")).slotValue); Console.WriteLine("QUALITY ESTIMATION: {0}", quality); Console.WriteLine(); Console.WriteLine("1 -- one more consultation"); Console.WriteLine("2 -- exit"); result = getInt("Enter a value from 1 to 2: ", 2); } }
public void getRefValues(ref QualityOfGlass.Quality quality) { quality = QualityOfGlass.quality; }
public void initParameters(QualityOfGlass.Quality quality) { isParamsInitialized = true; QualityOfGlass.quality = quality; }