1/17学号02课程设计题目Z10学生成绩输入与显示学院信息工程学院专业电子信息工程班级电信1406姓名黄少军指导教师黄朝兵2016年11月16日2/17目录1.设计方案及功能描述............................................................01.1题目要求........................................................................01.2设计方案........................................................................02.实现步骤................................................................................12.1创建工程并建立主对话框............................................12.2建立子对话框................................................................42.3为主、子对话框设置参数............................................83.主要程序代码......................................................................104.调试和运行..........................................................................125.总结与心得..........................................................................140/171.设计方案及功能描述1.1题目要求Z10、学生成绩输入与显示(1)建立一个基于对话框的应用项目(项目名称为学生姓名拼音首字母缩写)。(2)在主对话框中设置组合框、列表框和“添加”按钮。(3)当按下“添加”按钮后,调用一个学生成绩输入的对话框(包括学号、姓名、三门课的成绩)。(4)学生成绩输入的结果在主对话框中显示,其中学号显示在组合框,选择组合框的学号后,学生的其他信息显示在列表框。1.2设计方案建立一个基于对话框的应用项目,然后再为这个应用项目添加一个主对话框和一个子对话框,主对话框用来添加显示学号的组合框和显示学生具体信息(包括学号、姓名、三门课的成绩)的列表框。子对话框用来响应主对话框中“添加”按钮,当“添加”被按下后,弹出子对话框,这时就可以在子对话框输入学生的基本信息,按“确定”后,子对话框会将学生信息导入主对话框中,在主对话框中,可以通过在组合框中选择学号,这样该学号的学生信息就显示在右侧列表框中了。1/172.实现步骤2.1创建工程并建立主对话框(1)新建一个MFCAppWizard.exe的工程,工程名为HSJ(学生姓名拼音首字母缩写)。如图1.(2)选择创建的应用程序类型是基本对话框,然后点击“完成”,如图2.图1新建工程图2建立“基本对话框”2/17(3)然后,添加并设计“学生成绩管理系统”主对话框,将对话框ID改成IDD_HSJ_DIALOG。标题改为“学生成绩管理系统”,对话框字体改为“宋体,9号”,如图3-图8.(4)按照要求,添加控件,一个用来显示学号的组合框,一个用来显示学生信息的列表框,两个静态文本,和两个按钮,如图4.图3主对话框建立图4为主对话框添加控件3/17图7修改添加按钮ID和标题图5修改组合框ID图6修改列表框ID图8将原来的“OK”按钮的标题改为“退出”4/172.2建立子对话框(1)设计子对话框,即在主对话框按下“添加学生成绩”后,弹出的子对话框。将子对话框ID改成IDD_DIALOG_INPUT。标题改为“学生成绩管理系统”,对话框字体改为“宋体,9号”,如图9.(2)同样,按照要求,为字对话框添加控件。6个静态文本,6个编辑框,3个旋转按钮控件。如图10—图18图9建立字对话框图105/17图13图11图126/17图14图15图167/17(7)添加完控件后要对控件进行编排,选择“布局”“TabOrder”命令,以保证旋转按钮控件的次序在相对应的编辑框(伙伴窗口)之后。图17图18图198/172.3为主、子对话框设置参数(1)建立完对话框,添加完控件,整个框架就搭起来了,接下来就要用代码让它们建立联系。首先用按“Ctrl+W”打开MFCClassWizard,设置相应的参数。如图21、图22。图20图21主对话框添加变量图22子对话框添加变量9/17(2)建立完对主对话框和子对话框各自添加相应的函数。如图23和图24.图23图2410/173.主要程序代码(1)先为“添加学生成绩”按钮编写代码,如图25.(2)接着,编写代码把主对话框和子对话框联系起来,当按下“添加学生成绩”时弹出子对话框,用户可以在子对话框中输入学生信息。编写代码来控制自对话框中的控件,例如,旋转按钮和编辑框的结伴,如图26.图25图2611/17(3)编写代码来将子对话框和主对话框联系起来,使用户在子对话框中输入的信息能够显示在主对话框中。如图27.(4)最后,删除所有与组合框中列表项相关联的STUDATA结构数据,如图28.图27图2812/174.调试和运行点击“编译”后按“执行”,跳出主对话框的总界面“学生成绩管理系统”,如图29.然后,点击“添加学生成绩”之后,就会弹出子对话框“学生成绩输入”,这时,可以填入一个学生的信息,如图30.之后,点击“确定”,就可以将子对话框中的信息输入到主对话框中,可以输入多个学生的信息,然后通过在组合框中选择学生的学号,就可以把该学号的学生信息显示在列表框中,如图31、32.图29图3013/17图31图3214/175.总结与心得本次课程设计,使我对《VisualC++》这门课程有了更深入的理解。《VisualC++》是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。我的课程设计题目是学生成绩输入与显示。刚开始做这个程序的时候,感到完全无从下手,甚至让我觉得完成这次程序设计根本就是不可能的,于是开始查阅各种资料以及参考文献,之后便开始着手写程序,写完运行时有很多问题。特别是实现对话框调用时很多情况没有考虑周全,经常运行出现错误,但通过同学间的帮助最终基本解决问题。并且在查阅了很多资料之后我对原题目要求进行了扩展和延伸,添加了输入内容识别功能,如果输入是空的系统会自动识别并且自返回输入页面等待进一步纠正后的输入。这一改动完善了系统的实用性和合理性,扩宽了我的知识层面。在本课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写大型程序的能力。培养了基本的,良好的程序设计技能以及合作能力。这次课程设计同样提高了我的综合运用所学知识的能力。并对VC有了更深入的了解,上机实习是对学生全面综合素质进行训练的一种最基本的方法,是与课堂听讲,自学和练习相辅相成的,必不可少的一个教学环节。通过这段时间的课程设计,我认识到VisualC++是一门比较难的课程.需要多花时间上机练习。这次的程序训练培养了我实际分析问题,编程和动手能力,使我掌握了程序设计的基本技能,提高了我适应实际,实践编程的能力。总的来说,这次课程设计的过程中出现了很多错误,在设计程序的过程中通过查阅书籍网络资料和请教同学逐渐解决了这些错误,并且在原有的基础上进行了拓展和延伸,总之这次的实验让我获益匪浅,对VisualC+++产生了强大的兴趣对VC课程的学习提供了很大帮助。