C++面向对象设计:电话簿程序课程设计

需积分: 10 0 下载量 47 浏览量 更新于2024-07-23 收藏 306KB DOC 举报
"C++语言程序设计课程电话簿程序设计" 本次课程设计的项目是一个C++实现的电话簿程序,旨在让学生深入理解和应用C++语言的面向对象编程思想。电话簿程序是一个典型的实例,用于演示如何在C++中设计和实现一个小型的应用系统。 **1.1 课程设计目的** 课程设计的主要目标是让学生将理论学习与实践相结合,巩固C++的基础理论知识,包括数据类型、程序控制结构和数据结构。通过这个项目,学生需要能够: 1. 对所学知识点进行整合,将它们应用于实际问题解决中。 2. 提高分析问题和解决问题的能力,通过设计电话簿程序来训练这种能力。 3. 评估和展示学生的理论知识和实际操作技能,提升综合素质。 4. 学习如何对给定的问题进行分析,建立数学模型,并用C++实现。 5. 掌握面向对象编程的核心概念,如类、对象、继承和多态性。 6. 熟练使用C++的基本语法,灵活运用各种数据类型和结构体。 7. 熟悉集成开发环境(如DEVC++)中的调试技巧,包括单步调试、设置断点和表达式观察。 **1.2 实验环境** 实验环境要求能运行Windows操作系统,这通常意味着需要一台配置适中的个人电脑,安装有支持C++开发的IDE,例如DEVC++,它提供了编译器和调试工具,便于编写、测试和优化代码。 **2.1 课程设计内容** 在设计电话簿程序时,学生需要进行以下步骤: 1. 功能分析:确定程序应具备的主要功能,如添加联系人、查找联系人、删除联系人和显示所有联系人等。 2. 算法设计:设计实现这些功能的算法,考虑效率和逻辑正确性。 3. 类设计:根据功能需求,定义电话簿类、联系人类等,每个类应包含相应的属性和方法。 4. 主要函数流程图或框图:绘制UML类图和流程图,以可视化程序的结构和工作流程。 5. 源代码编写:根据设计实现代码,确保代码符合C++标准并能正确运行。 **2.2 UML类图和流程图** UML类图将展示类之间的关系,如继承、关联和依赖。流程图则描绘了程序的执行路径,帮助理解程序如何从一个步骤过渡到另一个步骤。 **3. 课程设计总结** 完成电话簿程序后,学生应提交课程设计报告,总结他们在设计过程中的经验、遇到的挑战以及解决问题的方法。此外,还应反思自己在面向对象编程、C++语法运用和程序调试方面所取得的进步。 这个电话簿程序设计课设是C++学习者的一次宝贵实践,它不仅检验了学生的理论知识,也提升了他们的实际编程和问题解决能力。通过这个项目,学生将更加熟练地运用C++来创建具有实际功能的程序,并对面向对象编程有更深入的理解。
2019-09-21 上传
SQL查询一 实验学时:2   实验类型:验证 实验要求:必修 一、实验目的 通过本实验使学生掌握单表查询并初步掌握多表查询的技能。 二、实验内容 使用实验一建立的银行贷款数据库和表,完成以下查询。 1-10题为单表查询,11-25为多表查询。 查询所有法人的法人代码、法人名称、经济性质和注册资金。 查询“B1100”银行的的银行名称和电话。 查询贷款金额在2000至4000万元之间的法人代码、银行代码、贷款日期和贷款金额。 查询2009年1月1日以后贷款且贷款期限是10年的法人代码。 查询贷款期限为5年、10年或15年的贷款信息。 查询经济性质为“私营“的所有法人的最高注册资金、最低注册资金和平均注册资金。 查询每种经济性质的法人的经济性质、最高注册资金、最低注册资金和平均注册资金。 统计每个法人的法人代码和贷款总次数,要求查询结果按贷款总次数的升序排列。 查询贷款次数超过3次的法人的平均贷款金额和贷款次数。  统计每种经济性质贷款的法人的总数和其平均贷款金额,列出平均贷款金额前三名的经济性质、法人总数和平均贷款金额。  查询贷款期限为5年、10年或15年的法人名称、银行名称、贷款日期、贷款金额和贷款期限。  查询经济性质为“国营”的法人在“上海”的银行贷款的信息,列出法人名称、银行名称和贷款日期。  查询与“B1100”银行在同一城市(假设银行名称的第5和第6个字符为城市名称)的其他的银行的名称。  查询哪些银行没有贷过款,列出银行号和银行名称。分别用多表连接和子查询两种方式实现。  查询贷过款的所有法人的名称,贷款银行名称,贷款日期,贷款金额,要求将查询结果放在一张新的永久表New_LoanT中,新表中的列名分别为:法人名称、银行名称、贷款日期和贷款金额。  分别查询经济性质“国营”和“私营”的法人名称,贷款银行名称,贷款日期,贷款金额,要求将这两个查询结果合并成一个结果集,并以法人名称、银行名称、贷款日期和贷款金额作为显示列名,结果按贷款日期的升序和贷款金额的降序显示。 使用实验一建立的学生数据库和表,完成以下查询 查询计算机系没有选课的学生的姓名和年龄。 统计‘VB’课程的考试最高分、最低分和平均分。 统计‘数据库’课程的选课人数。 统计计算机系学生’vb’课程考试的最高分、最低分、平均分。  统计每个系学生’vb’课程考试的最高分、最低分、平均分,列出系名和三个分数。 查询每个学生的修课总学分,并进行如下处理:如果总学分高于10分,则显示‘好学生’;如果总学分在6到10分间,则显示‘一般学生’;如果总学分低于6分,则显示‘不好学生’。 统计每个系每个学生的修课门数和平均成绩,如果修课门数大于3并且平均成绩高于90的显示‘优秀’;如果修课门数大于3并且平均成绩在80~90,则显示‘较好’;对于修课门数小于等于3的并且平均成绩高于90的显示‘较好’;如果修课门数小于等于3并且平均成绩在80~90,则显示‘一般’;其他情况显示为‘应努力’。列出系名、学号、原修课门数和平均成绩以及处理后的显示结果。 查询计算机系学生考试成绩最低的两个成绩所对应的学生的姓名、课程名和成绩。 列出没有选课的学生的学号、姓名和所在系。 三、思考题 1、创建表: 教师表(   tid 普通编码定长字符型,长度为10,主关键字   tname 普通编码定长字符型,长度为10,非空 zc 普通编码定长字符型,长度为6) 设此表数据如下: tid Tname zc T1 A 教授 T2 B 副教授 T3 C 教授 编写SQL语句,使查询的结果显示为如下形式: 教师号 教师名 教授 副教授 T1 A 教授 T2 B 副教授 T3 C 教授 2、创建表: 教师表(   tid 普通编码定长字符型,长度为10,主码   tname 普通编码定长字符型,长度为10,非空 zc 普通编码定长字符型,长度为6 Salary 工作,整型) 设此表数据如下: tid Tname zc Salary T1 A 教授 5000 T2 B 副教授 4000 T3 C 教授 5000 编写SQL语句,使查询的结果显示为如下形式: 教师号 教师名 教授工资 副教授工资 T1 A 5000 Null T2 B Null 4000 T3 C 5000 Null 四、实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案进行整理、分析总结,提出实验结论或自己的看法。