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

Узнай цену своей работы

Формулировка задачи:

Написать программу для работы с БД "Студенты": Структура БД: - № (номер записи) - ФИО - Дата рождения (дд.мм.гг) - Факультет - Группа - Курс - Средний балл Работа БД: ~ добавление, изменение, удаление записи (элемента) БД ~ сортировка по полям: ФИО, Дата рождения ~ поиск элемента по полям: ФИО, Дата рождения ~ нахождение Max, Min, среднего значения и суммы по полю: Средний балл. Ввод/вывод данных в файл, ввод/вывод информации и т.д. - меню. Данные БД хранятся в файле.
, выручайте огромного нуба! Не знаю с чего начать эту работу. Пока есть только имена переменных -_- Хотелось начать делать с помощью многомерных массивов, т.к. мне немного известно про метод <List>, но говорят, он намного проще, ведь коллекцию можно перевести в массив....

Что-то отдаленно напоминающее идею без практической реализации:

7 столбцов постоянно ( № | ФИО | Дата рождения | Институт | Группа | Курс | Средний балл ) неизвестное кол-во студентов (строк) цикл на ввод строки строка - элемент "массива" (или коллекции??) И еще оформление... но это пока не самое главное. У кого есть опыт такого создания БД в КОНСОЛИ
(е-мае! эксперименты для университетского предмета)
, отпишитесь, любые идеи приветствуются!

Решение задачи: «База данных в консоли (не SQL, не WinForms)»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.IO;
 
namespace Лабораторная2
{
    class Students
    {
        public int num;
        public string FIO;
        public DateTime Birthday;
        public string Institute;
        public string Group;
        public int Step;
        public double Ball;
    }
    class Program
    {
        public static void Main()
        {
            Students Student = new Students();
            List<Students> Note = new List<Students>();
 
            FileStream file = new FileStream("ListofStudents.txt", FileMode.Open, FileAccess.ReadWrite);
            StreamReader reader = new StreamReader(file, Encoding.UTF8);
            StreamWriter writer = new StreamWriter(file, Encoding.UTF8);
            string row;
            do
            {
                row = reader.ReadLine();
                string[] mas = new string[7];
                mas = row.Split(' ');
                Student.num = Convert.ToInt32(mas[0]);
                Student.FIO = mas[1];
                Student.Birthday = Convert.ToDateTime(mas[2]);
                Student.Institute = mas[3];
                Student.Group = mas[4];
                Student.Step = Convert.ToInt16(mas[5]);
                Student.Ball = Convert.ToDouble(mas[6]);
                Note.Add(Student);
                Student = new Students();
            }
            while (reader.EndOfStream == false);
            Console.WriteLine("База данных:");
            for (int i = 0; i < Note.Count; i++)
            {
                Console.WriteLine(Note[i].num + "\t" + Note[i].FIO + "\t" + Note[i].Birthday + "\t" + Note[i].Institute + "\t" + Note[i].Group + "\t" + Note[i].Step + "\t" + Note[i].Ball);
            }
            Console.ReadKey();
            Console.Write("Выберите действие:\n 1) Добавить запись; \n 2) Удалить запись \n 3)Изменить запись \n 4) Прямая сортировка \n 5) Обратная сортировка; \n 6) Поиск эл-та \n 7) Переход к пункту меню: Средний балл \n");
            int choose = Convert.ToInt32(Console.ReadLine());
            switch (choose)
            {
                case 1:
                    {
                        try
                        {
                            Student = new Students();
                            string plus = Console.ReadLine();
                            string[] masPlus = plus.Split(' ');
                            Student.num = Convert.ToInt32(masPlus[0]);
                            Student.FIO = masPlus[1];
                            Student.Birthday = Convert.ToDateTime(masPlus[2]);
                            Student.Institute = masPlus[3];
                            Student.Group = masPlus[4];
                            Student.Step = Convert.ToInt16(masPlus[5]);
                            Student.Ball = Convert.ToDouble(masPlus[6]);
                            Note.Add(Student);
                            Console.WriteLine("Изменённый список:");
                            for (int i = 0; i < Note.Count; i++)
                            {
                                Console.WriteLine(Note[i].num + "\t" + Note[i].FIO + "\t" + Note[i].Birthday + "\t" + Note[i].Institute + "\t" + Note[i].Group + "\t" + Note[i].Step + "\t" + Note[i].Ball);
                            }
                            Console.ReadKey();
                        }
                        catch (System.FormatException)
                        {
                            Console.WriteLine("Проверьте правильность введенных данных");
                            Console.ReadKey();
                            break;
                        }
                        break;
                    }
//////////////////////////////////////////////////осткод//////////////////////////////////////////////////

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.333 из 5
Похожие ответы