Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Программа 4.2. Видеомагазин

Читайте также:
  1. I. Характеристика проблемы, на решение которой направлена подпрограмма
  2. I. Характеристика проблемы, на решение которой направлена Программа
  3. I. Характеристика проблемы, на решение которой направлена Программа
  4. II. ОРГАНИЗАЦИЯ ПРИЕМА В АКАДЕМИЮ ДЛЯ ОБУЧЕНИЯ ПО ОСНОВНЫМ ОБРАЗОВАТЕЛЬНЫМ ПРОГРАММАМ СПО
  5. III. Особые права при приеме на обучение по программам бакалавриата и программам специалитета
  6. V. ЗАЧИСЛЕНИЕ В АКАДЕМИЮ ДЛЯ ОБУЧЕНИЯ ПО ОСНОВНЫМ ОБРАЗОВАТЕЛЬНЫМ ПРОГРАММАМ СПО
  7. Глава 17: Базовая силовая программа

Main – программа эмулирует операции видеомагазина. Первоначально весь перечень фильмов списывается из файла films и сохраняется в списке с именем InvenoryList. Мы наблюдаем короткий промежуток времени деятельности видеомагазина и рассматриваем заказы четырёх клиентов на прокат фильмов. В каждом случае мы вводим имя клиента и заказ фильма и определяем, имеется ли этот фильм в наличии в настоящее время. Если да, то мы удаляем его из инвентаризационного списка и добавляем клиента в список лиц, взявших фильмы напрокат. Если фильма нет в наличии, клиент уведомляется об этом.

#nclude <iostream.h>

#include <fstream.h>

 

#include <stdlib.h>

#include <string.h>

 

#include "video.h" // объявление видео-данных

#include "aseqlist" // включить класс SeqList

 

// читать таблицу фильмов с диска

void SetupInventoryList(seqList &inventoryList)

{

ifstream filmFile;

FilmData fd;

 

//открыть файл, с проверкой ошибок

filmFile.open("Films", ios::in | ios::nocreate);

if (!filmFile)

{

cerr << "Файл 'films' не найден!" << endl;

exit(1);

}

 

// читать строки до конца файла;

// вставлять наименования фильмов в инвентаризационный список

while(filmFile.getline(fd.filmName, 32,'\n'))

inventoryList.insert(fd);

}

 

// печать наименований фильмов

void PrintInventoryList(const SeqList &invetoryList)

{

int i;

FilmData fd;

 

for (i = 0; i < inventoryList.ListSize(); i++)

{

fd = inventoryList.GetData(i); //

cout << fd.filmName << endl; //

}

}

 

// цикл по списку клиентов. печать клиентов и фильмов

void PrintCustomerList(const SeqList &customerList)

{

int i;

filmData fd;

for (i = 0; i < customerList.ListSize(); i++)

{

fd = customerList.GetData(i); //

cout << fd.customerName << " (" << fd.filmName << ") " <<endl;

}

}

 

void main(void)

{

//

SeqList inventoryList, customerList;

int i;

 

//

FilmData fdata;

 

char customer[20];

 

SetupinventoryList(inventoryList); // Читать файл с фильмами

 

// запрос имени клиента и названия фильма

// если запрошенный файл имеется в наличии, он вносится в список клиентов

// и удаляется из списка фильмов; в противном случае выдаётся

// сообщение об отсутствии фильма

for (i = 0; i < 4; i++)

{

//ввод имени клиента и названия фильма

cout<< "Имя клиента: ";

cin.getline(customer,32,'\n');

cout<< "Запрашиваемый фильм: ";

cin.getline(fdata.filmName,32,'\n');

 

if(inventoryList.Find(fdata))

{

{

strcpy(fdata.customerName,customer);

// втавить название фильма в список клиентов

customerList.Insert(fdata);

// удалить из списка фильмов

inventoryList.Delete(fdata);

}

else

cout<< "Сожалею! "<<fdata.filmName

<< "отсутствует."<< endl;

}

cout << endl;

 

// печать списков клиентов и фильмов

cout << "Коиенты, взявшие фильмы для просмотра" << endl;

PrintCustomerList(customerList);

cout << endl;

cout << "Фильмы, оставшиеся в ведомости:"<< endl;

PrintInventoryList(inventoryList);

}

 

/*

< Входной файл "Films">

 

Война миров

Кассабланка

Грязный Гарри

Дом животных

Десять заповедей

Красавица и зверь

Список Шиндлера

Звуки музыки

La Strata

Звёздные войны

 

<Выполнение программы 4.2>

 

имя клиента: Дон Бекер

Запрашиваемый фильм: Дом животных

имя клиента: Тери Молтон

Запрашиваемый фильм: Красавица и зверь

имя клиента: Деррик Лопез

Запрашиваемый фильм: La Strata

имя клиента: Хиллари Дэн

Запрашиваемый фильм: Дом животных

Сожалею! Дом Животных отсутствует.

 

Клиенты, взявшие фильмы для просмотра

Дон Бекер (Дом животных)

Тери Молтон (Красавица и зверь)

Деррик Лопез (La Strata)

 

Фильмы, оставшиеся в ведомости:

Война миров

Кассабланка

Грязный Гарри

Десять заповедей

Список Шиндлера

Звуки музыки

Звёздные войны

*/

 


Дата добавления: 2015-07-15; просмотров: 82 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
DataType SeqList : : GetData ( int pos ) const| Базовый курс Autodesk 3ds Max

mybiblioteka.su - 2015-2024 год. (0.008 сек.)