编写一个编写一个Point结构体, 从键盘输入2个点的x和y坐标,编写函数计算两个点的加法(x,y坐标分别相加,返回新的点),和乘法(x,y分别相乘,然后相加,返回一个整数: 如点 (1,2), 点(
时间: 2024-09-11 08:04:42 浏览: 74
在C++中,你可以创建一个名为`Point`的结构体,用于存储点的坐标,并编写相应的函数来实现点的加法和乘法操作。这里是一个简单的例子:
```cpp
#include <iostream>
// 定义 Point 结构体
struct Point {
int x;
int y;
// 构造函数,用于初始化点的坐标
Point(int _x = 0, int _y = 0) : x(_x), y(_y) {}
// 加法运算
friend Point addPoints(Point p1, Point p2) {
return {p1.x + p2.x, p1.y + p2.y};
}
// 乘法运算,这里假设x和y都是整数,所以结果也是整数
friend int multiplyAndSum(int x1, int y1, int x2, int y2) {
return x1 * x2 + y1 * y2;
}
};
int main() {
// 从键盘获取用户输入
int x1, y1, x2, y2;
std::cout << "请输入第一个点的坐标 (x, y): ";
std::cin >> x1 >> y1;
std::cout << "请输入第二个点的坐标 (x, y): ";
std::cin >> x2 >> y2;
// 创建点对象并进行加法和乘法计算
Point p1(x1, y1);
Point p2(x2, y2);
Point sum = addPoints(p1, p2);
int product = multiplyAndSum(x1, y1, x2, y2);
std::cout << "两个点的加法结果为: (" << sum.x << ", " << sum.y << ")\n";
std::cout << "两个点的乘法和加法结果为: " << product << "\n";
return 0;
}
```
在这个程序中,我们首先定义了`Point`结构体,并添加了一个构造函数来初始化坐标。接着定义了加法`addPoints`和乘法运算`multiplyAndSum`作为友元函数,以便于结构体实例之间的操作。
在`main`函数中,用户可以输入两个点的坐标,程序会计算这两个点的加法结果和乘法后再相加的结果,并将结果显示出来。
阅读全文