Создание меню в консоли через 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д