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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2016, 00:30   #1
Michael21
Новичок
Джуниор
 
Регистрация: 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();
}
Michael21 вне форума Ответить с цитированием
Старый 16.05.2016, 01:13   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Попробовил. Уборал #include "stdafx.h" от долбаной студии. Помогло?
Надеюсь, что нет. Оформи нормально код. Приведи строку, которая выдаёт ошибку и что выдаёт компиль. А твой говнокод, даже загружать не хочеися, не то, что в нём копаться. Великий ты наш.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 16.05.2016, 01:17   #3
Michael21
Новичок
Джуниор
 
Регистрация: 16.05.2016
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Попробовил. Уборал #include "stdafx.h" от долбаной студии. Помогло?
Надеюсь, что нет. Оформи нормально код. Приведи строку, которая выдаёт ошибку и что выдаёт компиль. А твой говнокод, даже загружать не хочеися, не то, что в нём копаться. Великий ты наш.
Код этот написан правильно я лишь написал о том что нужно подставить другой интергал. Это делается в MFC. Можете помочь. Если надо то пришлю форму
Michael21 вне форума Ответить с цитированием
Старый 16.05.2016, 01:19   #4
Michael21
Новичок
Джуниор
 
Регистрация: 16.05.2016
Сообщений: 6
По умолчанию

форма.jpg
Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Попробовил. Уборал #include "stdafx.h" от долбаной студии. Помогло?
Надеюсь, что нет. Оформи нормально код. Приведи строку, которая выдаёт ошибку и что выдаёт компиль. А твой говнокод, даже загружать не хочеися, не то, что в нём копаться. Великий ты наш.
Michael21 вне форума Ответить с цитированием
Старый 16.05.2016, 01:26   #5
Michael21
Новичок
Джуниор
 
Регистрация: 16.05.2016
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Попробовил. Уборал #include "stdafx.h" от долбаной студии. Помогло?
Надеюсь, что нет. Оформи нормально код. Приведи строку, которая выдаёт ошибку и что выдаёт компиль. А твой говнокод, даже загружать не хочеися, не то, что в нём копаться. Великий ты наш.
в этом фрагменте надо поменять этот интеграл впроге.jpg на этот задачка.jpg :
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,"Ответ(Дж):");
Michael21 вне форума Ответить с цитированием
Старый 16.05.2016, 01:38   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Michael21, издеваешься? Ну-ну. Ща дождёшься не помощи, а закрытия темы, как злостный нарушитель правил форума.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 16.05.2016, 01:41   #7
Michael21
Новичок
Джуниор
 
Регистрация: 16.05.2016
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Michael21, издеваешься? Ну-ну. Ща дождёшься не помощи, а закрытия темы, как злостный нарушитель правил форума.
Почему? Я просто не знаю как поменять один интеграл на другой так как разные условия(
Michael21 вне форума Ответить с цитированием
Старый 16.05.2016, 01:50   #8
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
Сообщение от Michael21 Посмотреть сообщение
Почему? Я просто не знаю как поменять один интеграл на другой так как разные условия(

Тебе РУССКИМ ЯЗЫКОМ ГОВОРЮ.
1. ОФОРМИ ПРАВИЛЬНО КОД # В ПАНЕЛИ. С ВЛОЖЕНИЯМИ.
2. ВЫДЕЛИ ПРОБЛЕМНЫЙ УЧАСТОК И ПРИВЕДИ СООБЩЕНИЕ КОМПИЛЯТОРА.
Свой говнокод, запакуй RAR и выложи сюда. Кому будет интересно, посмотрят. Мне, так не интересно.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 16.05.2016, 01:53   #9
Michael21
Новичок
Джуниор
 
Регистрация: 16.05.2016
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение

Тебе РУССКИМ ЯЗЫКОМ ГОВОРЮ.
1. ОФОРМИ ПРАВИЛЬНО КОД # В ПАНЕЛИ. С ВЛОЖЕНИЯМИ.
2. ВЫДЕЛИ ПРОБЛЕМНЫЙ УЧАСТОК И ПРИВЕДИ СООБЩЕНИЕ КОМПИЛЯТОРА.
Свой говнокод, запакуй RAR и выложи сюда. Кому будет интересно, посмотрят. Мне, так не интересно.
Я уже завтра попробую все вам показать
Вложения
Тип файла: rar задача.rar (20 байт, 8 просмотров)

Последний раз редактировалось Michael21; 16.05.2016 в 01:58.
Michael21 вне форума Ответить с цитированием
Старый 16.05.2016, 02:43   #10
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

ну вот, ещё один адепт.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно поправить код 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