Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Artemis
0 / 0 / 0
Регистрация: 06.09.2009
Сообщений: 11
#1

Вычисление положения солнца - C++

06.09.2009, 15:59. Просмотров 1003. Ответов 9
Метки нет (Все метки)

Доброго времени суток, вот решил написать небольшую программу для вычисления положения солнца. Но возникла проблема имееться формула примерно такого типа:

L=A*cos(fi)+B*sin(fi)+C*cos(fi)+D*sin(fi)
и имееться тексотвый файл где прописаны значения переменных A,B,C,D примерно так:
A B C D
12 56 54 45
12 65 12 21
465 45 455 21
78 54 54 87
456 54 78 857

Как реализовать вычисление формулы?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2009, 15:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычисление положения солнца (C++):

Программа заход солнца на С++ - C++
Вот пацаны опять нужна эта прога только на С++, так что выручайте кому не лень! Буду весьма благодарен. Добавлено через 23 часа 56...

Написать програму восхода и захода солнца - C++
Нужно написать програму С++ восхода и захода солнца и луны. Возможно уже было и проскакивало похожее? Помогите пожалуйста.

По введенному номеру планеты (порядок удаления от Солнца) выдать ее название - C++
Составить программу, которая по введенному номеру планеты (порядок ее удаленности от Солнца), выдает название соответствующей планеты. (1 —...

нужен выход из положения - C++
Народ, мне нужна ваша помощь! У меня есть готовый код программы, но он у меня не работает... (полный отчет о запуске прилагается ниже) ...

Определение положения камня - C++
Всем доброго время суток. Написать программу, которой по введенному пользователем времени t определяется положение камня (высота от дна...

Расстояние до положения курсора - C++
Как тут сделать так, чтобы по мере приближения курсора к загаданной точке, на экран выводились сообщения: вы далеко, вы близко, вы слишком...

9
Mozart
39 / 17 / 1
Регистрация: 21.08.2009
Сообщений: 63
06.09.2009, 16:19 #2
а чему равно fi?
0
cristaloleg
148 / 49 / 1
Регистрация: 21.12.2008
Сообщений: 961
06.09.2009, 17:04 #3
1.618
Artemis, Как реализовать вычисление формулы?
а что не понятного???
0
Artemis
0 / 0 / 0
Регистрация: 06.09.2009
Сообщений: 11
06.09.2009, 17:10  [ТС] #4
fi-константа, и задаёться пользователем. Я не могу понять как мне сделать считывать построчно каждое значение переменной?
0
Mozart
39 / 17 / 1
Регистрация: 21.08.2009
Сообщений: 63
06.09.2009, 17:20 #5
A B C D
это символы записаные в файле, которые задают порядок следования данных?
0
Artemis
0 / 0 / 0
Регистрация: 06.09.2009
Сообщений: 11
06.09.2009, 17:21  [ТС] #6
Да
0
Mozart
39 / 17 / 1
Регистрация: 21.08.2009
Сообщений: 63
06.09.2009, 17:40 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   
char Lvar[4];
int A,B,C,D; // float??
//-------------------------
 
 ifstream input("sun.dat");
    for (i=0; i<4; i++) input>>Lvar[i];
 
    for (i=0; i<4; i++){//этот цикл читает значения в переменную, можно и через switch
if (Lvar[i]=='A') input>>A;
if (Lvar[i]=='B') input>>B;
if (Lvar[i]=='C') input>>C;
if (Lvar[i]=='D') input>>D;
}//Если данные в файле внесены не корректно - работать не будет.
1
Artemis
0 / 0 / 0
Регистрация: 06.09.2009
Сообщений: 11
06.09.2009, 18:57  [ТС] #8
Спасибо буду пробывать.
0
easybudda
Модератор
Эксперт CЭксперт С++
9698 / 5648 / 964
Регистрация: 25.07.2009
Сообщений: 10,863
06.09.2009, 19:48 #9
Вариант на С
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>
 
#define FI 1.618
 
/* чё-то там про солнце */
 
int main(){
    char *file_name = "test.txt";
    FILE *inp;
    int A, B, C, D;
    double L;
    char buf[BUFSIZ];
    
    if ( (inp = fopen(file_name, "r")) == NULL ){
        printf("Can't open file %s\n", file_name);
        exit(1);
    }
    
    while ( fgets(buf, BUFSIZ, inp) ){
        if ( !isdigit(*buf) )
            continue; /* пропустить строку, если первый же символ не цифра. не самая надёжная проверка ;) */
        if ( sscanf(buf, "%d %d %d %d", &A, &B, &C, &D) != 4 ){
            printf("Wrong file format!\n");
            exit(1);
        }
        
        L = (double)A * cos(FI) + (double)B * sin(FI) + (double)C * cos(FI) + (double)D * sin(FI);
        printf("A = %3d B = %3d C = %3d D = %3d L = %lf\n", A, B, C, D, L);
    }
    fclose(inp);
    exit(0);
}
Добавлено через 14 минут
Просто из любопытства: а что все эти цифры значат?
1
Artemis
0 / 0 / 0
Регистрация: 06.09.2009
Сообщений: 11
06.09.2009, 21:05  [ТС] #10
Там гороздно больше "цифирек" они учитывают прецессию, нутацию и т.д служат для получения наибольшей точности, можно конечно и без них обойтись, но мне нужна точность МАЕ поэтому приходиться заниматься вознёй, а прогу хочу написать для решения астрономических задач на судне.
0
06.09.2009, 21:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2009, 21:05
Привет! Вот еще темы с ответами:

Определение положения точки относительно прямой - C++
В общем, есть прямая и координаты ее начала и конца. И есть точка, координаты которой тоже известны. Как узнать, находится точка выше или...

Вставка (с указанием положения) и удаление элемента в vector - C++
Помогите сделать вставку с указанием положения #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;list&gt; using namespace std; int...

Изменение положения формы при нажатии кнопки - C++
На форме есть кнопка jump. Как сделать так, чтобы при нажатии на неё один раз окно меняло место положение, а при нажатие второй раз...

Функции изменения положения элементов матрицы обменом - C++
Как правильно построить функцию которая бы меняла элементы матрицы местами. //сама функция int Switch(int element1, int element2) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.