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

Разработать меню программы «Сборка ПК», и организовать ее отображение в консоли

01.05.2012, 13:11. Показов 2501. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди помогите сделать меню программы чтоб когда на(1)
1. Сборка ПК
2. Проверка работоспособности ПК
он переходил вот сюда
1. Добавить устройство
2. Удалить устройство
3. Заменить устройство
4. Проверка мощности
5. Сведения о ПК
6. Назад
(или люди намекнике как сделать переход по цифрам)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.05.2012, 13:11
Ответы с готовыми решениями:

Организовать ,что при нажатии Enter входит в меню , а при нажатии Esc выходит с программы
Вот кусочек курсовой , помогите организовать такую вещь как при нажатии Enter входит в меню , а при нажатии Esc выходит с программы.Если...

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

Организовать передвижение персонажа в консоли
Visual c++ 6.0 Нужно организовать по нажатию клавишь wasd перемещение по оси x и y. Функция перемещения курсора у меня уже написана, как...

16
212 / 214 / 44
Регистрация: 20.12.2011
Сообщений: 635
01.05.2012, 13:22
есть метод Console.ReadKey(true);
true передаёшь для пущей красоты, тогда символ клавиши не будет отображаться в консоли
в цикле выводишь меню, ловишь нажатие клавиши этим методом.
если поймана та клавиша, которая тебе нужна для нового меню, запускаешь новый цикл с выводом нового меню и новым отловом клавиши. как только нажата клавиша выхода из этого меню, прерываешь цикл.
надеюсь более менее понятно изложил.
пример кода:
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
while(true)
{
Console.WriteLine("1 - Сборка ПК");
Console.WriteLine("2 - Проверка Работоспособности");
Console.WriteLine("0 - Выход");
ConsoleKeyInfo ch = new ConsoleKeyInfo();
ch = Console.ReadKey(true);
Console.Clear();
switch (ch.KeyChar)
{
   case '1':
   while(ch.KeyChar!='6')
   {
   //Выводишь своё меню
      ch=Console.Readkey(true);
      switch(ch.KeyChar)
      {
         //обработка своих пунктов
      }
   }
   break;
   case '2': break;
   case '0': return;
}
}
что-то вроде этого
0
Заблокирован
01.05.2012, 13:41  [ТС]
спасибо а можете подсказаьть на на цифру ноль прописать выход и назад

Добавлено через 5 минут
Fler, можеш помочь
0
212 / 214 / 44
Регистрация: 20.12.2011
Сообщений: 635
01.05.2012, 13:50
не совсем уловил что конкретно ты хочешь
дай мне полное меню своё, набросаю побыстрому
0
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 6
01.05.2012, 14:36
Fler, см. вложение
Вложения
Тип файла: doc Задание10.doc (45.5 Кб, 22 просмотров)
0
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
01.05.2012, 16:09
Что бы по нулю выходить из программы, в метод MAIN обрабатываем ввод команды(у тебя будет в switch'e):
C#
1
2
if (comand == "0")
   return;
А, ну так выше написали:
Цитата Сообщение от Fler Посмотреть сообщение
C#
1
case '0': return;
1
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 6
01.05.2012, 16:14
а чтоб назад сделать

Добавлено через 13 секунд
DimanRu,
0
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
01.05.2012, 16:40
С "назад" делаем так:
C#
1
2
if (comand == "номер_пункта_назад")
    MenuHead(); //Пункт "Меню"
Только у вас в свиче, забываю)

C#
1
case 'номер_пункта_назад': MenuHead(); break;
Щас напишу все!

Добавлено через 24 минуты
Ну получилось вот так:
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
using System;
 
namespace Computer
{
    class Program
    {
        static void Main(string[] args)
        {
            MenuHead();
        }
 
        public static void MenuHead() //ГЛАВНОЕ МЕНЮ
        {
            Console.Clear();
            Console.Write("### ГЛАВНОЕ МЕНЮ ###\n" +
                          "1. Сборка ПК\n" +
                          "2. Проверка работоспособности ПК\n" +
                          "3. Включение компьютера\n" +
                          "4. Сведения о ПК\n" +
                          "5. Выход\n" +
                          "####################\n" +
                          "Ваша команда: ");
 
            byte comand = byte.Parse(Console.ReadLine());
 
            switch (comand)
            {
                case 1: MenuBuild();  break;
                case 2: break;
                case 3: MenuStart(); break;
                case 4: break;
                case 0: case 5: return;
            }
        }
 
        public static void MenuBuild() //МЕНЮ СБОРКИ
        {
            Console.Clear();
            Console.Write("### МЕНЮ СБОРКИ ###\n" +
                          "1. Добавить устройство\n" +
                          "2. Удалить устройством\n" +
                          "3. Заменить устройство\n" +
                          "4. Проверка мощности\n" +
                          "5. Сведения о ПК\n" +
                          "6. Назад\n" + 
                          "####################\n" +
                          "Ваша команда: ");
 
            byte comand = byte.Parse(Console.ReadLine());
 
            switch (comand)
            {
                case 1: case 2: case 3: MenuComponents(/*int type_menu*/); break; //Я так и не понял что должен принимать метод MenuComponents();
                case 4: break;
                case 5: break;
                case 0: return;
                case 6: MenuHead(); break;
            }
        }
 
        public static void MenuComponents(int type_menu) //МЕНЮ КОМПОНЕНТОВ
        {
            Console.Clear();
            Console.Write("### МЕНЮ КОМПОНЕНТОВ ###\n" +
                          "1. Материнская плата\n" +
                          "2. Процессор\n" +
                          "3. Оперативная память\n" +
                          "4. Видеокарта\n" +
                          "5. Жесткий диск\n" +
                          "6. Блок питания\n" +
                          "7. Назад\n" +
                          "####################\n" +
                          "Ваша команда: ");
 
            byte comand = byte.Parse(Console.ReadLine());
 
            switch (comand)
            {
                case 1: case 2: case 3: case 4: case 5: case 6: /*Метод обзора устройства*/ break;
                case 0: return;
                case 7: MenuHead(); break;
            }
        }
 
        public static void MenuStart() //МЕНЮ ЗАПУСКА
        {
            Console.Clear();
            Console.Write("### МЕНЮ ЗАПУСКА ###\n" +
                          "1. Запустить ОС\n" +
                          "2. Установить ОС\n" +
                          "3. Удалить ОС\n" +
                          "4. Версия ОС\n" +
                          "5. Назад\n" +
                          "####################\n" +
                          "Ваша команда: ");
 
            byte comand = byte.Parse(Console.ReadLine());
 
            switch (comand)
            {
                case 1: case 2: case 3: case 4: /*Методы ОС*/break;
                case 5: MenuHead(); break;
                case 0: return;
            }
        }
    }
}
Только я не понял что принимает метод Компонентов.
0
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 6
01.05.2012, 16:42
DimanRu, метод Компонентов не чего не принмает это последния функция

Добавлено через 22 секунды
DimanRu, спасибо большое
0
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
01.05.2012, 16:43
Цитата Сообщение от Romka1999 Посмотреть сообщение
DimanRu, метод Компонентов не чего не принмает это последния функция
Как же, вот:
C#
1
public static void MenuComponents(int type_menu)//Принимает число!
0
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 6
01.05.2012, 16:49
C#
1
public static void MenuComponents(int type_menu)
он будет смотреть подходит оперативная память к материнки или видео карте
0
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
01.05.2012, 16:50
Все равно не понимаю)) Ну ладно, дальше сам;-) Если что - спросишь!
2
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 6
01.05.2012, 17:01
DimanRu,
C#
1
2
3
4
5
6
7
case 1: MenuComponents(); break;
                case 2:
                case 3: MenuComponents(/*int type_menu*/); break;
                case 4: break;
                case 5: break;
                case 0: return;
                case 6: MenuHead(); break;

1: MenuComponents(); break;
когда нижамаю он не переходит в MenuComponents а вылетает

Добавлено через 6 минут
с MenuBuild цифры 1. 2. и 3. должен переходить в MenuComponents
а
он не пеходит
0
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
01.05.2012, 17:04
Вот код:
C#
1
2
3
4
5
6
7
8
switch (comand)
{
    case 1: case 2: case 3: MenuComponents(/*int type_menu*/); break;
    case 4: break;
    case 5: break;
    case 0: return;
    case 6: MenuHead(); break;
}
Вылетает, потому что ты ничего не посылаешь в MenuComponents(); а я не знаю что туда нужно посылать, попробуй так:
C#
1
2
3
4
5
6
7
8
switch (comand)
{
    case 1: case 2: case 3: MenuComponents(comand); break;
    case 4: break;
    case 5: break;
    case 0: return;
    case 6: MenuHead(); break;
}
2
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 6
01.05.2012, 17:07
DimanRu, а все спасибо большое за все я сам разобрался

Добавлено через 37 секунд
DimanRu, не я другое спрашивал ну я все заробрался
0
Заблокирован
01.05.2012, 17:19  [ТС]
DimanRu, а можеш подсказать где есть уроки по форме
0
 Аватар для DimanRu
721 / 712 / 168
Регистрация: 15.06.2011
Сообщений: 1,704
01.05.2012, 17:35
Хм... нет, почитайте тут. Лично я прочитал книгу(в файлах) попалась она мне как то давно, и приступил к практике, опираясь на этот форум.
Вложения
Тип файла: rar С# для школьников.rar (7.53 Мб, 13 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.05.2012, 17:35
Помогаю со студенческими работами здесь

Организовать ввод аргументов с консоли
(defun integers (w) (mapcar #'integerp w)) > (integers '(1 2 3 a a 2.3 4 5.6)) (T T T NIL NIL NIL T NIL) Как для этой...

Программы + меню ( надо 2 программы написать с меню вместе )
Ребята есть проблема, что бы в задании выдавало определенное решение то есть, надо что бы решение было через средние выбрал их и ответ,...

Зациклить и организовать диалог с пользователем в консоли
Добрый день, утро, вечер.Подскажите как зациклить или сделать диалог с пользователем в следующей программе. Все это написано в кансольке...

Организовать цикл без закрытия консоли
Здравствуйте! Подскажите, пожалуйста: программа выводит целое число соответствующее введенному символу. После чего повторное нажатие...

Как организовать ввод в 2 вектора с консоли
Задание: В консоли,в одну строку вводятся через пробелы значения типа integer, надо занести их в 2 вектора. Количество значений в 1-м и...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
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 На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru