Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 [2]  Все   Вниз
  Печать  
Автор Тема: c# структуры и указатели  (Прочитано 63109 раз)
0 Пользователей и 9 Гостей смотрят эту тему.
гайка
Гость
« Ответ #30 : 07-07-2011 21:08 » 

Finch, а в настройках учетной записи всё равно доступны только имя, язык, мыло, пароль, секретный вопрос и всё.
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #31 : 07-07-2011 21:09 » 

Dale, вот так просто? бах и всё?

Вот такой это язык - Шарп. В нем почти все просто. А то, что не просто, то очень просто. Для того и придумали.

эх, на что девушкам голова? Улыбаюсь

Гайка, ну мы же вроде только что договорились насчет политкорректности, и опять нарушение статьи непомнюкакойномер. Не девушкам - феминофорумчанам.
« Последнее редактирование: 07-07-2011 21:11 от Dale » Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
гайка
Гость
« Ответ #32 : 07-07-2011 21:10 » 

Dale, моей целью и является создание клиентского приложения, как ты уже, наверное, заметил=)

Добавлено через 2 минуты и 10 секунд:
ладно, тогда и треп не по теме пора прекратить=)
спасибо, Dale, спасибо Finch, ваш вклад в мою работу был действительно большим.
« Последнее редактирование: 07-07-2011 21:12 от гайка » Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #33 : 07-07-2011 21:12 » 

Dale, моей целью и является создание клиентского приложения, как ты уже, наверное, заметил=)

То есть база все же маячит на горизонте, просто до нее пока дело не дошло?
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #34 : 08-07-2011 06:51 » 

Что это было?..
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
гайка
Гость
« Ответ #35 : 08-07-2011 13:26 » 

Dale, я ведь имею право сделать так:
Код: (C#)
    public class Client
    {
        public string number;
        public Client left;
        public Client right;
    }
    public partial class Form1 : Form
    {
        public Client root=new Client();// корень дерева клиентов
        Client current=new Client();// текущий клиент
          ...
        private void новыйКлиент(object sender, EventArgs e)
        {
            Form2 f2 = new Form2(this.root,this.current);
        }
    }
    public partial class Form2 : Form
    {
        private Client root;
        private Client current;

        public Form2(Client arg1, Client arg2)
        {
            InitializeComponent();
            this.root = arg1;
            this.current = arg2;
        }
    }
?

Добавлено через 1 минуту и 47 секунд:
ну и дальше в форме 2 юзать roor и current, как мне заблагорассудится...
« Последнее редактирование: 08-07-2011 13:28 от гайка » Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #36 : 08-07-2011 13:47 » 

Dale, я ведь имею право сделать так:
...

Теоретически да, но вообще это плохой стиль программирования.

Лучше отделить представление (экранные формы) от модели (двоичное дерево). Хотя, конечно, работать и так будет... Но в процессе эволюции программы качество кода будет быстро падать.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
гайка
Гость
« Ответ #37 : 08-07-2011 14:06 » 

Отделить чем?
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #38 : 08-07-2011 14:18 » 

Отделить чем?

Скажем, вынести в отдельную сборку - "модель".
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
гайка
Гость
« Ответ #39 : 08-07-2011 14:27 » 

Скажем, вынести в отдельную сборку - "модель".
просто отделить фигурной скобкой?
или создать класс forms и в него запихнуть все формы (классы ведь могут быть вложенными, кажется)?
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #40 : 08-07-2011 14:35 » 

Гайка, Вообше по правилам составления программ,
1) на каждую сушность желательно делать отдельный файл.
2) Не делать "швейцарские ножи". Каждая сушность должна делать что то одно, но очень хорошо.
3) Каждая сушность должна по минимуму зависеть от других сушностей.
4) ....
« Последнее редактирование: 08-07-2011 14:38 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
гайка
Гость
« Ответ #41 : 08-07-2011 14:48 » 

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

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

И не лень вам (админам и модераторам) размусоливать нам, сосункам, простейшие истины? Улыбаюсь подтирать нам сопли:)

Добавлено через 3 минуты и 3 секунды:
ого, кажется я только что стала женщиной=)
« Последнее редактирование: 08-07-2011 14:51 от гайка » Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #42 : 08-07-2011 17:44 » 

Скажем, вынести в отдельную сборку - "модель".
просто отделить фигурной скобкой?

Фигурной скобки маловато будет. Пока хотя бы в отдельное пространство имен вынести. А лучше - в отдельный проект, но это потом, когда код разрастется. Пока там десяток строк, можно не усложнять.

или создать класс forms и в него запихнуть все формы (классы ведь могут быть вложенными, кажется)?

Это явно лишнее.

ого, кажется я только что стала женщиной=)

Я же предупреждал, Шарп - он такой... За ним глаз да глаз нужен!
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
гайка
Гость
« Ответ #43 : 08-07-2011 17:59 » 

запихнула класс Client в отдельный файл, мы уже подружились с c#: я ему шутки шучу, он подчёркивает те, что очень уж смешные Улыбаюсь

Я же предупреждал, Шарп - он такой... За ним глаз да глаз нужен!
это не Шарп... это Finch... ^_^
Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #44 : 08-07-2011 18:02 » 

Так, уже что то интересное, я то тут причем? Что такоего уже натворил?
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
гайка
Гость
« Ответ #45 : 08-07-2011 18:07 » 

Так, уже что то интересное, я то тут причем?
не бойся, папой ты конечно не станешь, но женщиной ты меня сделал? сделал!

Добавлено через 8 минут и 5 секунд:
я в том смысле, что пол поменял в профиле Улыбаюсь

Добавлено через 10 дней, 21 час, 47 минут и 21 секунду:
2.2.6.6. Данные о выдаче или возврате SIM-карт клиентами должны содержать:
- № паспорта – строка, формат которой соответствует аналогичной строке в данных о клиентах;
- № SIM-карты – строка, формат которой соответствует аналогичной строке в данных о SIM-картах;
- Дата выдачи - строка;
- Дата окончания действия - строка.
Примечания:
1. Наличие в этих данных записи, содержащей в поле «№ паспорта» значение X и в поле «№ SIM-карты» значение Y соответственно означает выдачу клиенту с номером паспорта X SIM-карты с номером Y. Отсутствие такой записи означает, что клиенту с номером паспорта X не выдавалась SIM-карта с номером Y.
2. Одному клиенту может быть выдано несколько SIM-карт. Таким образом, могут быть данные, имеющие повторяющиеся значения в своих полях.

2.2.6.7. Данные о выдаче или возврате SIM-карты клиентов должны быть организованны в виде списка, который упорядочен по первичному ключу – «№ SIM-карты». Вид списка и метод сортировки определяются вариантом задания.

как можно упорядочить список по первичному ключу, если первичный ключ может быть пустым?Не понял??
« Последнее редактирование: 19-07-2011 16:02 от гайка » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #46 : 19-07-2011 16:04 » 

Гайка, С точки зрения Баз данных, подход не верный Улыбаюсь Так как первичный ключ это индекс. Он гарантирует, что запись будет уникальной. Но тут не базы данных Улыбаюсь С другой стороны. Ключевой объект у тебя сим карта, Если ее нет, то и нет транзакции. Все остальные поля не имеют просто смысла.

Добавлено через 1 минуту и 21 секунду:
PS можно разбить на два списка. Первый это клиенты. Второй список это сим карта и транзакции с ней.
« Последнее редактирование: 19-07-2011 16:05 от Finch » Записан

Не будите спашяго дракона.
             Джаффар (Коша)
гайка
Гость
« Ответ #47 : 19-07-2011 16:07 » 

думаю, будет логично сделать так: нет симкарты, нет и клиента. у меня там мини-база в текстовом файлике Улыбаюсь

Добавлено через 5 минут и 46 секунд:
точно. только у меня клиенты в виде деревьев ахах Улыбаюсь ну суть таже, тот же список, только ветвистый =) а в список выдачи-возврата сим-карт заносить клиентов только тех, у кого есть сим-карта!

Спасибо, Finch 8)
« Последнее редактирование: 19-07-2011 16:13 от гайка » Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #48 : 19-07-2011 18:48 » 

2.2.6.6. Данные о выдаче или возврате SIM-карт клиентами должны содержать:
- № паспорта – строка, формат которой соответствует аналогичной строке в данных о клиентах;

Чревато. В реальной жизни люди периодически меняют паспорта по многим причинам - возраст, смена семейного положения, утеря и т.д. Если такая оказия случится с одним из "деревянных" клиентов, все сим-карты, ранее выданные ему, осиротеют.

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

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
гайка
Гость
« Ответ #49 : 19-07-2011 19:05 » 

Dale, почему осиротеют? у меня в самом дереве хранится только номер паспорта, остальное в файле. надо изменить - удаляем старую запись и делаем новую, а файл перезаписываем.
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #50 : 19-07-2011 19:11 » 

Dale, почему осиротеют?

Обычно записи базы данных, которые ссылаются на несуществующие родительские записи, называют сиротами.

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

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #51 : 19-07-2011 19:17 » 

Гайка, в таком случае хранят исторические данные добавляя в PK поле даты (срок заведения записи, срок начала или конца годности). Текущая запись будет иметь максимальную дату, а на прочие записи можно также ссылаться по дате.
Опять таки, зачем текстовый файл, если удобнее работать с реляционными базами, для который давно разработаны модели и алгоритмы.
« Последнее редактирование: 19-07-2011 19:19 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #52 : 19-07-2011 19:20 » 

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

Не будите спашяго дракона.
             Джаффар (Коша)
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #53 : 19-07-2011 19:25 » 

Что-то вы всё усложняете с сиротами, РСУБД и т.п. Сначала нужно точно определить условия задачи, затем решить самым простым способом.

Кстати, деревья в текстовых файлах удобно хранить либо в формате XML, либо LISP-списков, либо JSON.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
гайка
Гость
« Ответ #54 : 19-07-2011 19:49 » 

Dale, у меня сим-карты не ссылаются на номер паспорта владельца!
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #55 : 19-07-2011 19:59 » 

Dale, у меня сим-карты не ссылаются на номер паспорта владельца!

Я про это:

2.2.6.6. Данные о выдаче или возврате SIM-карт клиентами должны содержать:
- № паспорта – строка, формат которой соответствует аналогичной строке в данных о клиентах;
- № SIM-карты – строка, формат которой соответствует аналогичной строке в данных о SIM-картах;

Единственный способ узнать, кому принадлежит данная карта, - это взять из записи номер паспорта и найти по этому ключу владельца в списке персон. Если персона поменяла паспорт, эта связь рвется, и карта остается бесхозной.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
гайка
Гость
« Ответ #56 : 19-07-2011 20:13 » 

Dale, у меня данные о выдаче-возврате - это список, который каждый раз, пересоздается. он считывает всю нужную инфу из файла о клиенте.
если честно, от моей программы нет никакого толку в реальной жизни, я просто выполняю задание, которое мне дал преподаватель. а он его дал для тренировки мозгов, а не для того, чтоб потом продать это приложение компании билайн 8)
Записан
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #57 : 19-07-2011 20:36 » 

Dale, у меня данные о выдаче-возврате - это список, который каждый раз, пересоздается. он считывает всю нужную инфу из файла о клиенте.

А изменения в него могут вноситься, или это просто "отображатель" данных только для чтения?

если честно, от моей программы нет никакого толку в реальной жизни, я просто выполняю задание, которое мне дал преподаватель. а он его дал для тренировки мозгов, а не для того, чтоб потом продать это приложение компании билайн 8)

Я догадывался, что "Билайн" его не купит, и даже наши вряд ли Ага

Такие детали как раз и есть тренировка для мозгов - прикинуть, как приложение будет вести себя в разных ситуациях. Чтобы не было как в печальном афоризме Джеральда Вайнберга:
Цитата
Если бы строители строили здания так же, как программисты пишут программы, то первый же залетевший дятел разрушил бы всю цивилизацию.
Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
гайка
Гость
« Ответ #58 : 19-07-2011 20:52 » new

А изменения в него могут вноситься, или это просто "отображатель" данных только для чтения?
просто информационное окошко, что-то вроде отчета.
Цитата
Если бы строители строили здания так же, как программисты пишут программы, то первый же залетевший дятел разрушил бы всю цивилизацию
Хорошо сказано Улыбаюсь)

через пару недель, я думаю, закончу эту несуразность и выложу вам на растерзание Улыбаюсь
Записан
Страниц: 1 [2]  Все   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines