LAB 8

aip lab 8
 avatar
unknown
c_cpp
2 years ago
2.8 kB
9
Indexable
#include <iostream>
#include <cstring>

using namespace std;

struct Film
{
    char Title[40];
    char DirectorName[15];
    char DirectorSurname[15];
    char Country[20];
    int ReleaseDate;
    int Cost;
    int Income;
    int Profit; 
};

Film InitFilm();
void DisplayFilm(Film);
void InitArray(Film*, int);
void DisplayArray(Film*, int);
void DisplayChoise(Film*, int, char*, int, int);

const int STR_LEN = 250;

int main()
{
    int length;
    int lowerDate, higherDate;
    char country[20];
    
    
    cout << "\nEnter films count: ";
    cin >> length;
    
    Film *films = new Film[length];
    InitArray(films, length);
    
    cout << "\nThe list of films:\n";
    DisplayArray(films, length);
    
    
    cout << "\nEnter production country: ";
    cin.ignore();
    cin.getline(country, STR_LEN);
    
    cout << "\nEnter lower release date: ";
    cin >> lowerDate;
    
    cout << "\nEnter higher release date: ";
    cin >> higherDate;
    
    DisplayChoise(films, length, country, lowerDate, higherDate);
    
    delete []films;
    
    return 0;
}
Film InitFilm()
{
    Film film;
    
    cout << "\nEnter film title: ";
    cin.ignore();
    cin.getline(film.Title, STR_LEN);
    
    cout << "\nEnter director name: ";
    cin.getline(film.DirectorName, STR_LEN);
    
    cout << "\nEnter director surname: ";
    cin.getline(film.DirectorSurname, STR_LEN);
    
    cout << "\n Enter production country: ";
    cin.getline(film.Country, STR_LEN);
    
    cout << "\nEnter release date: ";
    cin >> film.ReleaseDate;
    
    cout << "\nEnter film cost: ";
    cin >> film.Cost;
    
    cout << "\nEnter film income: ";
    cin >> film.Income;
    
    cout << "\nEnter film profit: ";
    cin >> film.Profit;
    
    return film;
}
void DisplayFilm(Film film)
{
    cout << film.Title 
    << " " << film.ReleaseDate 
    << " " << film.DirectorName
    << " " << film.DirectorSurname
    << " " << film.Country
    << " " << film.Cost
    << " " << film.Income 
    << " " << film.Profit
    ;
}
void InitArray(Film *films, int len)
{
    for(int i = 0; i < len; i++)
    {
        cout << "Enter the info about " << i + 1 << "-th " << " film" << endl;
        films[i] = InitFilm();
    }
}
void DisplayArray(Film *films, int len)
{
    for(int i = 0; i < len; i++)
    {
        cout << endl;
        DisplayFilm(films[i]);
    }
}
void DisplayChoise(Film *films, int len, char *country, int lowerDate, int higherDate)
{
    for(int i = 0; i < len; i++)
    {
        Film film = films[i];
        if(strcmp(film.Country, country) == 0
            &&(film.ReleaseDate >= lowerDate && film.ReleaseDate <= higherDate))
        {
            cout << endl;
            DisplayFilm(film);
        }
    }
}
Editor is loading...