Создание меню в консоли через case - C#
Формулировка задачи:
Кто может помочь объяснить, как сделать меню, а то сколько не пробую, у меня все время ошибки. Надо создать меню где будет 4 пункта.
1 Ввод
2 Расчет
3 Сохранение
4 выход
Я не знаю, куда писать код. Знаю, что используется switch и case
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication39
{
class Program
{
static void Main(string[] args)
{
Console.BufferWidth = 125;
Console.WindowWidth = 125;
double min1 = 999999, min2 = 999999, sred1 = 0, sred2 = 0, max1 = -999999, max2 = -999999;
double sredv1 = 0, sredv2 = 0, D1 = 0, D2 = 0;
Console.WriteLine("Выберите число важности нажав на кнопку от 0 до 6. 0 = 0,01 | 1 = 0,05 | 2 = 0,1 | 3 = 0,15 | 4 = 0,2 | 5 = 0,25 | 6 = 0,3");
int yw = Convert.ToInt32(Console.ReadLine());
double[,] TAB = new double[20, 7] {{63.6567412, 12.7062047, 6.3137515, 4.1652998, 3.0776835, 2.4142136, 1.9626105},
{9.9248432, 4.3026527, 2.9199856, 2.2819306, 1.8856181, 1.6035675, 1.3862066},
{5.8409093, 3.1824463, 2.3533634, 1.9243197, 1.6377444, 1.4226253, 1.2497781},
{4.6040949, 2.7764451, 2.1318468, 1.7781922, 1.5332063, 1.3443976, 1.1895669},
{4.0321430, 2.5705818, 2.0150484, 1.6993626, 1.4758840, 1.3009490, 1.1557673},
{3.7074280, 2.4469119, 1.9431803, 1.6501732, 1.4397557, 1.2733493, 1.1341569},
{3.4994833, 2.3646243, 1.8945786, 1.6165917, 1.4149239, 1.2542787, 1.1191591},
{3.3553873, 2.3060041, 1.8595480, 1.5922214, 1.3968153, 1.2403183, 1.1081454},
{3.2498355, 2.2621572, 1.8331129, 1.5737358, 1.3830287, 1.2296592, 1.0997162},
{3.1692727, 2.2281389, 1.8124611, 1.5592359, 1.3721836, 1.2212554, 1.0930581},
{3.1058065, 2.2009852, 1.7958848, 1.5475598, 1.3634303, 1.2144602, 1.0876664},
{3.0545396, 2.1788128, 1.7822876, 1.5379565, 1.3562173, 1.2088525, 1.0832114},
{3.0122758, 2.1603687, 1.7709334, 1.5299196, 1.3501713, 1.2041462, 1.0794687},
{2.9768427, 2.1447867, 1.7613101, 1.5230951, 1.3450304, 1.2001403, 1.0762802},
{2.9467129, 2.1314495, 1.7530504, 1.5172280, 1.3406056, 1.1966893, 1.0735314},
{2.9207816, 2.1199053, 1.7458837, 1.5121302, 1.3367572, 1.1936854, 1.0711372},
{2.8982305, 2.1098156, 1.7396067, 1.5076598, 1.3333794, 1.1910471, 1.0690331},
{2.8784405, 2.1009220, 1.7340636, 1.5037077, 1.3303909, 1.1887115, 1.0671695},
{2.8609346, 2.0930241, 1.7291328, 1.5001888, 1.3277282, 1.1866293, 1.0655074},
{2.8453397, 2.0859634, 1.7247182, 1.4970355, 1.3253407, 1.1847614, 1.0640158}};
//переменная количество символов в выборке
Console.WriteLine("Введите количество значений в массиве");
int n = Convert.ToInt32(Console.ReadLine());
//массив содержащий обе выборки
double[,] vod = new double[2, n];
double[,] vod1 = new double[2, n];
Console.WriteLine("Введите массив");
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < n; j++)
{ vod[i, j] = Convert.ToDouble(Console.ReadLine()); }
}
for (int j = 0; j < n; j++)
{
if (vod[0, j] < min1)
{
min1 = vod[0, j];
}
if (vod[0, j] > max1)
{
max1 = vod[0, j];
}
sred1 = sred1 + vod[0, j];
if (vod[1, j] < min2)
{
min2 = vod[1, j];
}
if (vod[1, j] > max2)
{
max2 = vod[1, j];
}
sred2 = sred2 + vod[1, j];
}
sred1 = sred1 / n;
sred2 = sred2 / n;
Console.WriteLine("Среднее арифметическое первого ряда " + sred1);
Console.WriteLine("Среднее арифметическое второго ряда " + sred2);
Console.WriteLine("Минимум первого ряда " + min1 + "; Максимум первого ряда " + max1);
Console.WriteLine("Минимум второго ряда " + min2 + "; Максимум второго ряда " + max2);
//нашли среднее линейное отклонение
for (int j = 0; j < n; j++)
{
vod1[0, j] = Math.Abs(vod[0, j] - sred1);
vod1[1, j] = Math.Abs(vod[1, j] - sred2);
//среднее линейное отклонение
sredv1 = vod1[0, j] + sredv1;
sredv2 = vod1[1, j] + sredv2;
}
sredv1 = sredv1 / n;
sredv2 = sredv2 / n;
Console.WriteLine("Среднее линейное арифметическое первого ряда " + sredv1);
Console.WriteLine("Среднее линейное арифметическое второго ряда " + sredv2);
for (int j = 0; j < n; j++)
{
D1 = Math.Pow(vod1[0, j], 2) + D1;
D2 = Math.Pow(vod1[1, j], 2) + D2;
}
//дисперсия
D1 = D1 / n;
D2 = D2 / n;
double tk = TAB[n, yw];
double tnab = (Math.Abs(sred1 - sred2) / Math.Sqrt(n * D1 + n * D2)) * Math.Sqrt(n * n * (n + n - 2) / (n + n));
Console.WriteLine("Проверка " + tnab + "Проверка 1 " + tk);
if (tnab < tk)
{
File.WriteAllText("ask", "данные выборки равны");
}
else
{
File.WriteAllText("ask", "данные выборки не равны");
}
Console.ReadLine();
}
}
}Решение задачи: «Создание меню в консоли через case»
textual
Листинг программы
do{
Console.WriteLine("1 Ввод\n2 Расчет\n3 Сохранение\n4 выход");
int i = int.Parse(Console.ReadLine());
switch (i)
{
case 1:
Console.WriteLine("Ввод");
break;
case 2:
Console.WriteLine("Расчет");
break;
case 3:
Console.WriteLine("Сохранение");
break;
case 4:
Console.WriteLine("выход");
return;
default:
Console.WriteLine("Ошибка");
break;
}
}while(true);