我正在制作一种学生数据库,其中为每个新学生添加了他/她的详细信息,然后有一个组合框用于选择主题,还有一个相邻的编辑控件用于输入相应的标记。我想在不按任何按钮的情况下同时分配标记。如何实现??
代码-
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);
}
最佳答案
在每个if
else-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...
}
}
当你运行从 0 到 <3 的循环时,循环将运行 0,1 和 2。所以你为什么要写条件
else if(h==3) ???
组合框中有多少个值?如果它是 4,那么从 0
运行你的 for 循环至 <=3
关于c++ - 我想为每个组合框选择分配整数值并将它们集中打印在文本文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35401753/