C++程序设计语言-郑莉 第二章实验报告及代码

目录

 

实验目的及要求

实验环境

实验内容及要求

实验过程分析

任务1

任务2

任务3

任务4

​任务5


 

实验目的及要求

  1. 学会编写简单的C++程序。
  2. 复习基本数据类型变量和常量的应用。
  3. 复习运算符与表达式的应用。
  4. 复习结构化程序设计基本控制结构的运用。
  5. 复习自定义数据类型的应用。
  6. 练习使用简单的输入输出。
  7. 观察头文件的作用
  8. 学会使用Visual Studio 2008开发环境中的debug调试功能:单步执行、设置断点、观察变量值。
  9. 学会使用Eclipse IDE for C/C++ Developers 1.2.2 开发环境中的debug调试功能:单步执行、设置断点、观察变量值。

实验环境

Visual Studio 2019

实验内容及要求

任务1:输入并运行例2-7,即:用do-while语句编程,求自然数1~10之和。程序正确运行之后,去掉源程序中的#include语句,重新编译,观察会有什么问题。

任务2:将do-while语句用for语句代替,完成相同的功能。

任务3:编程计算图形的面积。程序可计算圆形、长方形、正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出面积的值后将其显示出来。

任务4:使用debug调试功能观察任务3程序运行中变量值的变化情况。

任务5:声明一个表示时间的结构体,可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。

实验过程分析

任务1

输入并运行例2-7,即:用do-while语句编程,求自然数1~10之和。程序正确运行之后,去掉源程序中的#include语句,重新编译,观察会有什么问题。

#include <iostream>
using namespace std;
int main() {
	int i = 1, sum = 0;
	do {
		sum += i;
		i++;
	} while (i <= 10);
	cout << "sum=" << sum << endl;
	return 0;
}

去掉#include语句,实验运行结果:程序无法运行,出现错误,标识符均显示未定义。

实验总结:预处理头文件必不可少

任务2

将do-while语句用for语句代替,完成相同的功能。

#include<iostream>
using namespace std;
int main() {
	int sum = 0;
	for (int i = 1; i <= 10; i++)
		sum += i;
	cout << sum;
	return 0;
}

任务3

编程计算图形的面积。程序可计算圆形、长方形、正方形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对正方形要求用户输入边长的值,计算出面积的值后将其显示出来。

#include<iostream>
using namespace std;
int main() {
	int n; const int PI = 3.141592;
	cout << "请输入图形的类型(1-圆形、2-长方形、3-正方形)" << endl;
	cin >> n;
	for (; n != 1 && n != 2 && n != 3;cin>>n)
		cout << "请重新输入图形类型1~3" << endl;
	switch (n) {
	case 1:
		double r; 
		cout << "请输入圆形的半径" << endl;
		cin >> r;
		cout << "S=PI*r*r=" << PI * r * r << endl;
		break;
	case 2:
		double a; double b;
		weigui: cout << "请输入长方形的一条边。" << endl;
		cin >> a;
		cout << "再输入另一条边。" << endl;
		cin>>b;
		for (; a == b;)//判断其是不是长方形
			goto weigui;
		cout << "S=a*b=" << a * b;
		break;
	case 3:
		double d;
		cout << "请输入正方形的边长。" << endl;
		cin >> d;
		cout << "S=d*d=" << d * d << endl;
		break;
	}


		

	return 0;
}

实验总结:switch语句的使用。每一个case语句只是一个入口标号,并不能决定执行的终止点,因此每个case分支最后都应该加break语句,用来结束整个switch结构。

任务4

使用debug调试功能观察任务3程序运行中变量值的变化情况。

实验结果:

a5eb2440043e484f84b2a2e611f22fef.png任务5

声明一个表示时间的结构体,可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。

#include<iostream>
using namespace std;
struct TIME {
	int year;
	int month;
	int day;
	int hour;
	int minute;
	int second;
};
	int main() {
		TIME n;
		cout << "输入年" << endl;
		cin >> n.year;
		cout << "输入月" << endl;
		cin >> n.month;
		cout << "输入日" << endl;
		cin >> n.day;
		cout << "输入时" << endl;
		cin >> n.hour;
		cout << "输入分" << endl;
		cin >> n.minute;
		cout << "输入秒" << endl;
		cin >> n.second;
		cout << n.year << "年" << n.month << "月" << n.day << "日" << n.hour << "时" << n.minute << "分" << n.second << "秒";
		return 0;


}

实验总结:结构体的使用,它与类的区别不大,唯一区别在于,如果未指定任何访问控制属性的成员,其访问控制属性不同,类是private,结构体是public

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PawnTz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值