Задание: Рассчитать значение функции в заданной точке. Использовать простейшие функции вида Y = 3 – X + 2 * X * X * X, не предусматривающие вычисления суммы ряда или использования рекуррентных формул.
Задание очень простое. Логику я реализовал.
Вопрос в другом: какими способами я могу сделать повтор условия в программе, так, чтобы перед вводом X и после вывода Y, программа запросила пользователя либо нажатие какого-либо числа(т.е X), либо нажатие какой-либо буквы(допустим 'q'), которая будет из себя представлять выход из программы. И чтобы подобный запрос появлялся, естественно, после каждого вывода "y" ровно до тех пор, пока не введу "q"
Я подумал сделать нечто подобное либо циклом while, либо рекурсией, либо и тем и другим.
Однако, ни к чему вразумительному так и не пришёл. Не особо понимаю, как это всё можно здесь реализовать.
Вот мой код.
using System;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, this program calculates the value of the function \"y = 3 – x + 2 * x * x * x\"!");
Console.WriteLine("Please, choose any number or \"q\" to exit this programm.");
string a = Console.ReadLine();
if (a == "q")
{
return; // здесь я решил сделать выход из программы через return, ибо другого способа не нагуглил
}
else
{
int x = Convert.ToInt32(a);
int y = 3 - x + (2 * x * x * x);
Console.WriteLine("The value of the function for x=" + x + " is " + y);
Console.ReadLine();
}
}
}
}
Собственно, что можете посоветовать?
Стыдно не знать про цикл с предусловием
var str = Console.ReadLine();
while (str != "q")
{
/*здесь парсите и проверяете ввод, делаете все что вам нужно*/
str = Console.ReadLine();
}
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int x;
Console.WriteLine("Программа по формуле \"y = 3 – x + 2 * x * x * x\"!");
do
{
Console.Write("Введите значения:");
x = Convert.ToInt32(Console.ReadLine());
int y = 3 - x + (2 * x * x * x);
Console.WriteLine("Значения x=" + x + " is " + y);
Console.WriteLine("Повторить? y/n");
}
while(Console.ReadKey(true).Key == ConsoleKey.Y);
}
}
Просто в бесконечный цикл завернуть?
static void Main(string[] args)
{
while(true) {
...
if (a == "q")
{
return;
}
else
...
}
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости