Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 04.05.2015, 15:50   #1
LittleMonkey
Пользователь
 
Регистрация: 24.09.2014
Сообщений: 16
Репутация: 10
Стрелка Модификация кода

Добрый день! Помогите, пожалуйста, немного модифицировать код:
Код:
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <string>
using namespace std;

class publication
{
string name;
float cost;
public:
virtual void getdata() = 0
{
cout « "Введите стоимость книги и ее название:" « endl;
cin » cost » name;
}
virtual void putdata() const = 0
{
cout « "Cтоимость книги и ее название:" « endl;
cout « cost « ' ' « name « endl;
}
virtual bool isOveersize() = 0
{
cout « "Превышение размера!" « endl;
return 0;
}
};

class book : public publication
{
short pages, count;
public:
void getdata()
{
publication::getdata();
cout « "Введите кол-во страниц в книге:" « endl;
cin » pages;
count = pages;
}
void putdata() const
{
publication::putdata();
cout « "Ее стоимость:\n" « pages « endl;
cout « "Кол-во страниц:\n" « count « endl;
}
bool isOveersize()
{
if (count > 800)
publication::isOveersize();
else
return 1;
}
};

class tape : public publication
{
float time;
float count;
public:
void getdata()
{
publication::getdata();
cout « "Введите время записи:" « endl;
cin » time;
count = time;
}
void putdata() const
{
publication::putdata();
cout « "Время записи книги:\n" « time « endl;
cout « "Кол-во страниц:\n" « count « endl;
}
bool isOveersize()
{
if (count > 90)
publication::isOveersize();
else
return 1;
}
};

int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
const short MAX(2);
publication* mas[MAX];
for (short i(0); i < MAX;)
{
cout « "Ввести данные о книге(1) или о записи(2)?" « endl;
char ch; cin » ch;
if (ch == '1')
{
mas[i] = new book;
mas[i++]->getdata();
}
else if (ch == '2')
{
mas[i] = new tape;
mas[i++]->getdata();
}
else
cout « "Введена некорректная цифра. Повторите ввод.\n";
cin.clear();
cin.sync();
cout « endl;
}
for (short i(0); i < MAX; i++)
{
mas[i]->putdata();
mas[i]->isOveersize();
cout « endl;
}
system("pause");
return 0;
}
Нужно сделать так, чтоб ошибка о превышении количества страниц/минут книги появлялась сразу после ввода данных о конкретной книге, а не после вывода данных о всех книгах.

Помогите, пожалуйста, реализовать!! Буду очень благодарна за помощь!
LittleMonkey вне форума   Ответить с цитированием
Старый 05.05.2015, 07:01   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 14,860
Репутация: 2668
По умолчанию

Ну перенесите вызов isOveersize туда, куда вам нужно. Или попросите того, кто этот код написал.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 05.05.2015, 20:47   #3
LittleMonkey
Пользователь
 
Регистрация: 24.09.2014
Сообщений: 16
Репутация: 10
По умолчанию

К сожалению, если просто перенести, работать как мне нужно не будет(
LittleMonkey вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
модификация программы на с++ Yulia_sko.kz Помощь студентам 0 11.04.2012 17:48
модификация TApplication xrob Компоненты Delphi 0 16.09.2011 04:23
Модификация рандома RayGGG Общие вопросы C/C++ 2 17.02.2011 04:43
Модификация сканера gamer123 Общие вопросы C/C++ 1 30.10.2010 22:45
модификация программы olla-la Assembler 1 10.05.2008 14:01


22:28.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.