Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
2 / 2 / 0
Регистрация: 11.05.2015
Сообщений: 45

Какие темы нужно знать, что выполнить эту задачу? (записная книжка)

21.07.2015, 12:32. Показов 2346. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Получил задание (ниже). Совсем недавно стал изучать C#. Хотелось бы обозначить, "где я сейчас":
--Прошел курс C# стартовый (машинная математика, условные, логические, циклические конструкции, методы, рекурсия, массивы);
--А также уже изучил следующие темы:
Введение в ООП, классы и объекты.
Классы и объекты. Диаграммы классов.
Наследование и полиморфизм.
Абстракция. Абстрактные классы и интерфейсы.
Массивы и индексаторы.
Статические и вложенные классы.
Структуры и их разновидности.
Перечисления (enum).

Вот сама задача:

Записная книжка.
Написать простейшую записную книжку, которая позволяет выполнять следующий набор действий:
1. Хранить в памяти список людей (фамилия (строка), имя (строка), год рождения (целое), номер телефона (строка)).
2. Сохранять в файл / загружать из файла записи (автоматически, при запуске программы и выходе из нее).
3. Добавлять и удалять записи.
4. Осуществлять поиск записей по фамилии, имени и номеру телефона.
5. Сортировать записи по фамилии и году рождения.

Программа выполняется на языке программирования С#. Предпочтительным интерфейсом взаимодействия с пользователем является Web интерфейс.

Но моих знаний совсем мало, чтобы ее реализовать, а времени также остается мало (До середины августа).

Я не знаю, как:
1. Хранить в памяти список.
2. Сохранять в файл / загружать из файла записи.
3. Интерфейс взаимодействия с пользователем является Web интерфейс. (это пока совсем неясно).

Могли бы вы посоветовать, какие темы сейчас нужно изучить, что разбираться в этих трех аспектах? Ну а также хотелось бы несколько советов, по реализации (не примеры кода).
Заранее спасибо за проявленный интерес!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.07.2015, 12:32
Ответы с готовыми решениями:

Что нужно знать чтобы выполнить задачу "БД расписаний маршрутов движения транспорта"?
Подскажите, пожалуйста, что нужно знать, чтобы выполнить данную задачу ? БД расписаний маршрутов движения транспорта (станции -...

Какие темы нужно знать, чтобы начать работать с DirectX
День добрый! Прочитал уже почти 3 книги "для начинающих", множество статей, немного умею работать с WinAPI, пробую сам писать простые...

Через что лучше эту задачу выполнить, чтоб не больше 40строк?
Оплата Интернета в школе состоит из двух частей: 100 долларов в месяц за доступ и 5 долларов в месяц за поддержку школьного ...

13
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
21.07.2015, 12:50
1.если WinForms работа с DataGridView, если консоль то массивы структур
2.Пространство имен - System.IO (Работа с файлами, директориями, дисками, памятью)
0
x1
3 / 3 / 0
Регистрация: 21.04.2009
Сообщений: 17
21.07.2015, 13:49
1. Надо поставить Visual Studio, и в ней создать проект ASP.NET
2. Понять, как работает сайт C# ASP.NET - глава "работа с web" есть во всех книжках по C# (например, у Троелсена)
3. У вас по сути - файл - это база данных. Простейший способ читать и писать файл - через методы, которые есть в пространстве имен System.IO (см. пред. сообщение) - тут надо будет больше кода писать или прочитать главу книжки про сериализацию и решить проблему в 2-3 строчки (тут надо больше разбираться, чтобы понять, как это работает).
4. Чтобы хранить в памяти список проще всего создать свой класс Record c полями Name, Surname и т.д.
Базу данных хранить в памяти как Список из этих классов List<Record>
0
2 / 2 / 0
Регистрация: 11.05.2015
Сообщений: 45
22.07.2015, 16:10  [ТС]
Прошу подсказать по: "Интерфейс взаимодействия с пользователем является Web интерфейс."

Пока моих знаний не хватает. Подскажите, это где реализовывается? С помощью чего? Как все это будет в итоге выглядеть, хотя бы примерно?
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
22.07.2015, 16:25
Цитата Сообщение от ResidentEve Посмотреть сообщение
Предпочтительным интерфейсом взаимодействия с пользователем является Web интерфейс.
Цитата Сообщение от ResidentEve Посмотреть сообщение
3. Интерфейс взаимодействия с пользователем является Web интерфейс. (это пока совсем неясно).
Это, уверен, совсем вряд ли, если с веб не знаком вообще. А если смотрел даже от ITVDN курс по ASP.NET и ASP.NET MVC, но опыта программирования почти ноль, то тоже вряд ли, но уже шансы есть

Добавлено через 1 минуту
А вот в Win Forms, думаю, осилишь.

Добавлено через 3 минуты
ResidentEve,
Видео курс ASP.NET Базовый тут WebForms, но не получив инфы с этого курса будет несколько труднее ориентироваться в ASP.NET MVC.
Видео курс ASP.NET MVC Fundamentals

Если будешь всё же делать на веб и тебе это реально нужно, ты хочешь не просто сделать и забыть, то выбирай ASP.NET MVC

Добавлено через 1 минуту
Ну и конечно же было бы не плохо HTML, CSS, JavaScript.

Добавлено через 23 секунды
Хотя для данной программы хватит самых базовых знаний этих трёх технологий.

Добавлено через 3 минуты
Вот тут ещё можно много полезного найти:
http://professorweb.ru/my/html... b_info.php
http://metanit.com
0
2 / 2 / 0
Регистрация: 11.05.2015
Сообщений: 45
22.07.2015, 18:10  [ТС]
Casper-Sc, огромное спасибо! Да я как раз учусь по курсам ITVDN. Сейчас изучаю C# Базовый. Но вот теперь понимаю, чтобы все это реализовать, нужно срочно бросать на время этот курс и учить ASP.NET и ASP.NET MVC, а то времени совсем мало остается до сдачи.
0
158 / 187 / 48
Регистрация: 25.11.2013
Сообщений: 978
23.07.2015, 07:43
MVC оставь на десерт, а то не успеешь

Добавлено через 1 минуту
Цитата Сообщение от MansMI Посмотреть сообщение
если WinForms работа с DataGridView, если консоль то массивы структур
Жесть

Добавлено через 3 минуты
Цитата Сообщение от ResidentEve Посмотреть сообщение
Подскажите, это где реализовывается?
Поройся на codeproject, там полно примеров
0
2 / 2 / 0
Регистрация: 11.05.2015
Сообщений: 45
23.07.2015, 11:46  [ТС]
Casper-SC , если ты еще зайдешь в эту тему, или ко всем вопрос:
Если просмотреть эти два курса, по ASP.NET и ASP.NET MVC, там будет объяснено как реализовать сохранение записей в файл и чтение при запуске программы? Если нет, что для этого можно изучить?
0
 Аватар для Midian
606 / 388 / 198
Регистрация: 31.03.2013
Сообщений: 2,690
23.07.2015, 11:57
MansMI, А что мешает написать класс, который будет работать и в Web и в WinForm и в Console проектах? Вы не подумали об этом? Или вы каждый раз будите переписывать код переходя на новый тип проекта? А что если это будет многофункциональное приложение, когда данные будут обрабатываться как в веб, так и в оконных приложениях?
DataPlanner, Мое видение такое, пишите класс с свойствами полей записной книги, который работает с файлом при помощи библиотеки IO, информацию можно хранить используя System.Collection.Generic, любые коллекции, к примеру List<MyClass>, пишите обязательно так, что бы класс не знал, какое у вас будет приложение, консоль или веб или форма, в итоге должно получится нечто такое:
1) Метод загрузки из файла в коллекцию данных;
2) Метод вывода данных из коллекции;
3) Метод сохранения данных в коллекцию, а затем в файл;
4) Добавление, удаление, сортировка и поиск делается элементарно по коллекциям.
+- пара методов, для обработки и т. д., но это уже по желанию
0
Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1
23.07.2015, 12:26
Цитата Сообщение от ResidentEve Посмотреть сообщение
там будет объяснено как реализовать сохранение записей в файл и чтение при запуске программы?
Конечно нет. Смысл это рассказывать в курсе, который рассказывает совсем о другом.

На самом деле всё просто.
Классы BinaryWriter и BinaryReader
и/или
Классы StreamWriter и StreamReader

Сериализация объектов
Кликните здесь для просмотра всего текста
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
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
 
namespace Utils.Data
{
    public static class DataSerializer<T>
    {
        /// <summary>
        /// Сохранить данные
        /// </summary>
        /// <param name="data">Список экземпляров заданного типа для сохранения</param>
        /// <param name="fileName">Путь к файлу, в который будут сохранены данные</param>
        public static void Save(List<T> data, string fileName)
        {
            var serializer = new XmlSerializer(typeof(List<T>));
            var fs = new FileStream(fileName, FileMode.Create);
            using (var streamWriter = new StreamWriter(fs))
            {
                serializer.Serialize(streamWriter, data);
            }
        }
 
        /// <summary>
        /// Сохранить данные
        /// </summary>
        /// <param name="data">Список экземпляров заданного типа для сохранения</param>
        /// <param name="fileName">Путь к файлу, в который будут сохранены данные</param>
        public static void SaveObject(T data, string fileName)
        {
            var serializer = new XmlSerializer(typeof(T));
            var fs = new FileStream(fileName, FileMode.Create);
            using (var streamWriter = new StreamWriter(fs))
            {
                serializer.Serialize(streamWriter, data);
            }
        }
 
        /// <summary>
        /// Загрузить данные из файла
        /// </summary>
        /// <param name="fileName">Путь к файлу</param>
        /// <returns>Список экземпляров заданного типа</returns>
        public static T LoadObject(string fileName)
        {
            var serializer = new XmlSerializer(typeof(T));
            var fs = new FileStream(fileName, FileMode.Open);
            using (var streamReader = new StreamReader(fs))
            {
                return (T)serializer.Deserialize(streamReader);
            }
        }
 
        /// <summary>
        /// Загрузить данные из файла
        /// </summary>
        /// <param name="fileName">Путь к файлу</param>
        /// <returns>Список экземпляров заданного типа</returns>
        public static List<T> Load(string fileName)
        {
            var serializer = new XmlSerializer(typeof(List<T>));
            var fs = new FileStream(fileName, FileMode.Open);
            using (var streamReader = new StreamReader(fs))
            {
                return (List<T>)serializer.Deserialize(streamReader);
            }
        }
 
        public static T LoadFromXml(string xmlText)
        {
            var serializer = new XmlSerializer(typeof(T));
            using (TextReader reader = new StringReader(xmlText))
            {
                return (T)serializer.Deserialize(reader);
            }
        }
    }
}

C#
1
DataSerializer<YourClass>.SaveObject(yourClassObject, fileName);
0
2 / 2 / 0
Регистрация: 11.05.2015
Сообщений: 45
27.08.2015, 12:01  [ТС]
Начал реализовывать в ASP.NET. Если никто не против помочь простыми ответами, подскажите пожалуйста:

1. Какой объект использовать для отображения списка контактов? В WPF это DataGridView. А здесь с чем проще будет работать?
2. Как можно явно задать границы окна приложения, чтобы оно не выглядело, как маленький кусочек кнопок и полей для ввода на большой странице? А желательно, сделать эту область с границами и расположение по середине.
0
Фрилансер
735 / 352 / 96
Регистрация: 05.05.2014
Сообщений: 2,621
27.08.2015, 14:45
Ты уже все знаешь, просто у тебя опыта нет.
0
2 / 2 / 0
Регистрация: 11.05.2015
Сообщений: 45
27.08.2015, 15:41  [ТС]
pro_100_gram, Может быть. Но по ASP.NET совсем ничего не знаю, т.к. этот курс еще не смотрел (точнее только введение в ASP.NET)
0
Фрилансер
735 / 352 / 96
Регистрация: 05.05.2014
Сообщений: 2,621
27.08.2015, 15:43
ResidentEve, курс мало что дает без практики, самостоятельного изучения
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.08.2015, 15:43
Помогаю со студенческими работами здесь

Что нужно знать, что бы выполнить это задание?
Добрый день вот текст задания, как по мне он не очень ясный, но все же. &quot;На линукс системе любой. php+mysql+apache Класс с уровнем...

Что нужно знать о MVVM чтобы решить несложную задачу
Здраствуйте!!!Столкнулся с проблемой MVVM паттерна, надо решить задание.Все что я знаю это теорию (тоесть то что надо разделить модель,...

Как научиться решать рекуррентные уравнения? Что нужно знать для освоения этой темы?
Как научиться решать рекуррентные уравнения? Что нужно знать для освоения этой темы? Пожалуйста, подскажите книги/статьи/что...

Что означает "Знание архитектуры х86", какие книги почитать, что нужно знать и уметь
Нашёл вакансию junior программиста С++, но нужно знание архитектруы х86. Что означает &quot;Знание архитектуры х86&quot;, какие книги...

Посоветуйте выбор СУБД под эту задачу (внутри темы)
Доброго времени! Итак, задача: надо хранить в базе текстовые поля размером до нескольких килобайт (статьи из электронных и бумажных СМИ с...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru