用c++编程序,从键盘上读入一批图形信息,然后把他们保存到文件中,并逐句解释代码
时间: 2023-09-27 12:10:19 浏览: 50
下面是一个简单的用C++编写的程序,可以从键盘上读入一批图形信息,并将它们保存到文件中。
```c++
#include <iostream>
#include <fstream>
using namespace std;
int main() {
int num; // 图形数量
cout << "请输入图形数量:" << endl;
cin >> num;
ofstream outfile("shapes.txt"); // 打开输出文件
if (!outfile.is_open()) { // 判断文件是否打开成功
cout << "打开文件失败!" << endl;
return 1;
}
char shape[20]; // 存储图形名称的数组
double length, width, radius; // 存储图形参数的变量
for (int i = 1; i <= num; i++) {
cout << "请输入第" << i << "个图形的名称和参数:" << endl;
cin >> shape;
if (strcmp(shape, "圆") == 0) { // 如果是圆形
cin >> radius;
outfile << "圆 " << radius << endl; // 将图形信息写入文件
}
else if (strcmp(shape, "矩形") == 0) { // 如果是矩形
cin >> length >> width;
outfile << "矩形 " << length << " " << width << endl; // 将图形信息写入文件
}
else {
cout << "输入的图形名称不正确!" << endl;
i--;
}
}
outfile.close(); // 关闭输出文件
return 0;
}
```
程序先要求用户输入图形数量,然后通过 `ofstream` 类打开一个名为 `shapes.txt` 的输出文件。如果打开失败,则输出错误信息并退出程序。
接下来,程序使用一个 `for` 循环读取用户输入的每个图形的名称和参数,并将它们写入输出文件中。对于每个图形,程序根据输入的名称来判断它是圆形还是矩形,然后分别读取相应的参数并将图形信息写入文件中。如果输入的图形名称不正确,则输出错误信息并让循环变量减一,以便重新输入该图形的信息。
最后,程序关闭输出文件并返回 0 表示正常结束。