for文を用いたループについて
Posted: 2008年2月05日(火) 18:28
いつもお世話になっております。
今回質問させていただきたいのは、for文を用いたループ処理です。
下記のように同じようなプログラムをループによってまとめたいんですが、
変数が多すぎてどのようにしたらよいのか、苦戦しております。
このように変数がいろいろ多くてもループ処理は可能なのでしょうか?
ご教授お願いいたします。
if(DLG==1)
{
DialogBox(hCurInst, "REACTDLG", NULL, (DLGPROC)ReactDlgProc);
strcpy(element[0].name , name);
strcpy(element[0].value , value);
}
else if(DLG==2)
{
DialogBox(hCurInst, "CONDENSADLG", NULL, (DLGPROC)CondensaDlgProc);
strcpy(element[0].name , Cname);
strcpy(element[0].value , Cvalue);
}
/ *************************************************************************************/
if(DLG==11)
{
DialogBox(hCurInst, "REACTDLG", NULL, (DLGPROC)ReactDlgProc);
strcpy(element[1].name , name);
strcpy(element[1].value , value);
}
else if(DLG==12)
{
DialogBox(hCurInst, "CONDENSADLG", NULL, (DLGPROC)CondensaDlgProc);
strcpy(element[1].name , Cname);
strcpy(element[1].value , Cvalue);
}
/****************************************************************************************/
if(DLG==21)
{
DialogBox(hCurInst, "REACTDLG", NULL, (DLGPROC)ReactDlgProc);
strcpy(element[2].name , name);
strcpy(element[2].value , value);
}
else if(DLG==22)
{
DialogBox(hCurInst, "CONDENSADLG", NULL, (DLGPROC)CondensaDlgProc);
strcpy(element[2].name , Cname);
strcpy(element[2].value , Cvalue);
/**********************************************************************************************/
}if(DLG==31)
{
DialogBox(hCurInst, "REACTDLG", NULL, (DLGPROC)ReactDlgProc);
strcpy(element[3].name , name);
strcpy(element[3].value , value);
}
else if(DLG==32)
{
DialogBox(hCurInst, "CONDENSADLG", NULL, (DLGPROC)CondensaDlgProc);
strcpy(element[4].name , Cname);
strcpy(element[4].value , Cvalue);
}
/************************/ と /*****************************/で囲まれた部分の繰り返しです。
今回質問させていただきたいのは、for文を用いたループ処理です。
下記のように同じようなプログラムをループによってまとめたいんですが、
変数が多すぎてどのようにしたらよいのか、苦戦しております。
このように変数がいろいろ多くてもループ処理は可能なのでしょうか?
ご教授お願いいたします。
if(DLG==1)
{
DialogBox(hCurInst, "REACTDLG", NULL, (DLGPROC)ReactDlgProc);
strcpy(element[0].name , name);
strcpy(element[0].value , value);
}
else if(DLG==2)
{
DialogBox(hCurInst, "CONDENSADLG", NULL, (DLGPROC)CondensaDlgProc);
strcpy(element[0].name , Cname);
strcpy(element[0].value , Cvalue);
}
/ *************************************************************************************/
if(DLG==11)
{
DialogBox(hCurInst, "REACTDLG", NULL, (DLGPROC)ReactDlgProc);
strcpy(element[1].name , name);
strcpy(element[1].value , value);
}
else if(DLG==12)
{
DialogBox(hCurInst, "CONDENSADLG", NULL, (DLGPROC)CondensaDlgProc);
strcpy(element[1].name , Cname);
strcpy(element[1].value , Cvalue);
}
/****************************************************************************************/
if(DLG==21)
{
DialogBox(hCurInst, "REACTDLG", NULL, (DLGPROC)ReactDlgProc);
strcpy(element[2].name , name);
strcpy(element[2].value , value);
}
else if(DLG==22)
{
DialogBox(hCurInst, "CONDENSADLG", NULL, (DLGPROC)CondensaDlgProc);
strcpy(element[2].name , Cname);
strcpy(element[2].value , Cvalue);
/**********************************************************************************************/
}if(DLG==31)
{
DialogBox(hCurInst, "REACTDLG", NULL, (DLGPROC)ReactDlgProc);
strcpy(element[3].name , name);
strcpy(element[3].value , value);
}
else if(DLG==32)
{
DialogBox(hCurInst, "CONDENSADLG", NULL, (DLGPROC)CondensaDlgProc);
strcpy(element[4].name , Cname);
strcpy(element[4].value , Cvalue);
}
/************************/ と /*****************************/で囲まれた部分の繰り返しです。