Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Градусы - Минуты - Секунды, пишу программку 
:(
    Опции темы
Клявас®
Дата 26.6.2006, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 1.9.2004
Где: Литва, Вильнюс

Репутация: нет
Всего: нет



Мне вот задали ещё одну программку написать на С++.

Угол определён в градусах, минутах и секундах.
Найти двойной угол. Действие проделать дважды.

Т.е., получается, допустим, если угол: 
13°,  39 минут и 27 секунд, 

то двойной угол будет:

27°, 18 минут и 54 секунды ?!

Просто я впервые сталкиваюсь, чтобы угол измерялся в минутах и секундах.
Расскажите пожалуйста, если не трудно, правильно ли я расчитываю?! 
PM MAIL WWW ICQ   Вверх
Void
Дата 26.6.2006, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 40
Всего: 173



1 градус = 60 угловых минут
1 угловая минута = 60 угловых секунд

Посчитал верно. 


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Prehistorik
Дата 26.6.2006, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 30.5.2006
Где: СПб

Репутация: 1
Всего: 3



Либо делать 60-ти ричную арифметику (а точнее только операцию х2) либо сначала в секунды всё, потом множим на два, потом обратно разбиваем на мин и градусы.

P.S.: первый способ чуть-чуть интереснее... но это ИМХО...

P.P.S: а при чем здесь С/С++??? smile  
--------------------
Есть только один бог - Ассемблер, и С - пророк его. 
PM MAIL   Вверх
MAKCim
Дата 26.6.2006, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Код

angle calculate(const angle& p_angle)
{
    angle angle_=p_angle;
    angle_.minutes*=2;
    (angle_.degree*=2)+=angle_.minutes/60;
    angle_.minutes%=60;
    angle_.seconds*=2;
    angle_.minutes+=angle_.seconds/60;
    angle_.seconds%=60;
}
 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Клявас®
Дата 26.6.2006, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 1.9.2004
Где: Литва, Вильнюс

Репутация: нет
Всего: нет



Не знаю, я вот вчера пробовал писать, просто у нас задание заключается в том, чтобы создать класс для помещения определённых данных и нужных методов. Написать метод класса для ввода данных из клавиатуры. Написать метод конструктора без и с аргементами.

Код

#include <iostream>
using namespace std;

class Kampas{
protected: 
    int l,m,s,k,dv;
public:
        Kampas(): l(0),m(0),s(0),k(0),dv(0){}
        Kampas(int a): l(0),m(0),s(0),k(0),dv(a){}
    void showKampas(){
        cout<<"Jusu kampas yra: "<<l<<" laipsniu, " <<m<<" minutes ir "<<s<<" sekundes" <<endl;
    }
    void getKampas(){
            cout<<"Iveskite kampo laipsnius: "<<endl;
            cin>>l;
            cout<<"Iveskite kampo minutes: "<<endl;
            cin>>m;
            cout<<"Iveskite kampo sekundes: "<<endl;
            cin>>s;
    }
};
//

int main(){
    Kampas i;
        i.getKampas();
        i.showKampas();
        double dv1=0,dv2=0,dv3=0;
        dv1=g1+g1();
        dv1=g1+g1;
        dv2=g2+g2;
        dv3=g3+g3;
        if (m>59){
            if (s>59){
            m=m+1;
            s=s-59;
            }
        }

    cout<<"Dvigubas kampas yra: "<<dv1<<" laipsniu"<<endl;
    cout<<"Dvigubas kampas yra: "<<dv2<<" minuciu"<<endl;;
    cout<<"Dvigubas kampas yra: "<<dv3<<" sekundes"<<endl;
    return 0;
}

 
PM MAIL WWW ICQ   Вверх
MAKCim
Дата 26.6.2006, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата

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

неправильный у тебя класс 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Клявас®
Дата 26.6.2006, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 1.9.2004
Где: Литва, Вильнюс

Репутация: нет
Всего: нет



а как правильный сделать?  smile  
PM MAIL WWW ICQ   Вверх
Клявас®
Дата 27.6.2006, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 1.9.2004
Где: Литва, Вильнюс

Репутация: нет
Всего: нет



Если кому-то ещё нужен правильный ответ, кроме меня:
 smile 

Код


#include <iostream>
using namespace std;

class Kampas{
protected:
    int L, M, S, dv1, dv2, dv3;
public:
    Kampas(): L(0), M(0), S(0), dv1(0), dv2(0), dv3(0){}
    Kampas(int l, int m, int s): L(l), M(m), S(s), dv1(0), dv2(0), dv3(0){}
    void showKampas(){
        cout<<"Kampo dydis: "<<L<<"  laipsniu, "<<M<<"  minuciu, "<<S<<"  sekundziu!"<<endl;
    }
    void getKampas(){
        cout<<"Iveskite laipsnius: "<<endl;
        cin>>L;
        do{
            cout<<"Iveskite minutes: "<<endl;
            cin>>M;
            if(M>59){
                cout<<"Blogai ivedete duomenis, iveskite dar karta!"<<endl;
            }
        }while(M>59);
        do{
            cout<<"Iveskite sekundes: "<<endl;
            cin>>S;
            if(S>59){
                cout<<"Blogai ivedete duomenis, iveskite dar karta!"<<endl;
            }
        }while(S>59);
    }
    void showDvKampas(){
        cout<<"Dvigubo kampo dydis yra: "<<dv1<<"  laipsniu ,"<<dv2<<"  minuciu ,"<<dv3<<"  sekundziu!"<<endl;
    }
    void getDvKampas(){
        dv1=L+L;
        dv2=M+M;
        dv3=S+S;
        if(dv3>59){
            dv3=dv3-60;
            dv2++;
        }
        if(dv2>59){
            dv2=dv2-60;
            dv1++;
        }
    }
};
int main(){
    Kampas a;
    a.getKampas();
    a.showKampas();
    a.getDvKampas();
    a.showDvKampas();
    return 0;
}



 
PM MAIL WWW ICQ   Вверх
Xenon
Дата 27.6.2006, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



Клявас®, Ты народ не пугай литовским. Я-то понимаю, а они-то не в курсе, что kampas-Угол  smile  
PS. И почему у тебя Protected, а не private ... Не наследуется же класс smile 

Это сообщение отредактировал(а) XenonSk - 27.6.2006, 15:59


--------------------
user posted image  
PM MAIL   Вверх
Клявас®
Дата 27.6.2006, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 1.9.2004
Где: Литва, Вильнюс

Репутация: нет
Всего: нет



Цитата(XenonSk @ 27.6.2006,  15:58)
Клявас®, Ты народ не пугай литовским. Я-то понимаю, а они-то не в курсе, что kampas-Угол  smile  
PS. И почему у тебя Protected, а не private ... Не наследуется же класс smile

Прикол в том, что лень было комментарии править  smile 
Насчёт наследования класса - не совсем понимаю.  smile  
PM MAIL WWW ICQ   Вверх
MAKCim
Дата 27.6.2006, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата

Насчёт наследования класса - не совсем понимаю.

Поля M, L, S ... лучше делать private-полями
тем более если класс в дальнейшем не наследуется 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Xenon
Дата 27.6.2006, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1529
Регистрация: 12.4.2006

Репутация: 11
Всего: 50



Поля и методы protected доступны потомкам класса, а private доступны только самому классу smile
Если видешь protected, сразу в голове мысль "класс наследуется" - с толку в твоем случае сбивает smile 


--------------------
user posted image  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0783 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.