Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 20.04.2016
Сообщений: 10

Написать программу с меню

26.05.2016, 17:22. Показов 882. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем то я написал программу, которая реализует преобразование введенных цифр в неубывающую последовательность, теперь мне нужна помощь с созданием и вставкой меню в данную программу.
КОД
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
namespace Задание_1
{
    class Program
    {
        static void Main(string[] args)
        {
            
            int z, q;
            string y;
            Console.WriteLine("Введите количество натуральных чисел");           
            q = Convert.ToInt32(Console.ReadLine());    
            for (int v = 0; v < q; v++)     
            {
                Console.WriteLine("Введите натуральное число");    
                y = Convert.ToString(Console.ReadLine());
                z = y.Length;
                char[] x = new char[z];                            
                for (int b = 0; b < z; b++)                       
                {
                    x[b] = Convert.ToChar(y[b]);
                }
                Array.Sort(x);                                     
                Console.WriteLine("Полученное число:");
                for (int i = 0; i < x.Length; i++)                
                {
                    Console.Write("" + x[i]);
                }
                Console.WriteLine();
            }
        }
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.05.2016, 17:22
Ответы с готовыми решениями:

Построить алгоритм, написать и отладить соответствующую ему программу с двухуровневым меню
Написал программу, выдает ошибку в этом участке кода case 2: while (m1 &lt; m2 &amp;&amp; v1 &lt; v2) ...

Написать программу, которая выводит на экран меню и может обрабатывать ввод и вывод
Всем привет ! Учусь в швеции на шведском языке ! Дали задание написать программу, которая выводит на экран меню и может обрабатывать ввод и...

Написать программу, меню использующую оператор выбора
Помогите написать программу меню использующую оператор выбора.

8
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
26.05.2016, 18:33
Меню в консольном приложении
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
    class Program
    {
        delegate void method();
        static void Main(string[] args)
        {
 
            string[] items = { "Действие 1", "Действие 2", "Действие 3", "Выход" };
            method[] methods = new method[] { Method1, Method2, Method3, Exit };
            ConsoleMenu menu = new ConsoleMenu(items);
            int menuResult;
            do
            {
                menuResult = menu.PrintMenu();
                methods[menuResult]();
                Console.WriteLine("Для продолжения нажмите любую клавишу");
                Console.ReadKey();
            } while (menuResult != items.Length - 1);
        }
 
        static void Method1()
        {
            Console.WriteLine("Выбрано действие 1");
        }
        static void Method2()
        {
            Console.WriteLine("Выбрано действие 2");
        }
        static void Method3()
        {
            Console.WriteLine("Выбрано действие 3");
        }
        static void Exit()
        {
            Console.WriteLine("Приложение заканчивает работу!");
        }
    }
 
 
    class ConsoleMenu
    {
        string[] menuItems;
        int counter = 0;
        public ConsoleMenu(string[] menuItems)
        {
            this.menuItems = menuItems;
        }
 
        public int PrintMenu()
        {
            ConsoleKeyInfo key;
            do
            {
                Console.Clear();
                for (int i = 0; i < menuItems.Length; i++)
                {
                    if (counter == i)
                    {
                        Console.BackgroundColor = ConsoleColor.Cyan;
                        Console.ForegroundColor = ConsoleColor.Black;
                        Console.WriteLine(menuItems[i]);
                        Console.BackgroundColor = ConsoleColor.Black;
                        Console.ForegroundColor = ConsoleColor.White;
                    }
                    else
                        Console.WriteLine(menuItems[i]);
 
                }
                key = Console.ReadKey();
                if (key.Key == ConsoleKey.UpArrow)
                {
                    counter--;
                    if (counter == -1) counter = menuItems.Length - 1;
                }
                if (key.Key == ConsoleKey.DownArrow)
                {
                    counter++;
                    if (counter == menuItems.Length) counter = 0;
                }
            }
            while (key.Key != ConsoleKey.Enter);
            return counter;
        }
    }
0
0 / 0 / 0
Регистрация: 20.04.2016
Сообщений: 10
26.05.2016, 19:18  [ТС]
Как-то вообще не понятно, можно ли как то проще с выбором через ввод цифры и сразу с моей программой?
0
 Аватар для NetFR
46 / 46 / 32
Регистрация: 10.05.2013
Сообщений: 180
26.05.2016, 19:33
Используйте switch - case.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Console.WriteLine("Menu\n1: Value\n2: Value");
Console.Write("Enter your selection: ");
string str = Console.ReadLine();
switch (str)
{
    case "1":
       Some actions
       break;
    case "2":
       Some actions
       break;
    default:
       Console.WriteLine("Invalid selection. Please select 1, 2, or 3.");
       break;
}
0
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
26.05.2016, 19:33
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 class Program
    {
        static void Main(string[] args)
        {
              List<string> menu = new List<string>();
            while (true)
            {
                Console.Clear();
                Console.WriteLine("Здравствуйте в моей программе!");
                Console.WriteLine("[1]Меню 1");
                Console.WriteLine("[2]Меню 2");
                Console.WriteLine("[3]Все очисть");
                Console.WriteLine("[4]Конец.");
   
 
                int Val = Convert.ToInt32(Console.ReadLine());
 
                switch (Val)
                {
                    case 1:
                        Console.WriteLine("Меню 1");
                        menu.Add(Console.ReadLine());
                        break;
 
                    case 2:
                        Console.WriteLine("Меню 2");
                        menu.Add(Console.ReadLine());
                        break;
 
                    case 3:
                        menu.Clear();
                        break;
 
                    case 4:
                        return;
                }
            }
         }
    }
0
0 / 0 / 0
Регистрация: 20.04.2016
Сообщений: 10
26.05.2016, 20:09  [ТС]
NetFR, если бы я смог вставить его в исходный, то не просил бы помощи
0
1498 / 1213 / 821
Регистрация: 29.02.2016
Сообщений: 3,631
26.05.2016, 20:31
Уроки по c#
http://www.programbeginner.ru/?p=370
0
0 / 0 / 0
Регистрация: 20.04.2016
Сообщений: 10
26.05.2016, 20:36  [ТС]
Спасибо, но увы, времени нет в данный момент изучать сейчас данный материал
0
 Аватар для NetFR
46 / 46 / 32
Регистрация: 10.05.2013
Сообщений: 180
26.05.2016, 21:39
Окей.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
static void Main(string[] args) {
    Console.WriteLine("Menu\n1: Преобразование\n2: Выход");
    while (true) {
    Console.Write("Ваш выбор: ");
    string str = Console.ReadLine();
    switch (str) {
       case "1":
         Process();
         break;
       case "2":
         return;
       default:
         Console.WriteLine("Неверный формат.");
         break;
    }
}
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
private static void Process() {
    int z, q; string y;
    Console.Write("Введите количество натуральных чисел: ");
    q = Convert.ToInt32(Console.ReadLine());
    for (int v = 0; v < q; v++) {
         Console.Write("Введите натуральное число: ");
         y = Convert.ToString(Console.ReadLine());
         z = y.Length;
         char[] x = new char[z];
         for (int b = 0; b < z; b++) {
              x[b] = Convert.ToChar(y[b]);
         }
         Array.Sort(x);
         Console.Write("Полученное число: ");
         for (int i = 0; i < x.Length; i++) {
              Console.Write("" + x[i]);
         }
         Console.WriteLine();
     }
}
Так вас устроит?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.05.2016, 21:39
Помогаю со студенческими работами здесь

Написать программу, вызывающую через меню другие програмы.
Меню 1.Калькулятор 2.Редактор Реестра 3.Командная строка Выбрали например в меню launchera: Калькулятор и чтобы кнопка запустила...

Написать программу, которая выводит на экран меню кафе
задача: 1. Описать структуру (запись - record) согласно заданию, определить типы данных полей. 2. Описать массив записей....

Написать программу, навигацию по меню которой осуществить с помощью switch
кто поможет с этим (всё в скриншоте)?

Написать программу сортировки двумерного массив и разбить её на функции по пунктам меню
Мальчикии ,помогите и желательно поясните ,нужно написать программу,которая сортирует двумерный массив и разбить её на функции по пунктам...

Написать программу обработки файла типа запись, содержащую следующие пункты меню:
Различные цеха завода выпускают продукцию нескольких наиме¬нований. Сведения о выпущенной продукции включают: - наименование; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru