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

Список через классы - найти ошибку в коде

16.03.2015, 15:54. Показов 1087. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Поглядите где накосячено? Никак не пойму, не вводит/выводит.

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
// Определения класса Элемента
        class Element
        {
            public int Value;
            public Element Next;
            public Element( Element next, int value)
            {
                Next = next;
                Value = value;
            }
        }
 
        // Определение класса Списка
        class List
        {
            public Element Head = null;
            public Element Current = null;
            public List() { }
 
            // Вставка первого элемента
            public void Insert_First_Element(int value)
            {
                Element temp = new Element(null, value);
                if (Head == null)
                {
                    Head = temp;
                }
                else
                {
                    temp.Next = Head;
                    Head = temp;
                }
            }
            // Просмотр списка
            public void Show_The_List()
            {
                Console.WriteLine("Вывод списка: ");
                Element temp = Head;
                while(temp != null)
                {
                    Console.Write(temp.Value + "/t");
                    temp = temp.Next;
                }
                Console.WriteLine(" ");
            }
        }
 
        static void Menu()
        {
            // Объявление списка 
            List MyList = new List();
            Console.WriteLine(" 1 - Ввести Элемент ");
            Console.WriteLine(" 2 - Показать список ");
            int MenuItem = Convert.ToInt32(Console.ReadLine());
            switch (MenuItem)
            {
                case 1:
                    Console.WriteLine("Введите элемент :");
                    int val = Convert.ToInt32(Console.ReadLine());
                    MyList.Insert_First_Element(val);
                    Program.Menu();
                    break;
                case 2:
                    MyList.Show_The_List();
                    Program.Menu();
                    break;
                default:
                    Console.WriteLine("Нет такого пункта меню");
                    Program.Menu();
                    break;
            }
        }
 
        static void Main(string[] args)
        {
            Program.Menu();
 
            Console.Read();
        }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.03.2015, 15:54
Ответы с готовыми решениями:

Список (найти ошибку в коде)
Почему компилируется программа? Вот эта функция: List::node* seach(T el) { for(node* p = head->next; p != NULL; p =...

Динамический список строк. Найти ошибку в коде
#include <iostream> #include <list> // подключаем заголовок списка // заголовок итераторов #include <locale> #include...

Исправить ошибку в коде. Дружественные функции и классы, перегрузка операторов
В коде программы есть ошибки, помогите, пожалуйста, их исправить #include "pch.h" #include <iostream> #include <string.h>...

3
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
16.03.2015, 16:00
Лучший ответ Сообщение было отмечено Angelina Jolie как решение

Решение

C#
1
List MyList = new List();
объявите вне метода Menu. Вы же его пересоздаете каждый раз и все данные теряются.
Program.Menu() не нужно 100 раз писать, можно вызвать после switch и все.
p.s цикл имхо в данном случае лучше рекурсии.
1
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
16.03.2015, 16:01
Лучший ответ Сообщение было отмечено Angelina Jolie как решение

Решение

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
        static void Menu()
        {
            // Объявление списка 
            List MyList = new List();
            while(true)
            {
                Console.WriteLine(" 1 - Ввести Элемент ");
                Console.WriteLine(" 2 - Показать список ");
                int MenuItem = Convert.ToInt32(Console.ReadLine());
                switch (MenuItem)
                {
                    case 1:
                        Console.WriteLine("Введите элемент :");
                        int val = Convert.ToInt32(Console.ReadLine());
                        MyList.Insert_First_Element(val);
                        break;
                    case 2:
                        MyList.Show_The_List();
                        break;
                    default:
                        Console.WriteLine("Нет такого пункта меню");
                         break;
                }
            }
        }
1
 Аватар для Angelina Jolie
0 / 0 / 3
Регистрация: 07.02.2015
Сообщений: 153
16.03.2015, 16:03  [ТС]
Цитата Сообщение от tarasalk Посмотреть сообщение
C#
1
List MyList = new List();
объявите вне метода Menu. Вы же его пересоздаете каждый раз и все данные теряются.
Program.Menu() не нужно 100 раз писать, можно вызвать после switch и все.
p.s цикл имхо в данном случае лучше рекурсии.
Рекурсия для меня - больное) сую где можно и нельзя)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.03.2015, 16:03
Помогаю со студенческими работами здесь

Список в списке - исправить ошибку в коде
Проблема: При заполнении внутреннего списка ругается на "p->prev2->next=p->p2;" Что я делаю не так? struct list{ char aa; ...

Двумерный массив. Поиск нулей.Не могу найти ошибку ошибку в коде
Вот,например массив 5 5 0 1 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 считываются два числа m и n и далее в выходной...

Найти и исправить ошибки в коде (классы)
Помогите разобраться где ошибка #include <iostream> #include <conio.h> #include <windows.h> #include <stdlib.h> ...

Шаблонные классы: найти и исправить ошибки в коде
Разбираюсь тут с шаблонами, вроде сделал все как в работающей программе, но не компилируется #include "stdafx.h" #include...

Классы. Найти ошибку
Подскажите где напортачил. (интерпретатор Hugs 98) > class MyT a where > qq :: a -> Bool > f2 :: (MyT a) => a...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru