项目1 测量身材是否标准 知识目标: (1)知道C++的由来。 (2)认识C++程序的基本结构。 (3)熟练掌握使用一种工具开发C++程序的基本 步骤。 技能目标: (1)能够搭建开发C++程序的环境。 (2)能够编写并运行一个简单的C++程序。 素质目标: (1)培养程序设计严谨、认真的职业素养。 (2)培养程序设计基本逻辑思维能力。 思政目标: 了解社区版软件,尊重知识产权,培养创新意识。 1.1 项 目 情 景 现实生活中越来越多的人关心自己的身材状况,根据这一需求,一家健康设备公司想 要开发一款设备,该设备可以完成身高、体重的测量,并根据测量的数据计算测量者身材 是偏胖、偏瘦,还是标准身材。通过简单测量,了解自己体重情况,并及时进行控制,帮 助人们更好地健康生活。 该项目提交软件开发公司,该软件的核心功能是“输入身高、体重,输出身材状况”。 基于对该项目的需求分析,项目经理列出需要完成的任务清单如表1-1所示任务清单。 表1-1 项目1任务清单 任 务 序 号 任 务 名 称 知 识 储 备 T1-1 测量身材是否标准 . C++语言简述 . 程序基本组成 . C++开发环境 . 程序开发运行流程 1.2 相 关 知 识 1.2.1 程序设计语言概述 程序设计语言通常简称为编程语言,是一组用来定义计算机程序的语法规则。它是一 种被标准化的交流技巧,用来向计算机发出指令。计算机语言让程序员能够准确地定义计 算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。 计算机只认识两个数:0和1。最早的计算机语言仅由0和1组成,称为机器语言, 就是第一代计算机语言。高深的机器语言使很多人都望尘莫及,后来改进的机器语言用一 些符号来表示,成为汇编语言。之后,为了开发与使用者的需要又产生了更简单明了的 类人类语言——高级语言。目前,高级语言种类众多,但其语法和使用都有其相似之处。 C++语言是目前使用与教学都非常广泛的一门基础语言。 1.2.2 C++程序基本结构 可以这样理解C++程序,它是用C++语言给计算机写的一封信,让计算机按照自己 的要求完成一系列的工作。C++语言像其他语言一样有自己的词语、语法和书写格式。下 面举几个简单的例子让大家认识一下C++程序。 例1-1 编写程序,输出“我开始学习程序设计基础了”。 #include <iostream> using namespace std; int main() { cout<<"我开始学习程序设计基础了"; } 例1-2 编写程序,输入圆的半径并计算圆的面积。 #include <iostream> using namespace std; int main() { float r,s; cout<<"r="; cin>>r; s=3.14*r*r; cout<<"圆的面积是"<<s<<endl; } 例1-3 编写程序,输出一行“*”。 #include <iostream> using namespace std; int main() { cout<<"***********"<<endl; } 一个相对完整的C++程序主要由三部分组成:一是头文件,二是其他定义或预处理等, 三是主程序。 1. 头文件 编写C++程序时,经常使用头文件。头文件的定义格式如#include <iostream>,其中 iostream是标准的输入/输出文件流。 程序所包含的文件都是该程序必需的。你可以试着去掉它,看看出现什么 结果。 2. 其他定义或预处理等 该部分代码一般放在头文件定义后面,包括预处理、 函数定义、全局变量的定义、结 构体类型的定义、类的定义等。 这些将在后续项目中陆续使用,对于类的定义我们将在项目6中介绍。 3. 主程序 C++的主程序也就是程序中的main()函数。main()函数是一个完整的C++程序唯一 并且不可或缺的函数。C++程序无论多么复杂或简单,其执行都是从main()函数开始,到 main()函数结束。 main()函数中大括号的部分称为主函数体。主函数体是由一系列的语句组成的,这些 语句的功能大体分为三类:变量定义语句、数据输入语句、数据输出语句。 1.2.3 C++程序实现 C++的开发工具有很多,像美国Borland公司Turbo C++、微软公司的Visual Studio 和VC++等。本书使用微软公司的最新开发工具Visual Studio 2022(简称VS2022)。 VS2022免费版请到微软公司官网找到下载网址,选择Community版进行下载、安装及 使用。Community版供师生学习研究使用,没有版权争议,可放心下载。 软件正版化是使用开源免费系统和开源免费软件来代替盗版软件,或者 是指软件终端用户购买正版软件以代替原来安装的非法产品。 软件正版化工作是知识产权保护工作中的一项重要内容,具有特殊的地 位和重要性。软件正版化工作是我们履行国际义务,塑造大国形象的一项重 要内容;软件正版化工作是我们国家保护知识产权、保持经济高速发展的需 要,是建设创新型国家的需要,事关国家和企业信息安全,事关企业的诚信 和规范管理,对促进中国软件产业发展具有十分重要的意义。 学习C++程 序基本结构 VS2022的 下载、安 装和使用 本书开发平台使用VS2022的Community版。VS2022软件有收费版和 Community版,教师和学生可到官网下载Community版本进行研究、学习、 交流。 在安装VS2022时,在“工作负荷”选项卡选择“使用C++的桌面开发”选项,安 装软件后才能开发C++程序。本书所有案例均在VS2022中调试运行通过。下面先介绍在 VS2022中开发C++程序的步骤。 1. 新建项目 (1)VS2022界面。如果启动了VS2022,可看到VS2022的启动界面,如图1-1所示, 选择“创建新项目”命令,可打开“创建新项目”对话框。 图1-1 VS2022界面 在VS2022中选择“文件”→“新建”→“项目”命令,也可以打开“创建新项目” 对话框。 (2)创建项目。在“创建新项目”对话框的项目模板列表中选择“控制台应用”命令, 单击“下一步”按钮,如图1-2所示。 (3)配置项目。在“配置新项目”对话框的“项目名称”文本框中将新项目命名为 pl,然后单击“创建”按钮,如图1-3所示。 此时将创建一个空的C++ Windows控制台应用程序。控制台应用程序使用Windows 控制台窗口显示输出并接受用户输入。同时还会打开一个编辑器窗口并显示生成的代码。 当前编辑的文件是C++源文件,文件名为p1.cpp,如图1-4所示。 图1-2 建立项目 图1-3 配置项目 图1-4 C++源文件编辑窗口 2. 编辑C++源文件 在p1.cpp编辑窗口中编辑并完善如下程序代码,如图1-5所示。 #include <iostream> using namespace std; int main() { cout << "Hello World!\n"; } 图1-5 编辑C++源程序 3. 生成项目 若要生成项目,请从“生成”菜单选择“生成解决方案”命令,“输出”窗口将显示 生成过程的结果,如图1-6所示。如有错误,则需要调试,直到没有问题。 图1-6 生成项目 4. 运行程序 若要运行程序,则在菜单栏上选择“调试”→“开始执行(不调试)”命令,显示运行 结果,在屏幕上输出“Hello World!”,如图1-7所示。 图1-7 运行结果 1.3 项 目 实 现 该项目包含一个任务,任务序号是T1-1,任务名称是“测量身材是否标准”。 1.3.1 需求分析 测量身材是否标准项目,需要输入身高(单位:厘米)、体重(单位:千克),根据健 康管理相关计算公式,输出测量人身材是“偏胖”“偏瘦”还是“标准”身材。 健康标准体型的计算公式有很多种。首都医科大学官网给出一种监控标准体型的标准, 也是最简便的方法,就是身高减105厘米,所出现的数字就是该测量者的理想体重(单位: 千克)。超过理想体重的10%称为“偏胖”,低于理想体重的10%称为“偏瘦”。 1.3.2 流程设计 1. 算法描述 程序设计最重要的工作就是将解决问题的步骤详细地描述出来,这就是算法。算法就 是解决问题的方法和步骤,这些步骤必须是有限的、可行的,而且没有模棱两可的情况。 我们可以使用以下方法描述算法。 (1)用自然语言描述算法。直接使用生活中的语言文字描述执行步骤。其优点是通俗 易懂;缺点是缺乏直观性和简洁性,并且容易产生歧义。 (2)用伪代码描述算法。对于已具有程序基础的人,可以使用接近程序语言的方式来 描述,不用拘泥于语法的正确性,并且很容易转化为程序语言代码;缺点是不如流程图描 述的算法直观,出现逻辑错误后不易排查。 (3)用流程图描述算法。使用标准图形符号来描述执行过程,以各种不同形状的图形 表示不同的操作,箭头表示流程执行的方向。流程图描述算法形象、直观,更容易理解。 2. 流程图符号说明 流程图符号说明如表1-2所示。 表1-2 流程图符号说明 符 号 名 称 含 义 开始或结束 表示流程图的开始或者结束 数据 表示数据的输入、输出 过程 表示具体处理过程 判定 表示条件判断 流程线 表示流程线 3. 流程图绘制原则 (1)流程图需要使用标准的图形符号。 (2)每个流程图符号的文字说明要简明扼要。 (3)流程图只能有一个起点和至少一个终点。 (4)流程图绘制方向是从上而下、从左向右。 (5)判断符号有两条向外的连接线,而结束符号不允许有向外的连接线。 4. 流程图效果 本项目流程图如图1-8所示。 图1-8 项目流程图 1.3.3 代码编写 本项目的设计主要目的是让读者整体了解C++程序,使用的知识在后续章节中会陆 续介绍。读者可以先模仿使用,项目参考源代码如下: #include <iostream> using namespace std; int main() { int h,w,g; /*h保存身高,w保存体重,g保存该身高的标准体重*/ cout<<"请输入你的身高(cm):"; cin>>h; cout<<"请输入你的体重(kg):"; cin>>w; //进行一下计算 g=h-105;//计算标准体重 if(w>g*1.1)cout<<"你偏胖"<<endl; else if(w<g*0.9) cout<<"你偏瘦"<<endl; else cout<<"恭喜,你身材标准!"<<endl; } 1.3.4 运行及测试 1. 生成项目并调试 生成项目,编写代码,再调试程序至没有错误,如图1-9所示。 项目1流程 执行过程 图1-9 项目源代码的编写 在VS2022中编写C++代码时要注意以下两点。 (1)格式。格式的不同并不影响程序的功能,但是会影响人们的调试与阅读。换言之, 一个写得不“整洁”和不“规范”的程序,自己都懒得看,更何况别人。所以应养成一个 良好的习惯,让程序变得“漂亮”起来。 (2)编码。 . C++严格区分大小写。Main()与main()是完全不同的。 . 除双引号里面的符号之外,其他所有符号都是英文半角符号。 2. 运行并测试程序 执行“调试”→“开始执行(不调试)”命令3次,每次的输入及输出情况如图1-10~ 图1-12所示。读者可以尝试不同情况的多次输入,观察输出结果。 图1-10 运行1