Консольная библиотека на С++

Тема данной курсовой работы «Разработка программы электроной библиотеки».

Сведения об ассортименте книг в библиотеке включают:  название книги, автор, инвентарный номер, месторасположение книги.

Язык написания С++, тип БД текстовый файл. Написан в Visual Studio 2012(2015).

В архиве проекта отсутствует пояснительная записка, тут только проект программы, который требуется запустить на Visual Studiio после распоковки!

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

Администратор может:

  • Загрузка данных из файла
  • Вывод записей
  • Удаление одной или всех записей
  • Поиск записи
  • Редактирование записи
  • Запись в файл
  • Изменение пароля
  • Выдать книгу на руки

Пользователь может:

  • Просмотр записей
  • Поиск записи
  • Выдать книгу на руки

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

Для объединения данных внутри программы используется контейнер std::list из стандартной библиотеки

//Чтение из файла
void readFileV()
{
	//Поток для чтения
	ifstream ifRead(f_name);

	if ( !ifRead.is_open() )
	{
		//Создаем файл
		ofstream ofWrite(f_name);

		if( !ofWrite.is_open() )
		{
			cout << "Ошибка, нет доступа к файлу!!!" << endl;

			return;
		}

		//Закрываем файл
		ofWrite.close();
		return;
	}

	string sBuffer, sBufferEmpty;
	BooksStruct *tmpStr = new BooksStruct;

	//Для проверки на пустоту самого файла
	getline(ifRead, sBufferEmpty);

	//Если буфер не пустой
	if(sBufferEmpty != "")
	{
		//Записываем в структуру
		tmpStr->iPosition = stoi(sBufferEmpty);

		//Читаем пока файл не пустой
		while ( !ifRead.eof() )
		{			
			//Проверка временного буфера, дабы читать все верно, мы его очищаем ниже
			if(sBufferEmpty == "")
			{
				getline(ifRead, sBuffer);

				//Проверка на случай, если вдруг в конце файла будет пустая строка
				if(sBuffer == "")
				{
					//Выходим из цикла, как только нашли пустую строку
					//такое возможно, если вдруг после всех данных будет один
					//или более пробелов
					break;
				}
				else
				{
					tmpStr->iPosition = stoi(sBuffer);
				}
			}

			//Очищаем временный буфер
			sBufferEmpty = "";

			//Название книги
			getline(ifRead, sBuffer);
			tmpStr->sName = sBuffer;

			//Автор книги
			getline(ifRead, sBuffer);
			tmpStr->sAuthor = sBuffer;

			//Инвентарный номер книги
			getline(ifRead, sBuffer);
			tmpStr->sInvNomer = sBuffer;

			//Стоимость книги
			getline(ifRead, sBuffer);
			tmpStr->dCost = stod(sBuffer);

			//Кому выдана книга
			getline(ifRead, sBuffer);
			tmpStr->sLocation = sBuffer;

			// и добавляем в список
			theBooks.push_back(*tmpStr);
		}
	}

	//Очищаем и закрываем поток	
	ifRead.close();

	//Удаляем указатель
	delete tmpStr;
}

Присоединяйся

Зарегестрируйся с помощью социальных сетей.

Публикуй

Опиши работу, прикрепи файлы и назначь цену.

Зарабатывай

Получай пассивный доход с продажи работ.

Тебе понадобится 5 минут для публикации работы на сайте.
Купить

500,00 

(без учета комиссии 3,8 %)

Library_SmallSize.rar
18691
Оцени работу

рейтинг

Поделись работой с друзьями

Мы не грузим циферки, чтоб ты увидел контент как можно быстрее;

Комментарии (0)

Zicise

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегестрированые пользователи имеют возможность комментировать работы
Консольная библиотека на С++
Тема данной курсовой работы «Разработка программы электронной библиотеки». Сведения об ассортименте книг в библиотеке включают: название книги, автор, инвентарный номер, месторасположение книги. Индивидуальное задание: кроме стандартных, сделать возможность выдачи на руки определенной книги.
Категория: Образование
Стоимость: 500,00