Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.72/47: Рейтинг темы: голосов - 47, средняя оценка - 4.72
 Аватар для stodeer
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 77

База данных в консоли (не SQL, не WinForms)

25.11.2016, 20:23. Показов 9592. Ответов 45
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам

Кликните здесь для просмотра всего текста
Написать программу для работы с БД "Студенты":

Структура БД:
- № (номер записи)
- ФИО
- Дата рождения (дд.мм.гг)
- Факультет
- Группа
- Курс
- Средний балл

Работа БД:
~ добавление, изменение, удаление записи (элемента) БД
~ сортировка по полям: ФИО, Дата рождения
~ поиск элемента по полям: ФИО, Дата рождения
~ нахождение Max, Min, среднего значения и суммы по полю: Средний балл.

Ввод/вывод данных в файл, ввод/вывод информации и т.д. - меню.

Данные БД хранятся в файле.

Уважаемые форумчане, выручайте огромного нуба!
Не знаю с чего начать эту работу. Пока есть только имена переменных -_-
Хотелось начать делать с помощью многомерных массивов, т.к. мне немного известно про метод <List>, но говорят, он намного проще, ведь коллекцию можно перевести в массив....

Что-то отдаленно напоминающее идею без практической реализации:
7 столбцов постоянно ( № | ФИО | Дата рождения | Институт | Группа | Курс | Средний балл )
неизвестное кол-во студентов (строк)
цикл на ввод строки
строка - элемент "массива" (или коллекции??)

И еще оформление... но это пока не самое главное.

У кого есть опыт такого создания БД в КОНСОЛИ (е-мае! эксперименты для университетского предмета), отпишитесь, любые идеи приветствуются!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.11.2016, 20:23
Ответы с готовыми решениями:

База данных, основанная на службах vs База данных SQL Server
Доброго времени суток. Делал я, значит, Data Access Layer для ASP.NET MVC проекта. Создал обычную библиотеку классов, моделей туда...

Импорт данных из Excel в MS SQL через приложение WinForms
Всем привет. В приложение С# WinForms нужно добавить возможность импорта данных из Excel в MS SQL. Пользователь просто выбирает нужный...

Как подключиться к базе данных на Wpf. База данных Sql Server
Раньше работал с Windows Worms, и то не долго. Щас хочу перейти на WPF. Я в этом деле еще новичок. Не могли бы вы объяснить как...

45
 Аватар для stodeer
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 77
09.12.2016, 23:00  [ТС]
Студворк — интернет-сервис помощи студентам
Diamante, из кейс1 убрано.
из-под мэйна убрать, боюсь порушится все
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
public static void Main()
        {
            
            Students Student = new Students();
            List<Students> Note = new List<Students>();
 
            FileStream file = new FileStream("studentsN.txt", FileMode.Open, FileAccess.ReadWrite);
            StreamReader reader = new StreamReader(file, Encoding.Default);
            StreamWriter writer = new StreamWriter(file, Encoding.Default);
            string row;
            do
            {
                row = reader.ReadLine();
                string[] mas = new string[7];
                mas = row.Split('*');
                //Student.num = Convert.ToInt32(mas[0]);
                Student.FIO = mas[0];
                Student.Birthday = Convert.ToDateTime(mas[1]);
                Student.Institute = mas[2];
                Student.Group = mas[3];
                Student.Step = Convert.ToInt16(mas[4]);
                Student.Ball = Convert.ToDouble(mas[5]);
                Note.Add(Student);
                Student = new Students();
            }
            while (reader.EndOfStream == false);
            Console.WriteLine("                             Б А З А  Д А Н Н Ы Х :");
            Console.WriteLine("№" + "\t" + "ФИО" + "             " + "Дата рождения" + "   " + "Институт" + "" + "Группа" + "  " + "Курс" + "    " + "Ср. балл");
            for (int i = 0; i < Note.Count; i++)
            {
                Console.WriteLine(/*Note[i].num*/(i+1)  + "\t" + Note[i].FIO + "\t" + Note[i].Birthday.ToString("dd.MM.yyyy") + "\t" + Note[i].Institute + "\t" + Note[i].Group + "\t" + Note[i].Step + "\t" + Note[i].Ball);
            }
            Console.ReadKey();
убрано из кейса:
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
case 1:
                    {
                        try
                        {
                            Student = new Students();
                            Console.WriteLine("Добавление нового студента (формат: Фамилия_пробел_И.О.*Дата рождения*Институт*Группа*Курс*Балл):");
                            Console.Write(">> ");
                            string plus = Console.ReadLine();
                            string[] masPlus = plus.Split('*');
                            //Student.num = Convert.ToInt32(masPlus[0]);
                            Student.FIO = masPlus[0];
                            Student.Birthday = Convert.ToDateTime(masPlus[1]);
                            Student.Institute = masPlus[2];
                            Student.Group = masPlus[3];
                            Student.Step = Convert.ToInt16(masPlus[4]);
                            Student.Ball = Convert.ToDouble(masPlus[5]);
                            Note.Add(Student);
 
 
                            for (int i = 0; i < Note.Count; i++)
                            {
                                File.AppendAllText(@"studentsN.txt",/*Note[i].num*/Note[i].FIO + "*" + Note[i].Birthday.ToString("dd.MM.yyyy") + "*" + Note[i].Institute + "*" + Note[i].Group + "*" + Note[i].Step + "*" + Note[i].Ball);
                            }
 
                            //Измененный список (с добав. студ.):
                            Console.WriteLine("Изменённый список:");
                            for (int i = 0; i < Note.Count; i++)
                            {
                                Console.WriteLine(/*Note[i].num*/(i + 1) + "\t" + Note[i].FIO + "\t" + Note[i].Birthday.ToString("dd.MM.yyyy") + "\t" + Note[i].Institute + "\t" + Note[i].Group + "\t" + Note[i].Step + "\t" + Note[i].Ball);
                            }
                            Console.ReadKey();
 
                        }
не записывает ничего и выдает опять это

Не по теме:

только эта фигнюшка осталась и всее а я не могу с ней разобраться :-|

Миниатюры
База данных в консоли (не SQL, не WinForms)  
0
Эксперт .NET
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
09.12.2016, 23:06
Так у вас в FileStream открыт этот же файл.
0
 Аватар для stodeer
0 / 0 / 0
Регистрация: 26.10.2015
Сообщений: 77
10.12.2016, 02:00  [ТС]
дан файл studentsN.txt
нужно добавить запись о студенте в этот файл
если я закомменчиваю это
C#
1
2
3
4
/* for (int i = 0; i < Note.Count; i++)
                            {
                                File.AppendAllText(@"studentsN.txt",/*Note[i].num*/Note[i].FIO + "*" + Note[i].Birthday.ToString("dd.MM.yyyy") + "*" + Note[i].Institute + "*" + Note[i].Group + "*" + Note[i].Step + "*" + Note[i].Ball);
                            } */
то он все хорошо пишет в консоль, 'база данных' в консоли работает, все действия с ней норм производятся
но суть то в том, чтобы изменения проводить с файлом в корневой папке
а у меня не робит #нихтферштейн

Someone007, так не должно быть, неправильно написано?

Добавлено через 46 минут
т.е. нужно закрыть файл, чтобы в него записывать?

Добавлено через 26 минут
Коряво и не совсем по смыслу задания, но
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
try
                            {
                                Student = new Students();
                                Console.WriteLine("Добавление нового студента (формат: Фамилия_пробел_И.О.*Дата рождения*Институт*Группа*Курс*Балл):");
                                Console.Write("» ");
                                string plus = Console.ReadLine();
                                string[] masPlus = plus.Split('*');
 
                                Student.FIO = masPlus[0];
                                Student.Birthday = Convert.ToDateTime(masPlus[1]);
                                Student.Institute = masPlus[2];
                                Student.Group = masPlus[3];
                                Student.Step = Convert.ToInt16(masPlus[4]);
                                Student.Ball = Convert.ToDouble(masPlus[5]);
                                Note.Add(Student);
 
                                Console.WriteLine();
                                File.AppendAllText("studentsN2.txt", (Note.Count) + "\t" + Note[Note.Count - 1].FIO + "\t" + Note[Note.Count - 1].Birthday.ToString("dd.MM.yyyy") + "\t" + Note[Note.Count - 1].Institute + "\t" + Note[Note.Count - 1].Group + "\t" + Note[Note.Count - 1].Step + "\t" + Note[Note.Count - 1].Ball);
 
 
                                Console.WriteLine("Изменённый список:");
                                for (int i = 0; i < Note.Count; i++)
                                {
                                    Console.WriteLine((i + 1) + "\t" + Note[i].FIO + "\t" + Note[i].Birthday.ToString("dd.MM.yyyy") + "\t" + Note[i].Institute + "\t" + Note[i].Group + "\t" + Note[i].Step + "\t" + Note[i].Ball);
                                }
                                Console.ReadKey();
                            }
сделали в корне второй файл studentsN2, в который записываем
а потом если спросят, где БД - говорим, смотрите во 2ой файл

Добавлено через 1 час 27 минут
Не подскажете ли, почему кодировка сбилась?

(ниже - 2ой файл, в к-рый добавили запись)
Code
1
РђСЂР±СѓР·РёРє Рђ.Р•.    23.03.1997  Р&#152;РЎРђРћРЈ    ОЛШШ   1   5
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
10.12.2016, 14:14
C#
1
File.AppendAllText("studentsN2.txt", /*то что пишешь в файл*/ , Encoding.Default);
0
0 / 0 / 0
Регистрация: 03.12.2018
Сообщений: 1
03.12.2018, 17:57
Привет!
Сейчас мне надо написать эту лабу... Пожалуйста , можете скинуть весь код. Я только что ночила программировать и мне надо написать эту лабу за неделю..
0
0 / 0 / 0
Регистрация: 23.05.2019
Сообщений: 3
23.05.2019, 20:57
Здравствуйте, не могли бы помочь. Вопрос по такой же тематике вот в этой теме Создать базу данных используя только возможности консольного приложения
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.05.2019, 20:57

Обработка данных через запросы SQL внутри приложения (виртуальная база данных)
Есть данные, которые с точки зрения удобства написания кода, проще всего обрабатывать запросами SQL. Возможно ли сделать это внутри...

База данных в SQL
Ребята, спасайте...срочно нужно создать базу данных. Кто может сделать? Сама не очень понимаю, да и времени почти нет. Буду очень...

База данных в MS SQL
Создал базу в MS SQL, делаю связи вышла ошибка.помогите исправить Таблица &quot;Ингредиенты&quot; сохранена успешно таблица &quot;Состав...

Легкая база данных SQL
Можете помочь создать базу данных лёгкую на SQL

База данных в SQL Developer
Здравствуйте. Подскажите пожалуйста. Создал базу в sql developer, (username &quot;system&quot;). Таблицы и прочее. Захожу в APEX (Oracle...


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

Или воспользуйтесь поиском по форуму:
46
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru