Лучший отвечающий
MSB6006 "CL.exe" завершилась с кодом -2

Вопрос
-
Работаю над проектом - математическая модель движения тела. Все было отлично, пока не появилась данная ошибка смысл которой понять не могу.
Прошу помощи.
Публикую код - MathModels.cpp
<details>//#include "DEFINE.h" #include <iostream> #include <math.h> #include <cmath> #include <ctime> #include <string> #include <iomanip> #include <stdio.h> #include "MM_H.h" #include <chrono> #include <functional> #include <fstream> //#include <cstring> //#include <iomanip> //#include <cstdlib> using namespace std; int LANG; void SELECT_LANG(){ char chek; cout << "SELECT LANGUAGE - ВЫБЕРИТЕ ЯЗЫК\n"; cout << "1. ENG" << "\n" << "2. RUS \n" << "->"; cin >> chek; if (chek == '1') { LANG = 1; } if (chek == '2') { LANG = 2; } } //#include "MM_MD.cpp" #ifdef RELEASE_MODE #define UDP_CONNECT //Обмен по Ethernet #endif // RELEASE_MODE extern double Delta_D, m2, m3, u; //////////////////////// // УРАВНЕНИЯ ДВИЖЕНИЯ // //////////////////////// // 1. Алгоритмы операций с матрицами и векторами // // 1.1. Вычисление матриц поворота // void ForRotMatr(int iaxis, double angle, TVect3 Matr) { int i, j; double s, c; c = cos(angle); s = sin(angle); for (i = 1; i < 4; i++) for (j = 1; j < 4; j++) if (i = j) Matr[i, j] = 1, 0; else { Matr[i, j] = 0, 0; } switch (iaxis) { case 1: //rotate around OX axis Matr[2, 2] = +c; Matr[2, 3] = +s; Matr[3, 2] = -s; Matr[3, 3] = +c; case 2: //rotate around OY axis Matr[1, 1] = +c; Matr[1, 3] = -s; Matr[3, 1] = +s; Matr[3, 3] = +c; case 3: //rotate around OZ axis Matr[1, 1] = +c; Matr[1, 2] = +s; Matr[2, 1] = -s; Matr[2, 2] = +c; default: break; } } // 1.2. Преобразование сферических координат к прямоугольным // void DFSC(double Azt, //Азимут double Alt, //Высота double Ro, //Ro TVect3 PD //PosDescart - ) { double cb; cb = cos(Alt); PD[1] = Ro * cos(Azt) * cb; // X PD[2] = Ro * sin(Azt) * cb; // Y PD[3] = Ro * sin(Alt); // Z } ///// //+// ///// void OEOM() { } void OrbSpeed(int h) { double pr; pr = sqrt(u / pow(h + Re, 3)); Worb = floor(pr); } void XYZ_from(double i, //Наклонение double a, //Большая полуось double e, //Эксцентриситет double W, //Долгота восходящего узла double _w //Аргумент широты перигея ) { double x, y, z; } void kgpt(double gam, double psi, double tet, double* c0, double* c1, double* c2, double* c3) { double sp, cp, st, ct, sg, cg; sp = sin(psi / 2.0); cp = cos(psi / 2.0); st = sin(tet / 2.0); ct = cos(tet / 2.0); sg = sin(gam / 2.0); cg = cos(gam / 2.0); *c0 = cg * cp * ct - sg * sp * st; *c1 = sg * cp * ct + cg * sp * st; *c2 = cg * sp * ct - sg * cp * st; *c3 = sg * sp * ct + cg * cp * st; } // Закон притяжения void _F(double m1, double m2, double D) { F_out = f * m1 * m2 / (D * D); } // Расстояние между Ц.М. М1(х) и М2(_х) void deltaa(double x, double y, double z, double _x, double _y, double _z) { Delta_D = sqrt(pow((x - _x), 2) + pow((y - _y), 2) + pow((z - _z), 2)); } int VelVecS(double a, //Большая полуось double e, //Эксцентриситет double i, //Наклонение double W, double w, double t) { double TR_DATA[10]; double r; double n; double u; } void ncos(double alpha, double betta, double gamma, double x, double y, double z, double _x, double _y, double _z) { alpha = (x - _x) / Delta_D; betta = (y - _y) / Delta_D; gamma = (z - _z) / Delta_D; } ////////////////////// #ifdef DEBUG_MODE const char* arr_data_nameE[]{ "Hour ","Minutes ","Seconds ","Day ", "Month ","Year ","Semimajor axis ","Eccentricity ", "Long. of asc. node ","Inclination ","Pericenter argument ","True anomaly ", "Ballistic coefficient ","TK mass ","Orientation ","ДПО-К1 thrust ", "ДПО-К2 thrust ","Fuel ","Coordinate C.M. X ","Coordinate C.M. Y ", "Coordinate C.M. Z ","Angular velocity X ","Angular velocity Y ","Angular velocity Z ", "Pitch ","Yaw ","Roll ","Jxx ", "Jyy ","Jzz ","Jxy ","Jyz ", "Jzx ","Jzy ","Jxz ","Jyz " }; const char* arr_data_nameR[]{ "Час ","Минуты ","Секунды ","День ", "Месяц ","Год ","Большая полуось ","Эксцентриситет ", "Долгота восх. узла ","Наклонение ","Аргумент перицентра ","Истинная аномалия ", "Балл. коэффициент ","Масса ТК ","СК ориентации ","Тяга ДПО-К1 ", "Тяга ДПО-К2 ","Топливо ","Координата Ц.М. X ","Координата Ц.М. Y ", "Координата Ц.М. Z ","Угловая скорость X ","Угловая скорость Y ","Угловая скорость Z ", "Тангаж ","Рыскание ","Крен ","Jxx ", "Jyy ","Jzz ","Jxy ","Jyz ", "Jzx ","Jzy ","Jxz ","Jyz " }; void ControlDyn() { setlocale(LC_ALL, "Russian"); // Отображение инструкорского формата } #endif // DEBUG_MODE //\\//\\//\\//\\//\\ // MODEL PROCESS // //\\//\\//\\//\\//\\ void StartModel() { system("cls"); cout << "Model Process... "; } void startmodel_with_VM() { system("cls"); int i; char a = 8; cout << "*------------------------------------------------------------------"<<"\n"; cout << "|Дата "<<setw(2)<<ddn<<"-"<<mmn<<"--"<<setw(4)<<yyn << " Вектор на солнце " <<"\n"; cout << "|Время "<< setw(2) << hour_m << ":" << min_m << ":" << sec_m << " X " <<"\n"; cout << "| Y" << "\n"; cout << "| Z" << "\n"; cout << "*----------------------------------------------------------------------------------------------" << "\n"; cout << "|" << "\n"; cout << "| Центр масс в J2000 Центр масс в РС Кватернион ССК РС" << "\n"; cout << "| X " << fixed << r1x1 << " X "<< r1x1 << " " << L0 << " |" <<"\n"; cout << "| Y " << fixed << r1y1 << " Y "<< r1y1 << " " << L1 << "\n"; cout << "| Z " << fixed << r1z1 << " Z "<< r1z1 << " " << L2 << "\n"; cout << "| "<< L3 << "\n"; cout << "| Скорость ц.м. в J2000 Угловая скорость в J2000" << "\n"; cout << "| X " << fixed << v1x1 << " X "<< WxTK << "\n"; cout << "| Y " << fixed << v1y1 << " Y "<< WyTK << "\n"; cout << "| Z " << fixed << v1z1 << " Z "<< WzTK << "\n"; cout << "| "<<"\n"; cout << "*----------------------------------------------------------------------\n"; cout << "| Моменты инерции "<<"\n"; cout << "| X Y Z"<<"\n"; cout << "| X " << fixed << j_j1_mas[0] << " " << j_j1_mas[1] << " " << j_j1_mas[3] << "\n"; cout << "| X " << fixed << j_j1_mas[4] << " " << j_j1_mas[5] << " " << j_j1_mas[6] <<"\n"; cout << "| X " << fixed << j_j1_mas[7] << " " << j_j1_mas[8] << " " << j_j1_mas[9] <<"\n"; cout << "*----------------------------------------------------------------------" << "\n"; cin >> i; //line("╔", "═", "╦", "╗", 6, 6); } //\\//\\//\\//\\//\\ void change_model_type() { int i; setlocale(LC_ALL, "Russian"); system("cls"); cout << "Выберете режим работы: \n"; cout << "1. Пуск модели по НУ \n"; cout << "2. Дополнительные параметры \n"; cin >> i; if (i == 1) startmodel_with_VM(); } void Connect() { // Установка соединения с МиУ setlocale(LC_ALL, "Russian"); if (LANG == 1) cout << "Connect to M&C..."; else { cout << "Установка соеденения с МиУ... "; } // коннектимся к МиУ, посылаем квитанцию, если ответ верный, то cout << "OK\n"; } void UNPACK_FF(void) { hour_m = PACK_DATA_FROM_TXT[0]; min_m = PACK_DATA_FROM_TXT[1]; sec_m = PACK_DATA_FROM_TXT[2]; ddn = PACK_DATA_FROM_TXT[3]; mmn = PACK_DATA_FROM_TXT[4]; yyn = PACK_DATA_FROM_TXT[5]; p1 = PACK_DATA_FROM_TXT[6]; e1 = PACK_DATA_FROM_TXT[7]; om1 = PACK_DATA_FROM_TXT[8]; i1 = PACK_DATA_FROM_TXT[9]; sig1 = PACK_DATA_FROM_TXT[10]; fi1 = PACK_DATA_FROM_TXT[11]; cb1 = PACK_DATA_FROM_TXT[12]; massTK = PACK_DATA_FROM_TXT[13]; sktk = PACK_DATA_FROM_TXT[14]; dtgk1 = PACK_DATA_FROM_TXT[15]; dtgk2 = PACK_DATA_FROM_TXT[16]; tkfz = PACK_DATA_FROM_TXT[17]; nu_cm1x = PACK_DATA_FROM_TXT[18]; nu_cm1y = PACK_DATA_FROM_TXT[19]; nu_cm1z = PACK_DATA_FROM_TXT[20]; wx_tk = PACK_DATA_FROM_TXT[21]; wy_tk = PACK_DATA_FROM_TXT[22]; wz_tk = PACK_DATA_FROM_TXT[23]; pitch_tk = PACK_DATA_FROM_TXT[24]; yaw_tk = PACK_DATA_FROM_TXT[25]; roll_tk = PACK_DATA_FROM_TXT[26]; j_j1_mas[0] = PACK_DATA_FROM_TXT[27]; j_j1_mas[1] = PACK_DATA_FROM_TXT[28]; j_j1_mas[2] = PACK_DATA_FROM_TXT[29]; j_j1_mas[3] = PACK_DATA_FROM_TXT[30]; j_j1_mas[4] = PACK_DATA_FROM_TXT[31]; j_j1_mas[5] = PACK_DATA_FROM_TXT[32]; j_j1_mas[6] = PACK_DATA_FROM_TXT[33]; j_j1_mas[7] = PACK_DATA_FROM_TXT[34]; j_j1_mas[8] = PACK_DATA_FROM_TXT[35]; } //// MAIN //// int main() { setlocale(LC_ALL, "Russian"); system("cls"); #ifdef DEBUG_MODE char chek[2]; SELECT_LANG(); //Выбор языка system("cls"); if (LANG == 1) cout << "Load data from file \n"; else { cout << "Зарузка данных из файла \n"; } cout << "-----------------------\n"; char ff[10]; double test; int br; int i; ifstream FNU; //Переменная файла НУ FNU.open("input_data.fnu", ifstream::in); if (!FNU) { if (LANG == 1) cout << "File not found!"; else { cout << "Файл отсутствует!"; } return 1; } else { for (int i = 0; i < 36; i++) { FNU >> PACK_DATA_FROM_TXT[i]; //Присваиваем FNU TO ARRAY } for (i = 0; i < 36; i++) if(LANG==1) std::cout << arr_data_nameE[i] << std::setw(8) << PACK_DATA_FROM_TXT[i] << "\n"; else { std::cout << arr_data_nameR[i] << std::setw(8) << PACK_DATA_FROM_TXT[i] << "\n"; } if (LANG == 1) std::cout << "Data is correct?"; else { std::cout << "Данные верны?"; } std::cout << " Y/N \n" << "->"; std::cin >> chek[0]; if (chek[0] == 'Y' or 'y') { UNPACK_FF(); //Присваиваем из массива //FNU.close; change_model_type(); } if (chek[0] == 'N' or 'n') { return 0; } } std::cout << "sss"; #endif // DEBUG_MODE Connect(); }
</details> MM_H.h<details>#pragma once ///////////// // M I S C // ///////////// double F_out; double Delta_D; double m2, //TK Mass m3, //Масса МКС m4; //Масса ТК2 extern char CharSelF; //to select forces double X_TK, //Soyz CM position Y_TK, Z_TK; ////////////// // OUT DATA // MODEL->M&C ////////////// // ТК // double r1x1; // Вектор положения ц.м. ТК в J2000 double r1y1; double r1z1; double v1x1; // Скорость ц.м. ТК в J2000 double v1y1; double v1z1; double L0; // кватернион разворота ССК ТК относительно J2000 double L1; double L2; double L3; double om1x31; // Вектор угловой скорости ТК относительно J2000 в проекциях на ССК ТК double om1y31; double om1z31; double cm1x; // Координаты ц.м. ТК в ТГК/ ТПК double cm1y; double cm1z; double WxTK, WyTK, WzTK; double TK_DATA_MAS[15]; double DOS_DATA_MAS[15]; double lmu_tk[3]; //Линейное мгновенное ускорение double wmu_tk[3]; //Угловое мгновенное ускорение double evsJ[3]; //Единичный вектор из центра J2000 на Солнце в проекциях на J2000 /////////////////////// // ORBITAL ELEMENTS // /////////////////////// double Worb; //Orbital speed //////////////////////// // PROCESS DATA ARRAY // // ТЕХНОЛОГИЧЕСКИЕ // //////////////////////// bool START; //"START" command from M&C int qcn[3]; //Квитанции ///////////////////////// // НАЧАЛЬНЫЕ УСЛОВИЯ // M&C -> MODEL ///////////////////////// int hour_m; //час начала режима int min_m; //минуты начала режима int sec_m; //секунды начала режима int ddn; //день начала режима int mmn; //месяц начала режима int yyn; //год начала режима int NU_DT_MAS[6]; double p1; //Большая полуось орбиты ТК. double e1; //Эксцентриситет орбиты ТК. double om1; //Долгота восходящего узла орбиты ТК. double i1; //Наклонение орбиты ТК. double sig1; //Аргумент перицентра. double fi1; //Истинная аномалия ТК. double cb1; //баллистический коэффициент ТК. double massTK; //масса ТК. char sktk; //СК НУ ориентации ТК:0-состык.сост.; 1-ИСК; 2-ОСК; 3-ВСК double dtgk1; //Тяга ДПО-К1 (0.00 - 100.00) double dtgk2; //Тяга ДПО-К2 (0.00 - 100.00) double tkfz; // запас топлива ТК (в кг) double nu_cm1x; //координата ц.м. ТК в строит. СК ТК. double nu_cm1y; //координата ц.м. ТК в строит. СК ТК. double nu_cm1z; //координата ц.м. ТК в строит. СК ТК. double wx_tk; //Угловая скорость ТК double wy_tk; //Угловая скорость ТК double wz_tk; //Угловая скорость ТК double pitch_tk; //Тангаж ТК double yaw_tk; //Yaw double roll_tk; //Roll double h1; //Высота ц.м. ТК над поверхностью Земли. double j_j1_mas[9]; //Массив моментов инерции ТК double os_vx; //Вектор скорости МКС double os_vy; //Вектор скорости МКС double os_vz; //Вектор скорости МКС double os_vpx; //Вектор положения МКС double os_vpy; //Вектор положения МКС double os_vpz; //Вектор положения МКС double PACK_DATA_FROM_TXT[36]; double delta_r; //Расстоние от Ц.М. земли до Ц.М. объекта ///////////// // M A T H // ///////////// typedef double TVect3[3]; //Тип данных - вектор X Y Z extern TVect3 TMatr33[3]; /////////////////// // PHYSICS CONST // /////////////////// // Имена переменных и констант взяты из Дубошин.Небесная Механика ТОМ 1 int X_e = 0.0, //Коор. Ц.М. Земли, они же - нуль сцены Y_e = 0.0, Z_e = 0.0; // EARTH PARAMETERS // const double f = 6.67384e-11; //Постоянная притяжения const double Me = 5.972e-24; //Масса Земли const double We = 0.00007292115; //Угловая скорость вращения земли double u = f * Me; //Гравитационный параметр ~398 600,441 const int Re = 6371; //Радиус Земли const double a_e = 6378136; //Большая полуось общеземного эллипсоида //Epoch Parameters // const double JD2000 = 2451545.0; const double JulianC = 36525.0; //1 юлианский век //////////////////// // ИНТЕГРИРОВАНИЕ // //////////////////// double dt; //Шаг интегрирования
</details>
- Изменено SoyuzDeveloperTeam 24 декабря 2019 г. 10:40 Не сработал тег <details>
24 декабря 2019 г. 10:13
Ответы
-
Здравствуйте,
Скорее всего, вам необходимо решить эту ошибку: error C4716: 'VelVecS': must return a value
После чего должно все заработать. Или как минимум начнет запускаться.
Если Вам помог чей-либо ответ, пожалуйста, не забывайте жать на кнопку "Предложить как ответ" или "Проголосовать за полезное сообщение" Мнения, высказанные здесь, являются отражение моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
- Изменено Maksim MarinovMicrosoft contingent staff, Moderator 25 декабря 2019 г. 8:43
- Предложено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 26 декабря 2019 г. 8:31
- Помечено в качестве ответа Maksim MarinovMicrosoft contingent staff, Moderator 6 января 2020 г. 8:20
25 декабря 2019 г. 8:23Модератор