Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 21.05.2017, 22:22   #1
c0mat0s
Новичок
Джуниор
 
Регистрация: 21.05.2017
Сообщений: 1
По умолчанию Помогите срочно!

Возникла проблема.... Вот задание которое нужно сделать и мой код:
Скрытые поля:
• Номер по порядку (назначается автоматически);
• Название фильма (компилируется случайным образом, из заранее подготовленных слов, считанных из файла);
• Режиссёр (выбирается случайно из подготовленных вариантов);
• Студия (выбирается случайно из заготовленных вариантов);
• Продолжительность (генерируется случайно в диапазоне 1,5-3 часов); (Доделать)
• Продолжительность в минутах (вычисляется);
• Кассовые сборы (вычисляется, исходя из предыдущих данных).*(не опнял)
Публичные статические поля:
• Счётчик количества экземпляров;
• Общая продолжительность фильмов
Скрытые методы:
• Вычисление кассовых сборов;
• Вычисление общей продолжительности фильмов.
Публичные методы:
• Конструктор (присваивает значения всем полям);
• Деструктор (пересчитывает статические переменные);
• Ручная смена режиссёра (с пересчётом кассовых сборов);
• Вывод на экран всех полей (кроме статических);
• Вывод общей продолжительности фильмов.
Программа:
Запросить пользователя количество экземпляров класса (не более 20) и создать коллекцию (массив, вектор, список или др.) выбранной им длинны. Затем предложить пользователю меню, позволяющее запускать публичные методы (кроме конструктора и деструктора), выводить данные на экран, узнать информацию об авторе, а также выйти из программы. Навигацию по меню осуществлять стрелками. Меню зациклить.
Вывод списка на экран должен быть доступен в таких режимах:
• Вывод всего списка;
• Вывод одного экземпляра с заданным порядковым номером;
• Вывод всех экземпляров выбранного режиссёра;
• Вывод всех экземпляров выбранной студии;
• Вывод всех экземпляров с со сборами больше выбранных;
После выполнения каждого пункта очищать экран. Предусмотреть максимальное количество ошибок пользователя.

Код:
Моя программа
#include "stdafx.h"
#include <iostream>
#include <string>
#include <conio.h>
#include <vector>
#include <stdlib.h>
#include <ctime>
using namespace std;
class produsor
{
public:
string name;
int rank;
produsor(string Pname, int Prank) {
name = Pname;
rank = Prank;
}
};

class movie
{
static unsigned Counter;
static int AllFilmsTime;
private:
vector <produsor> ProdusersList;
//ProdusersList[0] = produsor.setProdusor("J.J.Abrams", 7);
vector<string> FilmsList = { "Avatar", "IronFist", "Titanik", "Hulk", "TheLordOfRings" };
vector<string> StudiosList = { "20th Century Fox", "Marvel", "disney", "Columbia Pictures" };
int Number;
float Time;
//double Time1;
void CountFilmsTime() {
AllFilmsTime = AllFilmsTime + FilmTime;
}
float SetTotalTime() {
srand(time(NULL));
Time = 449 + rand() % 451;
return (Time);
}
float SetFilmTime() {
srand(time(NULL));
Time = 89 + rand() % 91;
return (Time);
}
string SetStudio() {
srand(time(NULL));
Number = rand() % 4;
return StudiosList[Number];
}
string setProduser() {
srand(time(NULL));
Number = rand() % 5;
return ProdusersList[Number].name;
}
string setFilmName()
{
srand(time(NULL));
Number = rand() % 5;
return FilmsList[Number];
}
public:
double FilmTime1;
int FilmsCounter;
float TotalTime;
float FilmTime;
string FilmName;
string ProduserName;
string StudioName;

//vector <produsor> getProdusorsList() {
string getProdusorsList(int i) {
return ProdusersList[i].name;
}

int getAllFilmsTime() {
return AllFilmsTime;
}

int getCount() {
return Counter;
}

void ChangeProdusor(string produsor) {
ProduserName = produsor;
}
//destructor
//~movie() {

//}Destructor
movie () {//(produsor AllProdusors) {
produsor p1("Nick Ahlmark", 7);
ProdusersList.push_back(p1);
produsor p2("J.J.Abrams", 9);
ProdusersList.push_back(p2);
produsor p3("Brian Cosgrove", 8);
ProdusersList.push_back(p3);
produsor p4("Benedict Cumberbatch", 6);
ProdusersList.push_back(p4);
produsor p5("Frank Harper", 3);
ProdusersList.push_back(p5);

FilmName = setFilmName();
ProduserName = setProduser();
FilmTime = SetFilmTime();
StudioName = SetStudio();
TotalTime = SetTotalTime();
Counter = Counter + 1;
FilmsCounter = Counter;
CountFilmsTime();
}

void print() {
cout << FilmName << endl;
cout << ProduserName << endl;
//cout << FilmTime1 << endl;
cout << FilmTime << endl;
cout << StudioName << endl;
cout << TotalTime << endl;
cout << getCount() << endl;
cout << getAllFilmsTime() << endl;
}
};
unsigned movie::Counter = 0;
int movie::AllFilmsTime = 0;
int main()
{
int ProdusorNumber;
string ProdusorName;
movie RandFilm[20];
//movie RandFilm2;

/* vector<produsor> ProdusersList; //= { "J.J.Abrams", "Nick Ahlmark", "Brian Cosgrove", "Benedict Cumberbatch", "Frank Harper" };
produsor p1("Nick Ahlmark", 7);
ProdusersList.push_back(p1);
produsor p2("J.J.Abrams", 9);
ProdusersList.push_back(p2);
produsor p3("Brian Cosgrove", 8);
ProdusersList.push_back(p3);
produsor p4("Benedict Cumberbatch", 6);
ProdusersList.push_back(p4);
produsor p5("Frank Harper", 3);
ProdusersList.push_back(p5);*/
//vector <string> ProdusorsList = RandFilm[0].getProdusorsList();
RandFilm[0].print();
/* cout << RandFilm.FilmName << endl;
cout << RandFilm.ProduserName << endl;
cout << RandFilm.FilmTime1 << endl;
cout << RandFilm.FilmTime << endl;
cout << RandFilm.StudioName << endl;
cout << RandFilm.TotalTime << endl;
cout << RandFilm.getCount() << endl;
cout << RandFilm.getAllFilmsTime() << endl;*/
cout << "Set new produsor name" << endl;
for (int i = 0; i < 5; i++) {
cout << i + 1 << ") " << RandFilm[0].getProdusorsList(i) << endl;
}
cin >> ProdusorNumber;
//RandFilm[0].ChangeProdusor(ProdusorsList[ProdusorNumber - 1]);
RandFilm[0].ChangeProdusor(RandFilm[0].getProdusorsList(ProdusorNumber - 1));
cout << endl;
cout << RandFilm[0].ProduserName << endl;
}

Вопрос: В задании сказано, сделать кассовые сборы и режиссера с пересчетом кассовых сборов. У меня с этим возникли трудности. Помогите решить.
c0mat0s вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод нужен срочно помогите ) в течение 2 часов от Паскаля на Турбо СИ нужно помогите Жанибек Помощь студентам 14 01.04.2015 17:23
Помогите создать програму для роботы с файлами, пожалуйста помогите нужно очень срочно Сергей Человек Фриланс 3 06.07.2009 19:30
Парни помогите!!срочно нужно решить в течении пару часов..завтра зачет!Парни помогите! razorl1ner Паскаль, Turbo Pascal, PascalABC.NET 0 01.06.2009 00:02