Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
 Аватар для Iangyl
32 / 34 / 21
Регистрация: 31.03.2018
Сообщений: 495

Исправить вывод информации

23.11.2018, 18:24. Показов 773. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер!
Я работал над своей практической работой и у меня поломался вывод информации(в логическом смысле - то есть выводит не то, что предусматривалось программой). Хотя до этого работал, и работал нормально(я заметил эту проблему после того как попытался вывести этот участок кода в отдельную ф-цию(предусматривалось многократное использование в коде)).
Я ничего не понял, что произошло и "почему?".
В чем суть этой поломки? - а вот в чём:
Я ввожу допустим инфу про два объекта, а оно запоминает только последний и перезаписывает первый, в итоге выводит два блока с одинаковой инфой.
Как я предполагаю проблемы со вторым case, + не выводит firstName.
Код здесь:
Кликните здесь для просмотра всего текста

Код созданного класса:
Кликните здесь для просмотра всего текста
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace II33Bar
{
    public class Student
    {
        private string FirstName; //{ get => FirstName; set => FirstName = value; }
        private string SecondName { get; set; }
        private string FatherName { get; set; }
        private string Sex { get; set; }
        private int Course { get; set; }
        private string Group { get; set; }
        private int Grade { get; set; }
 
 
 
        public string firstName { get; set; }
        public string secondName { get; set; }
        public string fatherName { get; set; }
        public string sex { get; set; }
        public int course { get; set; }
        public string group { get; set; }
        public int grade { get; set; }
 
        public Student(string firstName, string secondName, string fatherName, string sex, int course, string group, int grade)
        {
            this.firstName = firstName;
            this.secondName = secondName;
            this.fatherName = fatherName;
            this.sex = sex;
            this.course = course;
            this.group = group;
            this.grade = grade;
        }
 
 
    }
 
}

Код программы:
Кликните здесь для просмотра всего текста
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace II33Bar
{
    class Program
    {
        static void Main(string[] args)
        {
            List <Student> allstudents = new List<Student>();
            
            string temp = " ";
            //choise = Convert.ToInt32(Console.ReadLine());
          
            int choise = 0;
 
            bool enterOrEsc = true;
 
 
 
            do
            {
                Console.WriteLine("Hi! Welcome in public account DEKANAT");
                Console.WriteLine("What do you want to do?");
                Console.WriteLine("1. Add information.");
                Console.WriteLine("2. Show information.");
                Console.WriteLine("3. Delete information.");
                Console.WriteLine("4. Change information.");
                Console.WriteLine("5. Search.");
                Console.WriteLine("6. Exit.");
                Console.Write("Enter number of your choise: ");
                choise = Checking(temp, choise);
                switch (choise)
                {
                    case 1:
 
                        //adding information
                        Student _student = new Student("firstName", "secondName", "fatherName", "sex", 3, "group", 5);
                        while (true)
                        {
                            Console.WriteLine("Add information about student ");
                            Console.Write("Enter first name (Empty - Exit): ");
                            _student.firstName = Console.ReadLine();
                            if (string.IsNullOrWhiteSpace(_student.firstName)) break;
                            Console.Write("Enter second name: ");
                            _student.secondName = Console.ReadLine();
                            Console.Write("Enter father name: ");
                            _student.fatherName = Console.ReadLine();
                            Console.Write("Enter sex: ");
                            _student.sex = Console.ReadLine();
                            Console.Write("Enter course: ");
                            _student.course = Convert.ToInt32(Console.ReadLine());
                            Console.Write("Enter group: ");
                            _student.firstName = Console.ReadLine();
                            Console.Write("Enter grade: ");
                            _student.group = Console.ReadLine();
                            allstudents.Add(_student);
                        }
                        // entering information
 
                        break;
 
                    case 2:
                        if (allstudents.Count() == 0) Console.WriteLine("There are no information -__(*_*)__- ");
                        Console.WriteLine();
                        int numerator = 0;
                        foreach (Student student in allstudents)
                        {
                            numerator++;
                            Console.WriteLine("№" + numerator);
                            Console.WriteLine(student.firstName);
                            Console.WriteLine(student.secondName);
                            Console.WriteLine(student.fatherName);
                            Console.WriteLine(student.sex);
                            Console.WriteLine(student.course);
                            Console.WriteLine(student.group);
                            Console.WriteLine(student.grade);
                        }
                        //Show(allstudents);
                        break;
                    case 3:
                        Console.Write("Which information you want to delete? Write number, please: ");
                        int _delete = Int32.Parse(Console.ReadLine());
                        allstudents.RemoveAt(_delete - 1);
 
                        break;
                    case 4:
                        Console.WriteLine("What block with information you want to change?");
                        Console.Write("Enter the number, please:");
                        choise = Checking(temp, choise);
                        Console.Write("First name: ");
                        allstudents[choise - 1].firstName = Console.ReadLine();
                        Console.Write("Second name: ");
                        allstudents[choise - 1].secondName = Console.ReadLine();
                        Console.Write("Father name: ");
                        allstudents[choise - 1].fatherName = Console.ReadLine();
                        Console.Write("Sex: ");
                        allstudents[choise - 1].sex = Console.ReadLine();
                        Console.Write("Course: ");
                        allstudents[choise - 1].course = Int32.Parse(Console.ReadLine());
                        Console.Write("Group: ");
                        allstudents[choise - 1].group = Console.ReadLine();
                        Console.Write("Grade: ");
                        allstudents[choise - 1].grade = Int32.Parse(Console.ReadLine());
                        break;
                    case 5:
                        Console.WriteLine("Search is realized by three parameters: First name, course and group.");
                        for(int x = 0; x < allstudents.Count(); x++)
                        {
 
                        }
                        break;
                    case 6:
                        Environment.Exit(0);
                        break;
                }
                Console.WriteLine("Do you want to continue?(Press enter - continue, Esc - exit)");
                var enteroresc = Console.ReadKey();
                if (enteroresc.Key == ConsoleKey.Enter) enterOrEsc = true;
                else if (enteroresc.Key == ConsoleKey.Escape) break;
            } while (enterOrEsc == true);
            
 
           
 
           
            
 
            Console.WriteLine("");
 
        }
 
        static int Checking(string any_str, int any_number)
        {
            for(; ; )
            {
                any_str = Console.ReadLine();
                if (Int32.TryParse(any_str, out any_number))
                {
                    break;
                }
                else
                {
                    Console.WriteLine("Error! Please, try again: ");
                }
            }
            return any_number;
        }
        
        //static void Show (List<Student> array)
        //{
        //    int numerator = 0;
        //    foreach (Student student in array)
        //    {
        //        numerator++;
        //        Console.WriteLine("№" + numerator);
        //        Console.WriteLine(student.firstName);
        //        Console.WriteLine(student.secondName);
        //        Console.WriteLine(student.fatherName);
        //        Console.WriteLine(student.sex);
        //        Console.WriteLine(student.course);
        //        Console.WriteLine(student.group);
        //        Console.WriteLine(student.grade);
        //    }
        //}
    }
}

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.11.2018, 18:24
Ответы с готовыми решениями:

Вывод информации из потока
Привет всем ! Есть поток public Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); ...

Вывод информации в Excel
Сделал вывод информации в Excel. Время от времени по непонятным мне причинам выскакивает ошибка, изображённая на рисунке во вложении. ...

Вывод информации с сайта
Вывод информации с сайта мне нужно в гаджет на раб столе вывести значение с сайта к примеру количество непрочитанных сообщений на...

2
228 / 165 / 110
Регистрация: 09.11.2015
Сообщений: 454
23.11.2018, 18:37
Iangyl, класс - ссылочный тип. Вы каждый раз передаете ссылку на один и тот же объект, поэтому элементы листа всегда будут одинаковы.
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
case 1:
 
                        //adding information
                        Student _student;// = new Student("firstName", "secondName", "fatherName", "sex", 3, "group", 5);
                        while (true)
                        {
                            Console.WriteLine("Add information about student ");
                            Console.Write("Enter first name (Empty - Exit): ");
                            string firstName = Console.ReadLine();                            
                            if (string.IsNullOrWhiteSpace(firstName)) break;
                            
                            _student = new Student("firstName", "secondName", "fatherName", "sex", 3, "group", 5);
                            _student.firstName = firstName;
                            Console.Write("Enter second name: ");
                            _student.secondName = Console.ReadLine();
                            Console.Write("Enter father name: ");
                            _student.fatherName = Console.ReadLine();
                            Console.Write("Enter sex: ");
                            _student.sex = Console.ReadLine();
                            Console.Write("Enter course: ");
                            _student.course = Convert.ToInt32(Console.ReadLine());
                            Console.Write("Enter group: ");
                            _student.firstName = Console.ReadLine();
                            Console.Write("Enter grade: ");
                            _student.group = Console.ReadLine();
                            allstudents.Add(_student);
                        }
                        // entering information
 
                        break;
Объявите в классе конструктор без параметров и вызывайте его. Все-равно информацию заносите через свойства
0
 Аватар для Iangyl
32 / 34 / 21
Регистрация: 31.03.2018
Сообщений: 495
23.11.2018, 22:55  [ТС]
Ellizio, не помогло - те же результаты.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.11.2018, 22:55
Помогаю со студенческими работами здесь

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

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

Вывод информации объекта массива
Кратко: Даны такие вот классы: abstract class Edition : IComparable&lt;Edition&gt; { public string Name { get; set; } ...

Вывод информации в текстовый файл
Здравствуйте, есть задача, нужно написать программу, которая вводит в файл *.txt данные о : - работнике - отделе в котором он...

Вывод информации на экран до входа в Windows
Доброго всем времени суток ! Подскажите как вывести текстовую информацию на экран входа в операционную систему (предполагается что...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. fontSize": 18, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations":. . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru