项目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