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

Ввод в программу большого количества констант

12.03.2015, 23:34. Показов 1555. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В программе задается несколько десятков полиномов 3-4й степени вида f(x)=Ах4+Вх3+Сх2+Dх+Е. Соответственно для каждого полинома нужно задать по 5 констант (А, В, С, D, Е). Полиномы всегда одни и те же, однако у пользователя может возникнуть необходимость их редактирования.
Как грамотнее организовать ввод данных коэффициентов полиномов в программу? Вручную вбивать в код программы выглядит не очень приятной перспективой, да и пользователь не сможет в последствии их откорректировать. Использовать в качестве хранилища базу Access или вообще таблицу Excel было бы идеальным вариантом, но не приведет ли это к существенному замедлению работы программы?
Программа сама по себе очень легковесная и в идеале хотелось бы, чтобы она представляла собой только .exe файл.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2015, 23:34
Ответы с готовыми решениями:

C# и excel ввод очень большого количества данных
excelapp = new Excel.Application(); excelapp.Visible = true; ...

Напишите программу, которая запрашивает ввод количества отображаемых строк
Напишите программу, которая запрашивает ввод количества отображаемых строк. Затем она отображает...

Парсинг большого количества страниц
Доброго времени суток, товарищи! Прошу у Вас помощи, самому боюсь не справиться - знаний маловато....

Возврат большого количества данных функцией
Доброго времени суток. Вопрос такой: есть функция, которая генерирует 120 значений типа ...

15
0 / 0 / 0
Регистрация: 28.02.2015
Сообщений: 1
12.03.2015, 23:45 2
Доброго времени суток!

Вы можете создать файл с расширением .csv
В этом случае каждый символ отделяется от другого каким нибудь разделителем (н-р, точка с запятой)
И с помощью символьного потока ввода-вывода (класс StreamWriter/StreamReader) считывать из этого файла коэффициенты
Создать его можно в обычном блокноте, главное разделить данные точкой с запятой и сохранить с соответствующем расширением

p.s.: Сам новичок, только учусь, но могу сказать, что метод действенный, хотя возможно и неоптимальный
0
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
12.03.2015, 23:47 3
для небольшого объема данных лучше текстовой файл, или json или xml - парсить будет легко программно, + можно править обычным редактором.
разработал простенькую схему и вперед.
и как вариант можно туда запихать полиномы - а в программу вбить первоначальные полиномы и константы - типа как дефолтные значения. тогда поначалу, пока ничего не надо менять - файл программы будет один,
а когда понадобиться - софтина уже будет готова прочесть данные из файла.
0
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
13.03.2015, 01:12 4
формат файла данных - JSON, в C# есть замечательная либа "Json NET" которая чудесно парсит JSON файлы и на выходе дает адекватные объекты пользовательских классов
0
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
13.03.2015, 07:22 5
Цитата Сообщение от агерон Посмотреть сообщение
C# есть замечательная либа "Json NET"
вполне можно обойтись и штатными средствами...
0
116 / 117 / 52
Регистрация: 19.12.2014
Сообщений: 612
13.03.2015, 08:20 6
Dubinetski,
а у вас для каждого полинома коэффициенты разные?
Если как вариант, кинуть на форму 5 textbox-ов и менять в них значения коэффициентов?
0
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
14.03.2015, 03:21 7
ох уж эти сказачники про штатные средства..... адекватную альтернативу JSON знаете? и обязательно из стандартных средств...
я вот только одну знаю адекватную замену знаю - файл параметров, но десятки коофицентов туда не засунешь, а юзать файл констант :-D ЫЫЫ, ну ну попробуйте просто так потом поменять коофиценты, без перекомпиляции проекта
0
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
14.03.2015, 08:14 8
Цитата Сообщение от агерон Посмотреть сообщение
ох уж эти сказачники про штатные средства..... адекватную альтернативу JSON знаете? и обязательно из стандартных средств...
вот ту которая супер-пупер? нет.
но для целей ТС штатных средств за глаза хватит, тем более он желает на выходе иметь один файл.
0
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
14.03.2015, 16:02 9
желание иметь один файл один из признаков юного кулхацкера :-D, либо делфиста, TC персонально заявляю адекватные люди не морочат ни себе ни людям головы подобными "условиями" нужно проекто 10 файлов будет 10 нужно 100 будет 100 нужно 1000 будет 1000, благо винты сейчас проблем с местом не испытывают

Добавлено через 1 минуту
hepper, ну это попробуй десятка 2 строк в ресурсном файле для 5-7 языков поддерживать... тогда запоешь по другому
0
hepper
14.03.2015, 16:07
  #10

Не по теме:

Цитата Сообщение от агерон Посмотреть сообщение
hepper, ну это попробуй десятка 2 строк в ресурсном файле для 5-7 языков поддерживать... тогда запоешь по другому
к чему это?
я для решения задачи выбираю подходящий для этого инструмент

0
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
14.03.2015, 16:21 11
hepper, вот ненадо ля-ля, задача четко стоит для 20-30 однотипных уравнений вида f(x)=Ах4+Вх3+Сх2+Dх+Е хранить по 5 констант (A,B,C,D,E) сразу что приходит в голову
1) это список из классов вида List<Constant> т. к. в файле параметров такой список поддерживать очень геморно то вывод один - в файле параметров храним только имя файла настроек а сам файл настроек храним отдельно
2) формат файла настроек
2.1) XML сильно гемморно, т. к. нужно с ним уметь работать, а TC этого не умеет т. к. если бы умел не задавал бы подобные вопросы
2.2) бинарная как вариант, но фиг глазками прочитаешь если потребуется + нужно знать как она работает
2.3) SOAP -> XML
2.4) остается что? правильно JSON он и в обьекты конвертиться адекватно как бинарная и читабелен как XML, одна из лучших библиотек сереализции JSON для NET - JSON .NET вот и понимаешь что сразу советовать
P. S. пожалуйста прежде чем что то утверждать имейте в запасе адекватное объяснение своих утверждений
0
Эксперт .NETАвтор FAQ
10410 / 5140 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
14.03.2015, 16:29 12
Цитата Сообщение от агерон Посмотреть сообщение
2.4) остается что?
CSV?
0
447 / 300 / 65
Регистрация: 12.10.2009
Сообщений: 1,162
14.03.2015, 16:44 13
Storm23, CVS к сожелению не отвечает требованиям... слабо поддерживаемый современными средствами разработки формат, к примеру из него нельзя легко и непренужденно вытащить дерево классов и на его основе создать обьект со всей вложеной структурой классов, но да в данном конкретном случае формат CVS может спасти положение но только от части т. к. придется писать адаптер ввода - вывода
0
Кодогенератор
200 / 200 / 51
Регистрация: 15.06.2011
Сообщений: 794
14.03.2015, 17:57 14
Цитата Сообщение от агерон Посмотреть сообщение
одна из лучших библиотек сереализции JSON для NET - JSON .NET вот и понимаешь что сразу советовать
P. S. пожалуйста прежде чем что то утверждать имейте в запасе адекватное объяснение своих утверждений
эу! друг, осади... ты почитай что сверху написано. стандартный нетовский сериализатор вменяемо сериализует массив данных или класс, или массив классов в джесон и обратно... к чему столько кипиша? или ты пытаешься кого то убедить в том что ты круче всех и твой совет должен быть последним?
0
2 / 2 / 0
Регистрация: 09.10.2013
Сообщений: 20
15.03.2015, 22:28  [ТС] 15
Уффф. Ничего себе дебаты развернулись. Мне показалось, что ответ прост и просто я его не знаю. Сама то задача проста до безобразия и в экселе набросал ее минут за 10 не имея даже коэффициентов и вид зависимостей, а только лишь точки. Но показалось не очень эстетично запускать целую экселевскую таблицу с тремя ячейками для ввода и одной для вывода результата.
Ладно, наверное вобью данные коэффициенты полиномов прямо в код. Но странно, что нет какого-то встроенного механизма для ввода данных в табличном виде.
Спасибо всем отписавшимся. Буду переваривать советы
0
8940 / 4852 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
16.03.2015, 00:12 16
Спор тупоконечников и остроконечников. Релизовать чтение/запись в XML, а также удобное редактирование данных в таблице проще всего тем методом, которым владеешь. Я знаю как это делать через XML (см. вложение). В итоге получится вот такая XML-ка:
XML
1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfPolynom xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Polynom A="1" B="1" C="1" D="0" />
  <Polynom A="1" B="1" C="11" D="1" />
  <Polynom A="1" B="2" C="5" D="0" />
</ArrayOfPolynom>
Миниатюры
Ввод в программу большого количества констант  
Вложения
Тип файла: zip Polynoms.zip (21.6 Кб, 2 просмотров)
1
16.03.2015, 00:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2015, 00:12
Помогаю со студенческими работами здесь

Добавление в словарь большого количества значений
Прошу помощи. Никак не могу понять. как реализовать следующее. Есть словарь: public...

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

Хранение большого количества настроек - нужна подсказка
Пишу программу, которая требует хранения множества настроек. Я их разделил на несколько типов: ...

Считывание и обработка большого количества файлов в папке
Есть задача - в папке лежит огромный массив файлов (до нескольких тысяч размером до 10 Мб),...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru