Эй, ребята, я пытаюсь работать над этим заданием, которое у меня есть. Я новичок в программировании, и это мое третье задание. Любая помощь будет оценена по достоинству. Я не уверен, что im на правильном пути или нет. вот что я должен сделать:C# случайные операторы и математические проблемы, do loop
Позволяет пользователю вводить числовой ответ на математическую проблему и отображать средний балл. Пользователю будет разрешено отвечать на множество математических задач по своему усмотрению. После каждой записи мы будем отображать текущий средний балл. Разница между циклом while и циклом do заключается в том, что цикл while проверяет условие перед запуском своего кодового блока, где цикл do будет выполнять свой блок кода, а затем проверить условие. Следовательно, имена цикла предварительного теста для цикла while и post-test для цикла do. Поскольку цикл do является циклом посттеста, он всегда будет выполнять свой блок кода один раз с минимальным минимумом.
эти шаги им пытаются следовать:
Внутри основного метода блок кода, который мы собираемся создать сделать петлю. Преимущество цикла do заключается в том, что он всегда будет выполняться один раз. В этом приложении мы воспользуемся этим преимуществом, чтобы повторить несколько шагов. Следующие шаги - это то, что мы хотим повторить:
- Очистить консоль Окно дисплея. (Это приведет к загромождению отображения дисплея)
- Использование случайного объекта для получения/хранения двух случайных чисел для математической задачи.
- Случайно решите, какой оператор математики использовать (+ - * /) и сохраните символ.
- Отобразить заголовок приложения и математическую проблему.
- Получите ответ от пользователя и сохраните его в переменной (т. Е. «Вход»).
- Преобразование переменной (ввода) из строки в двойную или целую.
- На основе математического символа выведите правильный ответ, используя случайные числа.
- Если пользовательский ввод соответствует правильному ответу, добавьте значение вопроса вопроса к полученному сумме.
- Добавьте значение вопроса к точкам возможного общего количества.
- Отображать сообщение с полученными очками, возможными и средними (заработанные/возможные).
- Отобразите сообщение с вопросом, хотите ли они выйти или получить новую математическую проблему.
- Приостановить отображение и получить ответ пользователя о выходе или продолжить.!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MathProblems
{
class Program
{
static void Main(string[] args)
{
string input;
double totalPoints = 0;
double userEarnedPoints = 0;
double average = 0;
int number1 = 0;
int number2 = 0;
int operators = 0;
int answer = 0;
double correctAnswer = 0;
int mathProblem = 0;
do
{
Console.Clear();
Random number = new Random();
number1 = number.Next(1, 31);
number2 = number.Next(1, 31);
operators = number.Next(1, 5); // 1 = add, 2 = minus, 3 = multiply, 4 = divide
Console.WriteLine("\tMath Problems\n");
switch (operators)
{
case 1:
answer = number1 + number2;
break;
case 2:
answer = number1 - number2;
break;
case 3:
answer = number1 * number2;
break;
case 4:
answer = number1/number2;
break;
default:
break;
}
//if (operators == 1)
//{
// Console.WriteLine("{0} + {1} = ", number1, number2);
//}
//else if (operators == 2)
//{
// Console.WriteLine("{0} - {1} = ", number1, number2);
//}
//else if (operators == 3)
//{
// Console.WriteLine("{0} * {1} = ", number1, number2);
//}
//else if (operators == 4)
//{
// Console.WriteLine("{0}/{1} = ", number1, number2);
//}
//break;
} while (true);
Console.ReadLine();
Так что это вопрос? –
Я бы сказал, да, ты на правильном пути. 'answer', вероятно, должен быть' double' для обработки деления, например, 7/2. –
Вы создаете новый экземпляр «Random» в цикле - это плохая идея. См. Http://csharpindepth.com/Articles/Chapter12/Random.aspx Теперь, каков ваш точный вопрос? Вы предоставили свое задание и то, что вы сделали до сих пор, но нам нужно точно знать, что вы просите. Где вы застряли? –