На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

Магазин обуви на C++

Задание:

Создать файл содержащий сведения об ассортименте обуви в магазине.

  • Записи содержать следующую информацию: артикул, наименование, количество, стоимость одной пары.
  • Артикул начинается с буквы Ж для женской обуви, М для мужской и Д для детской.
  • На печать вывести информацию: о наличии и стоимости обуви артикула X ( вводится с клавиатуры).
  • Ассортиментный список женской обуви с указанием наименования и имеющегося в наличии числа пар каждой модели.

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

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

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

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

  • Просмотр записей(Несколько видов)
  • Поиск записи
  • Сортировка записи

Содержимое проекта:

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

В программе используются 3 основных структуры, ShoesStruct, SortNameStruct, SortCostStruct.

  • StoreStruct состоит из следующих полей: позиция, артикул обуви, наименование, количество пар, стоимость одной пары и флаг наличия(есть/нету).
  • SortNameStruct структура, предназначенная для сортировки по названию.
  • SortCostStructструктура, предназначенная для сортировки по цене.

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

Пример кода:

// Ф-ция просмотра
void displayV(list<ShoesStruct> &shoesList)
{
	if (shoesList.empty())
	{
		cout << "Элементов не обнаружено!!!" << endl;
		return;
	}

	int iBuffer = 0;
	std::string TEXT = "";
	cin.ignore();

	//Ввод инвентарного номера
	//Цикл который выполниться минимум 1 раз
	do
	{
		cout << "Выберите способ отображения записей: " << endl;
		cout << "1. Показать все записи" << endl;
		cout << "2. Вывести обувь определенного артикула(М/Ж/Д, м/ж/д)" << endl;
		cout << "3. Вывести список женской обуви имеющейся в наличии" << endl;
		cout << "0. Выйти из функции просмотра" << endl;

		getline(cin, TEXT);

		try
		{
			//Конверт данных в число
			iBuffer = std::stoi(TEXT);
		}
		catch(...)
		{
			cout << "Неправильный формат инвентарного номера!!! Попробуйте еще!!!" << endl;
			//tmp->position = 0;
			iBuffer = -2;
		}

		if (iBuffer != -2 && iBuffer < 0)
		{
			cout << "Неправильный формат инвентарного номера!!! Попробуйте еще!!!" << endl;
		}
	}
	while(iBuffer < 0);

	//Обработка выбора пользователя
	switch (iBuffer)
	{
		//Просмотр всех записей
	case 1:

		for ( list<ShoesStruct>::iterator iter = shoesList.begin(); iter != shoesList.end(); iter++)
		{
			cout << "Инв. номер: ";
			cout << (*iter).iPosition << endl;
			cout << "Артикул: ";
			cout << (*iter).sArticle<< endl;
			cout << "Наименование: ";
			cout << (*iter).sName << endl;
			cout << "Количество пар: ";;
			cout << (*iter).iCount << endl;
			cout << "Стоимость одной пары: ";
			cout << fixed << setprecision(3) << (*iter).dCost << endl;
			cout << "Имеется ли в наличии: ";
			if((*iter).bHave == true)
			{
				cout << "Да" << endl;
			}
			else
			{
				cout << "Нет" << endl;
			}
			cout << "\n";
		}

		break;

		//Вывод обуви по определенному артикулу
	case 2:

		//Ввод артикула
		//Цикл который выполниться минимум 1 раз
		do
		{
			cout << "Введите желаемый артикул: " << endl;
			getline(cin, TEXT);

			if((TEXT == "М") || (TEXT == "м"))
			{
				iBuffer = 0;
			}
			else if((TEXT == "Ж") || (TEXT == "ж"))
			{
				iBuffer = 0;
			}
			else if((TEXT == "Д") || (TEXT == "д"))
			{
				iBuffer = 0;
			}
			else
			{
				iBuffer = -1;
			}
		}
		while(iBuffer < 0);

		iBuffer = 0;

		//Обработка введенного артикула
		for ( list<ShoesStruct>::iterator iter = shoesList.begin(); iter != shoesList.end(); iter++)
		{
			//Если в структуре имеется нужные нам значения, то сразу печатаем
			if ((*iter).sArticle == TEXT)
			{
				cout << "Инв. номер: ";
				cout << (*iter).iPosition << endl;
				cout << "Артикул: ";
				cout << (*iter).sArticle<< endl;
				cout << "Наименование: ";
				cout << (*iter).sName << endl;
				cout << "Количество пар: ";;
				cout << (*iter).iCount << endl;
				cout << "Стоимость одной пары: ";
				cout << fixed << setprecision(3) << (*iter).dCost << endl;
				cout << "Имеется ли в наличии: ";
				if((*iter).bHave == true)
				{
					cout << "Да" << endl;
				}
				else
				{
					cout << "Нет" << endl;
				}
				cout << "\n";
			}
		}

		break;

		//Вывод женской обуви
	case 3:

		//Обработка введенного артикула
		for ( list<ShoesStruct>::iterator iter = shoesList.begin(); iter != shoesList.end(); iter++)
		{
			//Если в структуре имеется нужные нам значения, то сразу печатаем
			if (((*iter).sArticle == "Ж") || ((*iter).sArticle == "ж"))
			{
				if((*iter).bHave == true)
				{
					cout << "Инв. номер: ";
					cout << (*iter).iPosition << endl;
					cout << "Наименование: ";
					cout << (*iter).sName << endl;
					cout << "Количество пар: ";;
					cout << (*iter).iCount << endl;
					cout << "\n";
				}				
			}
		}

		break;

		//Выход
	case 0:
		break;

	default:
		cerr << "Ошибка! Попробуйте снова!" << endl;
	}
}

Содержание архива

  • Исходный код на С++ для Visual Studio

Купить 1500,00 
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)

/ /

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

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

Только зарегистрированые пользователи имеют возможность комментировать работы
Купить

1500,00 

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

Заказать через

ShoesStore_SmallSize.rar
18629
Оцени работу

рейтинг

Магазин обуви на C++
Среда разработки: Visual Studio Язык разработки: C++ Хранение данных: MS SQL Server
Категория: Образование
Стоимость: 1500,00