?? sstfdlg.cpp
字號(hào):
// sstfDlg.cpp : implementation file
//
#include "stdafx.h"
#include "NDisk.h"
#include "sstfDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CsstfDlg dialog
CsstfDlg::CsstfDlg(CWnd* pParent /*=NULL*/)
: CDialog(CsstfDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CsstfDlg)
m_sum = 0;
m_i = 0;
m_d1 = 0.0f;
m_d2 = 0.0f;
m_d3 = _T("");
m_d4 = 0.0f;
m_d5 = _T("");
m_d6 = 0.0f;
m_d7 = 0.0f;
//}}AFX_DATA_INIT
}
void CsstfDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CsstfDlg)
DDX_Text(pDX, IDC_EDIT1, m_d1);
DDX_Text(pDX, IDC_EDIT2, m_d2);
DDX_Text(pDX, IDC_EDIT3, m_d3);
DDX_Text(pDX, IDC_EDIT4, m_d4);
DDX_Text(pDX, IDC_EDIT5, m_d5);
DDX_Text(pDX, IDC_EDIT6, m_d6);
DDX_Text(pDX, IDC_EDIT7, m_d7);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CsstfDlg, CDialog)
//{{AFX_MSG_MAP(CsstfDlg)
ON_BN_CLICKED(IDC_BUTTON_Add, OnBUTTONAdd)
ON_BN_CLICKED(IDC_BUTTON_Carray, OnBUTTONCarray)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CsstfDlg message handlers
void CsstfDlg::OnBUTTONAdd()
{
// TODO: Add your control notification handler code here
CString str;
UpdateData(true);
if(m_i<m_d4)
{
int temp;
m_array[m_i] = m_d1;
temp = m_d1;
str.Format("%i",temp);
m_d3.Insert(m_d3.GetLength(),str);
m_d3.Insert(m_d3.GetLength()," ");
m_i++;
UpdateData(false);
}
else
MessageBox("進(jìn)程數(shù)不符合");
}
void CsstfDlg::OnBUTTONCarray()
{
// TODO: Add your control notification handler code here
CString str;
float x = 160,y = 0,a[100],b;
UpdateData(true);
b = m_d2;
int k,n,r=0,temp;
/*********************************************************************/
/***********************進(jìn)行最短磁道判斷******************************/
for(k=0;k<m_d4;k++)
{
x=159; y=0;
for(int s=0;s<m_d4;s++)
{
y=m_array[s]-b;
if (y<0)
y=-y;
if(y<x)
{
x=y;r=s;
}
}
temp = m_array[r];
str.Format("%i",temp);
m_d5.Insert(m_d5.GetLength(),str);
m_d5.Insert(m_d5.GetLength()," ");
a[k] = m_array[r];
b = m_array[r]; //把排好的磁道放入數(shù)組中
m_array[r] = 500;
}
/******************************************************************************/
/**********************利用剛才存如數(shù)組中的磁道進(jìn)行操作************************/
/**********************把數(shù)組做用先進(jìn)先出的算法來進(jìn)行計(jì)算****************************/
if(m_d2 < a[0])
{
m_sum+=(a[0] - m_d2);
}
else
{
m_sum+=(m_d2-a[0]);
}
for(n = 0;n < m_d4-1;n++)
{
if(a[n] < a[n+1])
{
m_sum+=(a[n+1] - a[n]);
}
else
{
m_sum+=(a[n] - a[n+1]);
}
}
m_d6 = m_sum; //總尋道數(shù)
m_d7 = m_sum/m_d4; //平均尋道長(zhǎng)度
UpdateData(false);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -