Пример #1
0
		private static void GenerateExerciseAdd (out int number1, out char oper, out int number2, out int result,
		                                         out ValidQuestions validQuestions)
		{
			oper = '+';
			validQuestions = ValidQuestions.All;

			number1 = RandomNumber (addMaximum + 1);
			number2 = RandomNumber (addMaximum + 1 - number1);
			result = number1 + number2;
		}
Пример #2
0
		private static void GenerateExerciseDivide (out int number1, out char oper, out int number2, out int result,
		                                            out ValidQuestions validQuestions)
		{
			oper = ':';
			validQuestions = ValidQuestions.All;

			int len = multiplicationTables.Length;
			int number = RandomNumber (multiplicationMaximum + 1);
			int table = multiplicationTables [RandomNumber (len)];
			int product = number * table;

			switch (random.Next (2)) {
			case 0: // product : table = number
				number1 = product;
				number2 = table;
				result = number;
				break;
			case 1: // product : number = table
				number1 = product;
				number2 = number;
				result = table;
				break;
			default:
				throw new ApplicationException ();
			}

			if (number1 == 0)
				validQuestions &= ~ValidQuestions.Number2;
			if (number2 == 0)
				validQuestions = ValidQuestions.None;
		}