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

Программа выводит объекты сама по себе (через ожидание ввода)

25.03.2016, 15:18. Показов 1337. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Основная часть программы ниже... Я могу убрать метод ShowResult() - результат будет тем же, программа будет выводить объекты из массива по 2, ожидая нажатия ввода. Результат также привожу внизу. В дебаггине я не знаю, где она начинает этот самостоятельный вывод.

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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Ferry
{
    class Program
    {
        static void Main()
        {
            CrewOnBoard[] crewOnBoard =
                {
                    new CrewOnBoard(85, "Captain America"),
                    new CrewOnBoard(110, "Arnold Schwarznegger"),
                    new CrewOnBoard(75, "Superman"),
                    new CrewOnBoard(70.5, "John Silver")
                };
 
            PassengersOnBoard[] passengersOnBoard =
                {
                    new PassengersOnBoard(55, "Angelina Jollie", 18),
                    new PassengersOnBoard(48, "Harry Potter", 14),
                    new PassengersOnBoard(50, "Rachel", 22),
                    new PassengersOnBoard(45, "Rapuntsel", 16),
                    new PassengersOnBoard(65, "Kira Nightly", 18),
                    new PassengersOnBoard(75, "Di Caprio", 20) 
                };
 
            HumansOnBoard[] humansOnBoard;
            List<HumansOnBoard> temp = ((HumansOnBoard[])crewOnBoard).ToList();
            temp.AddRange(((HumansOnBoard[])passengersOnBoard).ToList());
            humansOnBoard = temp.ToArray();
 
            ContainerCargo[] containerCargoes =
                {
                    new ContainerCargo(new ContainerLoad("Coal", 1500, LoadType.Solid)),
                    new ContainerCargo(new ContainerLoad("Sand", 2000, LoadType.Solid)),
                    new ContainerCargo(new ContainerLoad("Concrete", 2500, LoadType.Solid)), 
                };
 
            DeckCargo[] deckCargoes =
                {
                    new DeckCargo(1100, "Ferrari"),
                    new DeckCargo(1050, "Murcielago"),
                    new DeckCargo(1000, "Trabant"),
                    new DeckCargo(1700, "Roadster"),
                    new DeckCargo(1150, "Dacia"),
                    new DeckCargo(3000, "Belarus"),
                    new DeckCargo(1120, "Renault")
                    //,new DeckCargo(40000, "Belaz")
                };
 
            TankCargo[] tankCargoes =
                {
                    new TankCargo(new TankLoad("C2H5OH", 800, LoadType.Liquid)),
                    new TankCargo(new TankLoad("Rum", 850, LoadType.Liquid)),
                    new TankCargo(new TankLoad("Wine", 900, LoadType.Liquid)),
                    new TankCargo(new TankLoad("Oil", 820, LoadType.Liquid)) 
                };
 
            Cargo[] cargoes;
            List<Cargo> tempCargoes = ((Cargo[])containerCargoes).ToList();
            tempCargoes.AddRange(((Cargo[])deckCargoes).ToList());
            tempCargoes.AddRange(((Cargo[])tankCargoes).ToList());
            cargoes = tempCargoes.ToArray();
 
            Ferry ferry=new Ferry(humansOnBoard, cargoes);
            //ferry.ShowResult();
        }
    }
}
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Ferry
{
    class Ferry
    {
        public const double Shipment = 100000;
        private IWeightable[] totalLoaders;
 
        public Ferry(HumansOnBoard[] humansOnBoard, Cargo[] cargoes)
        {
            List<IWeightable> temp = ((IWeightable[])humansOnBoard).ToList();
            temp.AddRange(((IWeightable[])cargoes).ToList());
            totalLoaders = temp.ToArray();
            ShuffleArray();
 
        }
 
        private void ShuffleArray()
        {
            Random random=new Random();
            int toSwap;
            for (int i = 0; i < totalLoaders.Length/2; i++)
            {
                toSwap = random.Next(0, totalLoaders.Length);
                if(i!=toSwap)
                    SwapArrayMembers(i, toSwap);
            }
        }
 
        private void SwapArrayMembers(int index1, int index2)
        {
            IWeightable temp = totalLoaders[index1];
            totalLoaders[index1] = totalLoaders[index2];
            totalLoaders[index2] = temp;
        }
 
        public void ShowResult()
        {
            /*foreach (var totalLoader in totalLoaders)
            {
                Console.WriteLine(totalLoader);
            }*/
 
            for (int i = 0; i < totalLoaders.Length; i++)
            {
                Console.Write(i+" heh");
            }
            
        }
    }
}
Кликните здесь для просмотра всего текста

Ferry.PassengersOnBoard

Ferry.TankCargo
Ferry.ContainerCargo

Ferry.PassengersOnBoard
Ferry.PassengersOnBoard

Ferry.ContainerCargo
Ferry.TankCargo

Ferry.DeckCargo
Ferry.PassengersOnBoard

Ferry.PassengersOnBoard
Ferry.CrewOnBoard

Ferry.DeckCargo
Ferry.CrewOnBoard

Ferry.DeckCargo
Ferry.DeckCargo

Ferry.ContainerCargo
Ferry.DeckCargo

Ferry.DeckCargo
Ferry.CrewOnBoard

Ferry.DeckCargo
Ferry.CrewOnBoard

Ferry.TankCargo
Ferry.TankCargo

Ferry.PassengersOnBoard
Для продолжения нажмите любую клавишу . . .
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.03.2016, 15:18
Ответы с готовыми решениями:

Сделать, чтобы программа сама себе перезапускала
Собственно как сделать, чтобы прога сама себя перезапускала, либо при возникновении ошибки, либо через определенное время. Допустим раз в...

Программа удаляется сама по себе
Здравствуйте, у меня такая проблема. Установил на свой стационарный компьютер windows server 2008, для удаленной работы, т.к. некоторые...

что написать чтобы программа сама по себе попала в boot/root?
что можно написать или сделать что прога сама по себе попала после загрузки в рут?или бут не помню...чтоб сама по себе открывалась и начала...

5
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
25.03.2016, 15:43
Лучший ответ Сообщение было отмечено baliar как решение

Решение

В приведённом коде кроме ShowResult более нету вывода в консоль, так что или в этом проблема или ест ьещё что-то "скрытое"
0
112 / 83 / 32
Регистрация: 10.08.2014
Сообщений: 420
25.03.2016, 15:44  [ТС]
Да лучше я сразу проект выложу - иначе, думаю, застряну с этим. Хотел протестировать прежде чем продолжать - и вот...

Сначала создавал в 2012, потом в 2010 доделывал, но это же никак не должно вызывать такие "эффекты".
Вложения
Тип файла: zip Ferry.zip (57.4 Кб, 2 просмотров)
0
112 / 83 / 32
Регистрация: 10.08.2014
Сообщений: 420
25.03.2016, 16:00  [ТС]
А исключение выполнения может выводить объекты как малоинформативные сообщения об ошибках?
Может это какие-то исключения?

Добавлено через 3 минуты
Попробую построить проект с нуля... не нравится мне это.
0
 Аватар для Tsin
1180 / 488 / 188
Регистрация: 30.12.2012
Сообщений: 1,278
Записей в блоге: 2
25.03.2016, 16:02
Лучший ответ Сообщение было отмечено baliar как решение

Решение

baliar, у вас как-то странно сконфигурирован солюшн.
1) Удалите из папки проекта подпапки Debug и Release
2) Зайдите к Solution -> Properties -> Configuration Properties и убедитесь, что у вас выбран проект Ferry и стоит галочка Build
3) Сбилдите и запустите.
0
112 / 83 / 32
Регистрация: 10.08.2014
Сообщений: 420
25.03.2016, 16:58  [ТС]
Полностью перестроил проект вручную, копипастом - полёт нормальный... А ведь придётся и в будущем начинать проекты на ноуте с 2012 ((.

Всем спасибо за отклики.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.03.2016, 16:58
Помогаю со студенческими работами здесь

Помогите поставить ограничение на ввод,чтобы программа не выскакивала сама по себе при вводе больших чисел
Помогите поставить ограничение на ввод,чтобы программа не выскакивала сама по себе при вводе больших чисел,а выводила некоректный ввод...

Программа противоречит сама себе. Сначала просит поставить точку с запятой, потом просит ее же убрать
var input, output:text; k,s:string; c,q,i,x:integer; n:char; begin assign(input,'input1.txt'); reset(input); assign...

Ведется набор цифр и надо чтобы программа из него сама сообразило число. То есть что бы программа сама раскидывала их по разрядам.
Люди добрые, только начинаю программировать, пытаюсь освоить не очень простой язык С++. Есть такая задачка... Ведется набор цифр и надо...

Программа запускается и закрывается сама через 1 сек
Здравствуйте. Купил обучающий курс, который зашифрован. Проблема в том, что программа открывается максимум на 1 секунду и сразу же...

Форма не передает данные сама себе
есть скрипт где создается форма для ввода пары логин\пароль. тут же есть обработчик для введенных данных: &lt;?php // подключаю...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru