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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2013, 12:38   #1
thedoctor
Пользователь
 
Регистрация: 29.11.2013
Сообщений: 10
По умолчанию Не могу понять,что хочет препод,или я чет туплю.

Доброго всем дня, программисты! У меня легкий ступор или недопонимание) Вчера препод мне сказал,чтобы я переделал этот код,написанный на C++:

Код:
#include <iostream>
#include <cmath>
using namespace std;

class Square
{
private:
    float m_a;
public:
    void ChgCube(float ChangeVal)
    {
        m_a+=m_a*(ChangeVal/100);
        cout<<"Side after changing scale UP on "<<ChangeVal<<" percent is: "<<m_a<<"\n";

        m_a-=m_a*(ChangeVal/100);
        cout<<"Side after changing scale DOWN on "<<ChangeVal<<" percent is: "<<m_a<<"\n";
    }
    float Area()
    {
        return m_a*m_a;
    }
    float Perimeter()
    {
        return 4*m_a;
    }
    float Diagonal()
    {
        return sqrt(2)*m_a;
    }
};

int main()
{
    float a;
    Square Z;
    cout<<"The Cube side is: ";
    cin>>Z.m_a;
    cout<<"Scale Up/Down at percent ";
    cin>>a;
    Z.ChgCube(a);
    cout<<"The Area is: "<<Z.Area()<<"\nThe perimeter is: "<<Z.Perimeter()<<"\nThe diagonal is: "<<Z.Diagonal();
    return 0;
}

И попросил переделать эту часть кода,так как в задании нам нужно "увеличение/уменьшение размера куба на определенный процент:

Код:
void ChgCube(float ChangeVal)
    {
        m_a+=m_a*(ChangeVal/100);
        cout<<"Side after changing scale UP on "<<ChangeVal<<" percent is: "<<m_a<<"\n";

        m_a-=m_a*(ChangeVal/100);
        cout<<"Side after changing scale DOWN on "<<ChangeVal<<" percent is: "<<m_a<<"\n";

,как это реализовать,я не вдупляю,может,кто из вас знает?Заранее спасибо))
thedoctor вне форума Ответить с цитированием
Старый 15.12.2013, 12:53   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

А зачем Вы сначала увеличиваете размер, а потом сразу уменьшаете?
Наверно он хотел видеть эти действия по раздельности.

Код:
void ChgCube(float ChangeVal, bool bIncr=true)
{
        if(bIncr)
        { 
            m_a+=m_a*(ChangeVal/100);
            cout<<"Side after changing scale UP on "<<ChangeVal<<" percent is: "<<m_a<<"\n";
        }
        else
        {
            m_a-=m_a*(ChangeVal/100);
            cout<<"Side after changing scale DOWN on "<<ChangeVal<<" percent is: "<<m_a<<"\n";
        }
}



int main()
{
    float a;
    Square Z;
    cout<<"The Cube side is: ";
    cin>>Z.m_a;

    cout<<"Scale Up at percent ";
    cin>>a;
    Z.ChgCube(a);
    cout<<"The Area is: "<<Z.Area()<<"\nThe perimeter is: "<<Z.Perimeter()<<"\nThe diagonal is: "<<Z.Diagonal();

    cout<<"Scale Down at percent ";
    cin>>a;
    Z.ChgCube(a,false);
    cout<<"The Area is: "<<Z.Area()<<"\nThe perimeter is: "<<Z.Perimeter()<<"\nThe diagonal is: "<<Z.Diagonal();

    return 0;
}
counter вне форума Ответить с цитированием
Старый 15.12.2013, 12:59   #3
thedoctor
Пользователь
 
Регистрация: 29.11.2013
Сообщений: 10
По умолчанию

Спасибо Огромное!!!Блин,реально,чет тупанул,благодарю))
thedoctor вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсобите исправить ошибку пожалуйста, я чет туплю не могу понять... Дмитрий132 Помощь студентам 1 11.12.2013 10:07
...Заставить делфи - программу реагировать на кнопку ибо не хочет чет... Katus Помощь студентам 1 22.02.2012 00:32
не могу понять что не так aferistz Общие вопросы C/C++ 5 23.09.2010 02:21
не могу понять, что за скрипт ZET78 JavaScript, Ajax 0 18.08.2010 00:10
Не могу понять, что требуется? Shuraken Общие вопросы Delphi 2 10.08.2007 11:41