LAB 8
aip lab 8unknown
c_cpp
3 years ago
2.8 kB
10
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...