中南大学
本科生课程设计(实践)任务书、设计报告
(《计算机程序设计基础》C++)
题 目 图书馆藏书基本信息管理软件设计 学生姓名 李泽洲
指导教师 朱从旭 老师
学 院 地球科学与物理信息学院 专业班级 地质工程1403 学生学号 0104140312
计算机基础教学中心
2015 年 7 月 10 日
图书馆藏书基本信息管理软件设计
1.任务描述
每本书应包含如下信息:ISBN书号(无重复)、书名、单价、馆藏数量(本)馆存余数(本)。软件实现下列6项功能:(1)增加一本书的信息(需输入要增加书的所有信息);(2)删除一本书的信息(需指定要删除书的书号);(3)查找一本书的信息(需指定书号);(4)查找馆藏数量最多的书;(5)查找借出数最少的书;(6)退出程序。对于查找,输出所找到图书的三项信息(书名、单价、馆藏数量)。
2. 设计的步骤与方法 2.1如何实现项目:
(1)利用MFC建立程序框架;
新建对话框之新建工程;选择程序类型; 程序类的总结;建立开发环境。 (2)设计程序的界面
① 在开发环境下调出“控件”工具箱;
② 用鼠标在“控件”工具箱里单击“静态文本”控件,然后在界面上画出一个;“静态文本”控件(Static),然后右击该控件并单击“属性”菜单;
③ 在弹出的“属性”对话框中指定该控件的ID(名称)、标题名;
④ 画出一个编辑框(EDIT),并在它的“属性”对话框中暂时只要指定该控件的ID;
⑤ 画出一个命令按钮(BUTTON),并在它的“属性”对话框中指定该命令按钮控件的ID(名称)、标题(可见内容);
⑥ 画出本程序的所有控件;同时将原有“确定”控件的标题改为“添加产品”,将原有“取消”控件的标题改为“退出程序”;
⑦ 编译”->“链接”->“运行”一下看看,如果上述操作无误,看到一个图形界面程序运行起来了。
(3)设置“成员变量Member Variables”和“消息映射Message Maps”
① 从“查看”菜单/“建立类向导”引出“MFC ClassWizard”对话框 ② 为每个编辑框(Edit)设置成员变量(Member Variables)(设置编辑框
的关联变量(变量名、数据类型))
③ 为每个编辑框指定一个关联变量(含名字、数据类)
④ 为每个命令按钮(Button)设置消息映射(Message Maps)(为Add_BUTTON按钮设置消息映射)
示例: 如下图为 Add_BUTTON按钮设置消息映射
(4)编写程序代码
单击开发环境界面左半窗下面的“FileView”标签,再双击“Source Files”下面的文件名“0104140312Dlg.cpp”(对话框的源文件,dlg是“对话框”的英文单词缩写),即可看到系统自动生成了每个消息的关联成员函数的框架代码。
① 头文件0104140312.h (其内容是定义一个描述学生信息的“类”:c0104140401的程序的编写。
② 源文件0104140312.cpp (对类c123的构造函数进行实现)程序的编写 ③ 源文件0104140312Dlg.cpp中按钮单击消息对应的成员函数功能实现以及该程序的编写。 .
2.2遇到的问题与解决的办法
1问题:对于Microsoft Visual c++6.0 软件的不熟悉,导致设计时间冗长,且易出错。
解决方法:在课外下载软件多次运行,多次实践,结合同学和老师多次请教,熟悉软件的开发原理,熟悉制作要求,在熟悉软件的基础上进行实验能提高成功的概率,且不容易出错。
2问题:实验思路不明确,过程不清晰,导致设计过程出错
方法:﹙1)接受、分析、筛选信息、明确实验设计的课题、条件和要求。要较迅速、全面地吸收题目中的新信息,分析提供这些信息的目的并把信息归类,并对各个信息在实现实设
计中的作用做初步评估。
﹙2)通过对新旧信息的加工,实现指定的实验设计。在把握实验课题、条件和设计要
求的基础上,筛选、提取有关的旧知识,把它们与新信息进行比较、归纳、组织等信息加工,以选定实验方法,完成实验设计。
3问题:对于实验的核心代码不够了解,对于框架上的按钮与代码不对应,导致代码运行出错。 解决的方法:(1)制作一个关于按钮与代码一一对应的表,以备写代码时可以对应使用;
(2)反复检查代码是否与按钮对应,特别实在核心代码编写过程中;(3)熟悉C++程序编码,熟练编写程序代码,不断训练。 3.总结
为期为两周的课程实践中,我学到了很多知识,不仅仅是关于c++的知识,更是懂得了如何去学习去运用c++。我明白了如何去用mfc程序编写软件,并且写代码的能力加强,复习了以前的知识,自己的逻辑思考能力,解决问题的能力也提高了不少。从而对Microsoft Visual C++有了更加深刻的认识和体会!在这次课程设计实践过程中我从老师的任务书里面了解了制作程序的步骤,总之,在这次课程设计实践中,我收获颇丰。对于任务的情况,我分到了第二组,因此致力于开发图书馆系统,并且,按照老师的教诲,按部就班完成了程序设计。此次程序设计实践中,多次遇到困惑,但是老师和同学用心的帮助使得我最终完成了设计,感谢老师和同学的帮助。
在我看来,这次c++实践是有深刻意义的,经过此次实践,我收获了不仅仅是一个设计好的程序,更重要的是我的逻辑思考能力得到大幅提升。
中南大学
本科生课程设计(实践)任务书、设计报告
(《计算机程序设计基础》C++)
题 目 图书馆藏书基本信息管理软件设计 学生姓名 李泽洲
指导教师 朱从旭 老师
学 院 地球科学与物理信息学院 专业班级 地质工程1403 学生学号 0104140312
计算机基础教学中心
2015 年 7 月 10 日
图书馆藏书基本信息管理软件设计
1.任务描述
每本书应包含如下信息:ISBN书号(无重复)、书名、单价、馆藏数量(本)馆存余数(本)。软件实现下列6项功能:(1)增加一本书的信息(需输入要增加书的所有信息);(2)删除一本书的信息(需指定要删除书的书号);(3)查找一本书的信息(需指定书号);(4)查找馆藏数量最多的书;(5)查找借出数最少的书;(6)退出程序。对于查找,输出所找到图书的三项信息(书名、单价、馆藏数量)。
2. 设计的步骤与方法 2.1如何实现项目:
(1)利用MFC建立程序框架;
新建对话框之新建工程;选择程序类型; 程序类的总结;建立开发环境。 (2)设计程序的界面
① 在开发环境下调出“控件”工具箱;
② 用鼠标在“控件”工具箱里单击“静态文本”控件,然后在界面上画出一个;“静态文本”控件(Static),然后右击该控件并单击“属性”菜单;
③ 在弹出的“属性”对话框中指定该控件的ID(名称)、标题名;
④ 画出一个编辑框(EDIT),并在它的“属性”对话框中暂时只要指定该控件的ID;
⑤ 画出一个命令按钮(BUTTON),并在它的“属性”对话框中指定该命令按钮控件的ID(名称)、标题(可见内容);
⑥ 画出本程序的所有控件;同时将原有“确定”控件的标题改为“添加产品”,将原有“取消”控件的标题改为“退出程序”;
⑦ 编译”->“链接”->“运行”一下看看,如果上述操作无误,看到一个图形界面程序运行起来了。
(3)设置“成员变量Member Variables”和“消息映射Message Maps”
① 从“查看”菜单/“建立类向导”引出“MFC ClassWizard”对话框 ② 为每个编辑框(Edit)设置成员变量(Member Variables)(设置编辑框
的关联变量(变量名、数据类型))
③ 为每个编辑框指定一个关联变量(含名字、数据类)
④ 为每个命令按钮(Button)设置消息映射(Message Maps)(为Add_BUTTON按钮设置消息映射)
示例: 如下图为 Add_BUTTON按钮设置消息映射
(4)编写程序代码
单击开发环境界面左半窗下面的“FileView”标签,再双击“Source Files”下面的文件名“0104140312Dlg.cpp”(对话框的源文件,dlg是“对话框”的英文单词缩写),即可看到系统自动生成了每个消息的关联成员函数的框架代码。
① 头文件0104140312.h (其内容是定义一个描述学生信息的“类”:c0104140401的程序的编写。
② 源文件0104140312.cpp (对类c123的构造函数进行实现)程序的编写 ③ 源文件0104140312Dlg.cpp中按钮单击消息对应的成员函数功能实现以及该程序的编写。 .
2.2遇到的问题与解决的办法
1问题:对于Microsoft Visual c++6.0 软件的不熟悉,导致设计时间冗长,且易出错。
解决方法:在课外下载软件多次运行,多次实践,结合同学和老师多次请教,熟悉软件的开发原理,熟悉制作要求,在熟悉软件的基础上进行实验能提高成功的概率,且不容易出错。
2问题:实验思路不明确,过程不清晰,导致设计过程出错
方法:﹙1)接受、分析、筛选信息、明确实验设计的课题、条件和要求。要较迅速、全面地吸收题目中的新信息,分析提供这些信息的目的并把信息归类,并对各个信息在实现实设
计中的作用做初步评估。
﹙2)通过对新旧信息的加工,实现指定的实验设计。在把握实验课题、条件和设计要
求的基础上,筛选、提取有关的旧知识,把它们与新信息进行比较、归纳、组织等信息加工,以选定实验方法,完成实验设计。
3问题:对于实验的核心代码不够了解,对于框架上的按钮与代码不对应,导致代码运行出错。 解决的方法:(1)制作一个关于按钮与代码一一对应的表,以备写代码时可以对应使用;
(2)反复检查代码是否与按钮对应,特别实在核心代码编写过程中;(3)熟悉C++程序编码,熟练编写程序代码,不断训练。 3.总结
为期为两周的课程实践中,我学到了很多知识,不仅仅是关于c++的知识,更是懂得了如何去学习去运用c++。我明白了如何去用mfc程序编写软件,并且写代码的能力加强,复习了以前的知识,自己的逻辑思考能力,解决问题的能力也提高了不少。从而对Microsoft Visual C++有了更加深刻的认识和体会!在这次课程设计实践过程中我从老师的任务书里面了解了制作程序的步骤,总之,在这次课程设计实践中,我收获颇丰。对于任务的情况,我分到了第二组,因此致力于开发图书馆系统,并且,按照老师的教诲,按部就班完成了程序设计。此次程序设计实践中,多次遇到困惑,但是老师和同学用心的帮助使得我最终完成了设计,感谢老师和同学的帮助。
在我看来,这次c++实践是有深刻意义的,经过此次实践,我收获了不仅仅是一个设计好的程序,更重要的是我的逻辑思考能力得到大幅提升。