一个简单数据管理软件的设计-软件综合设计-学生信息管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件综合设计》课程实验报告
4、实验内容
1、实验步骤及流程:
1)新建工程:新建一个单文件类型的MCF工程,在Resource之中新建并利用控件设计对话框。
2)增加控件:一个控件是能够放置在一个对话框中,提供应用程序与用户交互的某种功能。本次
实验需要添加编辑框、下拉列表控件、列表框(ListBox)控件以及按钮键。
3)设置对话框及控件等的属性:一个控件相关的属性设置决定了一个控件可操作行为和显示。修
改控件ID以及名称,对话框名称等。
4)组织和安排各部件的位置大小等:软件为我们提供了各种调整方式,如:左对齐、右对齐、宽
相等、水平居中等等。
5)设置控件的顺序:执行菜单命令Layout->Tab Order可以显示并修改Tab Order,按所想要的
访问顺序依次点击每一个控件,完成后,点击空白处就可以了。
6)为对话框成员添加变量:打开ClassWizard窗口,选择Member Variables标签页,Class
name下拉列表中选择CScoreDlg类。则对话框中可以创建成员变量的控件ID出现在下方的
Control IDs列表中。单击Add Variable按钮,则弹出Add Member Variable对话框,设置
变量名即可。
7)对话框类的构造函数:双击各个控件并确定就会弹出编程界面,为各个控件添加函数程序,实
现它们所对应的功能。
8)运行程序,调试程序。
2、源程序代码:
见后:实验结果及分析
3、调试过程记录:
在调试程序的时候,我们必须使程序在某一地点停下来。即是设立断点,其次再运行程序;当程序在设立断点处停下来时,利用各种工具观察程序的状态。程序在断点停下来后,有时我们需要按我们的要求控制程序的运行,以进一步观测程序的流向,从而调试程序。
逐步完善对话框的内容,加入控件,编写程序:
5、实验结果及分析
1) void CXSXXGLXTDlg::OnEditchangeComboZy()
{ // 专业选择框的信息保存
m_ZY.AddString("大气科学");
m_ZY.AddString("大气探测");
m_ZY.AddString("生物医学工程");
}
2) void CXSXXGLXTDlg::OnButtonTj()
{ // 添加
UpdateData(TRUE);
CString str="";
CString str1="";
CString str2="";
CString str3="";
CString str4="";
str = m_XM;
str1 = m_XH;
str2 = m_SS;
str3 = m_XB;
str4 = m_ZY1;
CString info;
info.Format("%s,%s,%s,%s,%s",str,m_XB== 0?"男":"女",str1,str4,str2);
m_XSXX.AddString(info);
UpdateData(FALSE);
}
3) void CXSXXGLXTDlg::OnButtonSc()
{ //删除
if(!UpdateData())
return;
int nIndex=m_XSXX.GetCurSel();
if(nIndex==-1)
{
AfxMessageBox("没有选定要删除的学生信息");
return;
}
m_XSXX.DeleteString(nIndex);
}
4) void CXSXXGLXTDlg::OnButtonTc()
{ //退出
delete this;
CDialog::PostNcDestroy();
}
5) void CXSXXGLXTDlg::OnButtonDr()
{
//导入
FILE *p;
char str[100];
p=fopen("D://zhujiahui.txt","r");
if(p!=NULL)
{
while(fscanf(p,"%s,%s,%s,%s,%s\n",str)==1)
{
m_XSXX.AddString((CString)str);
}
}
fclose(p);
}
6) void CXSXXGLXTDlg::OnButtonDc()
{
//导出
FILE *fp;
fp=fopen("D://ZHUZHU.txt","w");
int i, index;
index=m_XSXX.GetCount();
if(!index)
{
AfxMessageBox("无数据");
return;
}
for(i=0;i { CString tmp; m_XSXX.GetText(i,tmp); fputs((LPCSTR)tmp,fp); fprintf(fp,"\n",tmp); } fclose(fp); }