|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.05.2016, 00:30 | #1 |
Новичок
Джуниор
Регистрация: 16.05.2016
Сообщений: 6
|
Нужно поправить код программы
Тут вставлен интеграл:Условие задачи:
Известно, что для железобетонной плоской стенки больших размеров справедливо следующее соотношение для теплового потока Q через поверхность площадью S: , где [Q] = Вт; λ = 1,5 Вт/(м•К) – коэффициент теплопроводности железобетонной стенки; ΘВН – температура внутренней поверхности стенки; ΘНАР – температура наружной поверхности стенки; δ - толщина стенки; Температура наружной поверхности стенки Θ НАР постоянна: Θ НАР = const. Температура внутренней поверхности стенки ΘВН меняется по закону: ΘВН = а + 0,002• t, где [t] = c; [ΘВН] = ◦C; Толщина стенки δ = 0,1 м; Площадь поверхности S = 10 м2. Теплопередача через стенку идет в течение промежутка времени Т = 1 час. впроге.jpg Нужно поправить код программы И что нужно вставить в эту прогу: Условие задачи: У отопительной системы постоянны следующие параметры: расход теплоносителя Gж = 100 кг/с (в качестве теплоносителя применяется вода), удельная массовая теплоемкость теплоносителя сж = 4,2 кДж/(кг•К), выходная (на выходе из отопительного радиатора) температура теплоносителя ΘВЫХ . Входная (на входе в отопительный радиатор) температура теплоносителя ΘВХ меняется со временем по закону: ΘВХ = а + 0,01• t , где [t] = c, [ΘВХ] = ◦С. Отопительная система работает в течение времени Т = 1 час. Необходимо: 1) Построить c помощью среды программирования Visual C++6 график зависимости от времени t количества отданного теплоносителем отопительной системы тепла Q, причем время t меняется от 0 до Т. 2) Ввод числового коэффициента а и постоянной выходной температуры теплоносителя ΘВЫХ выполнить с помощью элементов управления, указанных для соответствующего варианта задания в Табл. 8. Числовой коэффициент а и выходная температура теплоносителя ΘВЫХ для каждого варианта задания указаны также в Табл. 8. Используйте следующее выражение для количества отданного за время Т теплоносителем отопительной системы тепла Q: задачка.jpg Нужно поправить код программы // KyrsDlg.cpp : implementation file // #include "stdafx.h" #include "Kyrs.h" #include "KyrsDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// BOOL CKyrsDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here m_Lis.AddString("Температурка наружной стенки : 2 Дж."); m_Lis.SetItemData( 0, 2 ); m_Lis.AddString("Температурка наружной стенки : 4 Дж."); m_Lis.SetItemData( 1, 4 ); m_Lis.AddString("Температурка наружной стенки : 6 Дж. <--"); m_Lis.SetItemData( 2,6 ); m_Lis.AddString("Температурка наружной стенки : 8 Дж."); m_Lis.SetItemData( 3, 8 ); m_Lis.SetCurSel(0); return TRUE; // return TRUE unless you set the focus to a control } void CKyrsDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID, lParam); } } // If you add a minimize button to your dialog, you will need the code below // to draw the icon. For MFC applications using the document/view model, // this is automatically done for you by the framework. void CKyrsDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); } } // The system calls this to obtain the cursor to display while the user drags // the minimized window. HCURSOR CKyrsDlg::OnQueryDragIcon() { return (HCURSOR) m_hIcon; } void CKyrsDlg::Calc( double e, double dRo, int bKey ) { double dTmax; double T[122]; double dQ[122]; double dt; char szBuf[256]; UpdateData( TRUE ); char szString[256]; DWORD dwNumberOfBytes; HANDLE hOutFile = NULL; hOutFile = CreateFile( "Result.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); if ( hOutFile == INVALID_HANDLE_VALUE ) { return; } int i=0; dTmax=60; T[i]=0; dt=fabs((T[i]-dTmax))/100; dQ[i]=((1.5/0.1)*10)*(( dRo + 0.002*T[i])-е)*dt; do { i++; T[i]=T[i-1]+dt; dQ[i]=((1.5/0.1)*10)*(( dRo + 0.002*T[i])-е)*dt; dQ[i]=dQ[i-1]+((1.5/0.1)*10)*((dRo+0.002*T[i])-е)*dt; if(IDC_CHECK) { sprintf( szString, "Текущее время = %gмин \температура = %g°\r\n",T[i] ,dQ[i] ); WriteFile( hOutFile, szString, strlen( szString ), &dwNumberOfBytes, NULL ); } } while (T[i]<dTmax); sprintf( szBuf, " %g", dQ[i] ); m_Res = szBuf; UpdateData( FALSE ); CloseHandle(hOutFile); } void CKyrsDlg::OnBtnCalc() { // TODO: Add your control notification handler code here double e; double dRo; UpdateData( TRUE ); е = m_Lis.GetItemData( m_Lis.GetCurSel()); switch ( m_rb22 ) { case 0: { dRo = 22.; } break; case 1: { dRo = 24.; } break; case 2: { dRo = 26.; } break; default: dRo = 1.; } Calc( e, dRo, m_Check.GetCheck() ); } void CKyrsDlg::OnBtnExit() { // TODO: Add your control notification handler code here CDialog::OnOK(); } void CKyrsDlg::OnBtnShow() { // TODO: Add your control notification handler code here // TODO: Add your control notification handler code here CWnd* pWnd = ( CWnd* )GetDlgItem( IDC_DRAW_AREA ); // Если указатель не пустой то приступаем к визуализации if ( pWnd ) { // Создаем контекст устройства CClientDC dc( pWnd ); CRect rect; // Получаем клиентскуя область окна-местодеражателя pWnd->GetClientRect( &rect ); // Заполняем фон белым цветом dc.FillRect( &rect, NULL ); dc.FillSolidRect( &rect, RGB(151,255,30 )); // Расчитываем масштабный коэфициент по оси х double dScale = ( rect.right - rect.left ) / 355.; // Объявляем дискриптор файла HANDLE hFile; // Открывем файл с заданными параметрами hFile = CreateFile( "Result.txt", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); // Проверяем открылся ли файл if (hFile == INVALID_HANDLE_VALUE) { return; } // Получаем размер файла DWORD dwFileSize = GetFileSize( hFile, NULL ); // Создаем динамический массив char* pBuf = new char[ dwFileSize + 1 ]; // Обнуляем элементы массива memset(pBuf, 0, dwFileSize + 1); DWORD dwBytesReaded; // Читаем файл в память ReadFile( hFile, pBuf, dwFileSize, &dwBytesReaded, NULL ); // Закрываем файл CloseHandle( hFile ); // Определяем символы разделители слов char seps[] = " \t\n\r"; char *token; double i = 0; // Получаем первое слово token = strtok( pBuf, seps ); // Цикл "пока есть слова" while ( token != NULL ) { double x, y; // Преобразуем слово в значение глубины x = atof( token ); // Получаем следующее слово token = strtok( NULL, seps ); if ( token == NULL ) { return; } // Преобразуем слово в значение радиуса y = atof( token ); // Рисуем график dc.MoveTo( ceil( i * dScale ), rect.bottom - 1 ); dc.LineTo( ceil( i * dScale ), rect.bottom - 1 - y * ( rect.bottom - rect.top )/ 228000); token = strtok( NULL, seps ); i++; // Делаем задержку по времени Sleep( 10); m_Pro.SetPos(i/3.5); } // Удаляем динамический массив delete[] pBuf; } } void CKyrsDlg::OnCheck() { // TODO: Add your control notification handler code here UpdateData( TRUE ); Invalidate(); } |
16.05.2016, 01:13 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Попробовил. Уборал #include "stdafx.h" от долбаной студии. Помогло?
Надеюсь, что нет. Оформи нормально код. Приведи строку, которая выдаёт ошибку и что выдаёт компиль. А твой говнокод, даже загружать не хочеися, не то, что в нём копаться. Великий ты наш.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
16.05.2016, 01:17 | #3 |
Новичок
Джуниор
Регистрация: 16.05.2016
Сообщений: 6
|
Код этот написан правильно я лишь написал о том что нужно подставить другой интергал. Это делается в MFC. Можете помочь. Если надо то пришлю форму
|
16.05.2016, 01:26 | #5 | |
Новичок
Джуниор
Регистрация: 16.05.2016
Сообщений: 6
|
Цитата:
double a; double b; int L ; double R2; double dTmax; double T[122]; double dQ[122]; double dt; char szBuf[256]; UpdateData( TRUE ); char szString[64]; DWORD dwNumberOfBytes; HANDLE hOutFile = NULL; hOutFile = CreateFile( "Result.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL ); if ( hOutFile == INVALID_HANDLE_VALUE ) { return; } int i=0; dTmax=60; T[i]=0; dt=fabs((T[i]-dTmax))/100; dQ[i]=((1.5/0.1)*10)*((dRo+0.002*T[i])-e)*dt; do { i++; T[i]=T[i-1]+dt; dQ[i]=((1.5/0.1)*10)*((dRo+0.002*T[i])-e)*dt; dQ[i]=dQ[i-1]+((1.5/0.1)*10)*((dRo+0.002*T[i])-e)*dt; if(IDC_CHECK) { sprintf( szString, "Текущее время = %gмин температура = %g°\r\n",T[i] ,dQ[i] ); WriteFile( hOutFile, szString, strlen( szString ), &dwNumberOfBytes, NULL ); } m_Prog.SetPos(dQ[i]/10); Sleep(5); } while (T[i]<dTmax); sprintf( szBuf, " %g", dQ[i] ); m_Res = szBuf; UpdateData( FALSE ); CloseHandle(hOutFile); MessageBox( m_Res,"Ответ(Дж):"); |
|
16.05.2016, 01:38 | #6 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Michael21, издеваешься? Ну-ну. Ща дождёшься не помощи, а закрытия темы, как злостный нарушитель правил форума.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
16.05.2016, 01:41 | #7 |
Новичок
Джуниор
Регистрация: 16.05.2016
Сообщений: 6
|
|
16.05.2016, 01:50 | #8 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Цитата:
Тебе РУССКИМ ЯЗЫКОМ ГОВОРЮ. 1. ОФОРМИ ПРАВИЛЬНО КОД # В ПАНЕЛИ. С ВЛОЖЕНИЯМИ. 2. ВЫДЕЛИ ПРОБЛЕМНЫЙ УЧАСТОК И ПРИВЕДИ СООБЩЕНИЕ КОМПИЛЯТОРА. Свой говнокод, запакуй RAR и выложи сюда. Кому будет интересно, посмотрят. Мне, так не интересно.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
16.05.2016, 01:53 | #9 |
Новичок
Джуниор
Регистрация: 16.05.2016
Сообщений: 6
|
Я уже завтра попробую все вам показать
Последний раз редактировалось Michael21; 16.05.2016 в 01:58. |
16.05.2016, 02:43 | #10 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
ну вот, ещё один адепт.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужно поправить код jQuery | Alex2213 | JavaScript, Ajax | 0 | 31.08.2015 12:16 |
нужно поправить программы на Си(матрицы) | приправыч | Помощь студентам | 6 | 25.12.2012 13:39 |
Нужно поправить код | SenFeron | Помощь студентам | 2 | 04.01.2011 19:54 |
Нужно поправить код файла экспорта rss | alexey_11 | Помощь студентам | 0 | 18.05.2010 10:43 |
Нужно поправить код | kimoncar | PHP | 0 | 13.04.2010 12:52 |