コードをより効率的にしようとしています。スクロール ボタンを押すと、関数 'SetName' はiName
、メモリに格納されている 5 つの名前に対するインデックスである数値を整数に格納します。名前がメモリに設定されていない場合は、次にスキップします。
コードは機能しますが、多くのスペースを占有します。アドバイスをいただければ幸いです。コード:
#include <string.h>
int iName = 0;
int iNewName = 0;
BYTE GetName ()
{
return iName;
}
void SetName (int iNewName)
{
while (iName != iNewName)
{
switch (byNewName)
{
case 1:
if (strlen (memory.m_nameA) == 0)
new_name++;
else
iName = iNewName;
break;
case 2:
if (strlen (memory.m_nameB) == 0)
new_name++;
else
iName = iNewName;
break;
case 3:
if (strlen (memory.m_nameC) == 0)
new_name++;
else
iName = iNewName;
break;
case 4:
if (strlen (memory.m_nameD) == 0)
new_name++;
else
iName = iNewName;
break;
case 5:
if (strlen (memory.m_nameE) == 0)
new_name++;
else
iName = iNewName;
break;
default:
iNewName = 1;
break;
} // end of case
} // end of loop
} // end of SetName function
void main ()
{
while(1)
{
if (Button_pushed)
SetName(GetName+1);
} // end of infinite loop
} // end of main