C++ 我想为每个组合框选择指定整数值,并将它们一起打印到文本文件中

C++ 我想为每个组合框选择指定整数值,并将它们一起打印到文本文件中,c++,visual-c++,mfc,user-controls,C++,Visual C++,Mfc,User Controls,我正在制作一种学生数据库,其中,对于每个新学生,都会添加他/她的详细信息,然后有一个组合框来选择主题,还有一个相邻的编辑控件来输入各自的分数。我想不按任何按钮同时分配标记。如何才能做到这一点 代码- void CFile03Dlg::OnSelchangeCombo() { // TODO: Add your control notification handler code here int n= m_SSubject.GetCurSel(); ar

我正在制作一种学生数据库,其中,对于每个新学生,都会添加他/她的详细信息,然后有一个组合框来选择主题,还有一个相邻的编辑控件来输入各自的分数。我想不按任何按钮同时分配标记。如何才能做到这一点

代码-

void CFile03Dlg::OnSelchangeCombo()
{
    // TODO: Add your control notification handler code here


        int n= m_SSubject.GetCurSel();
        arr[n]=m_SMarks;


}




void CFile03Dlg::OnBnClickedButton1()
{
    // TODO: Add your control notification handler code here
    UpdateData(TRUE);
    int h=0;
    CStdioFile file_object(L"D:\\Docs\\Student.txt",CFile::modeCreate | CFile::modeWrite | CFile::modeNoTruncate);


    CString fc1=m_SName, fc2=m_SClass, fc3=m_SRoll, fc4;
    file_object.SeekToEnd();

    for(h=0;h<3;h++)
    {
    fc4.Format(L"%d", arr[h]);
    }

     file_object.WriteString(L"Name: ");
     file_object.WriteString(fc1);
     file_object.WriteString(L"\n");

     file_object.WriteString(L"Class: ");
     file_object.WriteString(fc2);
     file_object.WriteString(L"\n");

     file_object.WriteString(L"Roll No.: ");
     file_object.WriteString(fc3);
     file_object.WriteString(L"\n");

    // file_object.WriteString(L"Name:");
      CString selection;

      for(h=0;h<3;h++)
      {


             if(h==0)
                {
                    m_SSubject.GetLBText(h, selection);
                    file_object.WriteString(selection);
                    file_object.WriteString(L"  Marks: ");
                    file_object.WriteString(fc4);

             }

             else if(h==1)
            {
                    m_SSubject.GetLBText(h, selection);
                file_object.WriteString(selection);

                file_object.WriteString(L"  Marks: ");
                    file_object.WriteString(fc4);
            }

             else if(h==2)
            {
                    m_SSubject.GetLBText(h, selection);
                file_object.WriteString(selection);

                file_object.WriteString(L"  Marks: ");
                    file_object.WriteString(fc4);
            }
             else if(h==3)
            {
                    m_SSubject.GetLBText(h, selection);
                file_object.WriteString(selection);

                file_object.WriteString(L"  Marks: ");
                    file_object.WriteString(fc4);
            }

            file_object.WriteString(L"\n");

      }  
    file_object.WriteString(L"\n");
    UpdateData(FALSE);

}
void CFile03Dlg::OnSelchangeCombo()
{
//TODO:在此处添加控件通知处理程序代码
int n=m_ssObject.GetCurSel();
arr[n]=m_SMarks;
}
void CFile03Dlg::OnBnClickedButton1()
{
//TODO:在此处添加控件通知处理程序代码
更新数据(真);
int h=0;
CStdioFile file_对象(L“D:\\Docs\\Student.txt”,CFile::modeCreate | CFile::modeWrite | CFile::modeNoTruncate);
CString fc1=m_SName,fc2=m_SClass,fc3=m_SRoll,fc4;
文件_object.SeekToEnd();

对于(h=0;h在每个
if
条件下,如果
条件下,您正在编写相同的4行代码

我想你需要这样的东西:

for(h=0;h<3;h++)
{
    if(h==0)
    {

         m_SSubject.GetLBText(h, selection);
         file_object.WriteString(selection);
         file_object.WriteString(L"  Marks: ");
         fc4.Format(L"%d", arr[h]);  // here you will get marks.
         file_object.WriteString(fc4);// here you can pass fc4
    }
    else if()
    {
        // write condition similar...
    }

}

combobox中有多少个值?如果是4,则在每个
if
条件下运行for循环,从
0
,否则如果您正在编写相同的4行代码

我想你需要这样的东西:

for(h=0;h<3;h++)
{
    if(h==0)
    {

         m_SSubject.GetLBText(h, selection);
         file_object.WriteString(selection);
         file_object.WriteString(L"  Marks: ");
         fc4.Format(L"%d", arr[h]);  // here you will get marks.
         file_object.WriteString(fc4);// here you can pass fc4
    }
    else if()
    {
        // write condition similar...
    }

}

combobox中有多少个值?如果它的4然后在每个
中运行从
0
的循环如果
否则如果你写的是相同的4行代码,那么为什么需要这些条件?你只能写这4行一次。@Himanshu
选择的相应值首先对于l是不同的您正在使用的oop没有任何用处,因为循环从0运行到@TarangGupta,不,它们不是,因为h1==1、2和3,条件中的代码完全相同。@MichaelWalz在这里,
m_sObject
是组合框的变量,现在
GetLBText
提供了所提供索引处的数据(即
h
)和变量..因此每种情况下的值都不同,不管怎样,我现在要采用不同的方法..在每个
中如果
否则如果
您正在编写相同的4行代码,那么为什么需要这些条件?您只能编写这4行。@Himanshu
选择的相应值不同您正在使用的循环的rentFirst没有任何用处,因为循环从0运行到@TarangGupta,不,它们不是,对于h1==1、2和3,条件中的代码完全相同。@MichaelWalz这里,
m_-ssObject
是组合框的变量,现在
GetLBText
为我们提供了所提供索引处的数据(即
h
)和变量..因此每种情况下的值都不同,不管怎样,我现在要采用不同的方法..@TarangGupta,好的,好的:)@TarangGupta,好的,好的:)