Добавить в корзинуПозвонить
Найти в Дзене

Программа для библиотекаря. Практика с двумерным массивом.

Всем Хай! Ну что? Готовы к очередной практике по программированию? Сегодня будет одна программа, но чтобы её реализовать понадобится двумерный массив, о котором мы говорили в прошлой статье. И как я обещал сегодня мы поможем Библиотекарше Марии и сделаем для неё программку, которая знает на какой полке лежит та или иная книга. Поехали. Для начала нужно скачать сам код с яндекс диска. Я решил, что если код длинный, то буду загружать его отдельным файлом. Иначе статья неоправданно длинная получается. И простыня кода в ней смотрится ужасно. Скачать код программы. Вначале мы сразу перечисляем наши книги в двумерном массиве и добавляем переменную «bool open = true» и сразу ставим ей положение «true». Тем, кто смотрел разбор кода программы резервирование столиков в ресторане здесь, понимают, зачем нам это. Если вкратце, то чтобы выходить из цикла вводом одной цифры. Дальше мы делаем бесконечный цикл и в условии его работы ставим нашу булевую переменную. Всё, в цикле и будет работать вся наша
Оглавление
Программа для библиотеки
Программа для библиотеки

Всем Хай! Ну что? Готовы к очередной практике по программированию? Сегодня будет одна программа, но чтобы её реализовать понадобится двумерный массив, о котором мы говорили в прошлой статье. И как я обещал сегодня мы поможем Библиотекарше Марии и сделаем для неё программку, которая знает на какой полке лежит та или иная книга. Поехали.

Для начала нужно скачать сам код с яндекс диска. Я решил, что если код длинный, то буду загружать его отдельным файлом. Иначе статья неоправданно длинная получается. И простыня кода в ней смотрится ужасно.

Скачать код программы.

Вначале мы сразу перечисляем наши книги в двумерном массиве и добавляем переменную «bool open = true» и сразу ставим ей положение «true». Тем, кто смотрел разбор кода программы резервирование столиков в ресторане здесь, понимают, зачем нам это. Если вкратце, то чтобы выходить из цикла вводом одной цифры.

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

Пишем заглавие программы «Console.WriteLine(" Библиотека")» Чуть отступаем вниз «Console.SetCursorPosition(0,2)» и пишем наше основное меню.

  1. Узнать индекс книги по автору.
  2. Узнать автора книги по индексу.
  3. Вывести список всех книг библиотеки.
  4. Выйти из программы.

И как мной говорится, «Видим список, делаем swith».

Узнаём индекс кники по автору.

В первом кейсе нам нужно узнать, где в матрице лежит нужный нам автор. А для этого нам нужно создать новую переменную «string autor», чтобы можно было ввести через консоль этого автора. Также мы создаём вторую булевую переменную «bool avtorIsFinde = false». Но о ней чуть позже.

Чтобы перебрать весь двумерный массив в поиске автора, нам нужно сделать два цикла. Один будет перебрать строки, а другой столбцы.

Внутри цикла мы делаем проверку совпадений имени.

if (autor.ToLower() == books[i,j].ToLower())

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

Если совпадение найдено, то выводим адрес этой книги в библиотеки.

Console.WriteLine($"Номер книги {j+1}.\nНаходится в {i+1} ряду.")

И так как у нас библиотека для всех, а не только для программистов, мы прибавляем к индексам «i» и «j» единицу, чтобы отсчёт книг в программе начинался с 1, а не с 0.

Теперь подробней, зачем нужна булевая переменная «bool avtorIsFinde = false». А всё просто, чтобы при вводе несуществующего автора программа выводила сообщение о его отсутствие.

if (avtorIsFinde == false)
{
Console.WriteLine("Нет такого автора.");
}

Узнаём автора книги по индексу.

Во втором кейсе всё проще. Нам нужно просто вывести книгу по известным индексам. Здесь даже циклы не нужны. Ведь перебирать весь массив не нужно. Создаём две переменные, куда будем вводить координаты книги «int row» и «int col» и просто выводим имя автора в консоли.

Console.WriteLine($"Книга автора: {books[row, col]}.")

Выводим список всех книг библиотеки.

В третьем кейсе тоже ничего сложного . Мы уже это делали в статье о двумерном массиве. Нужно просто вывести весь массив в консоли. В нашем случае это список всех авторов. Делаем цикл в цикле и результат выводим.

Выход из программы.

А четвёртый кейс у нас просто закрывает программу. Помните болевую переменную вначале? Она ещё стоит в условии работы всего цикла. Так вот при нажатии на «4» она меняет своё состояние на «open = false» и цикл завершается.

Видео работы программы.

Вот и вся программа. Не сложная в понимании, если вы двигались со мной от статьи к статье. Скоро мы с вами освоим основы C# и начнём изучать Unity, чтобы сделать первые шаги в разработке. Пока мы только к ним готовимся.

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

Понравилась статья ставьте лайк. Есть вопросы? Пишите в комментариях. Всех обнял, приподнял, покружил и на место поставил. До скорого!

#it #разработкаигр #программированиеснуля #программированиедляначинающих #какстатьпрограммистом #csharp #сишарп