如何将文本文件读取到二维数组中并以 c++ 打印
How to read from text file into two dimensional array and print it in c++
你好,我目前正在学校学习 c++,有一个项目,需要一些帮助。
我必须制作一个程序来读取座位数并将其存储在二维数组中。空座位是主题标签,如果用户购买座位,它就会变成*。座位.txt文件中的奇数行有 15 个席位,偶数个有 20 个席位。
我希望能够在用户购买座位并使用 * 切换 # 时打印并更新它。
座位 txt 文件如下所示:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
# # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # #
# # # # # # # # # # # # # # #
# # # # # # # # # # # # # # # # # # # #
这是我的代码:
const char EMPTY = '#';
char ab[15][20];
ifstream in;
in.open("seats.txt");
for(int i=0;i<15;i++){
for(int x=0; x<20; x++){
in>>ab[i][x];
}
}
for (int i = -1; i < rows; i++)
{
for (int j = -1; j < columns; j++)
ab [i][j] = EMPTY;
}
for (int count = 0; count < 15; count++)
{
cout << endl << "Row " << (count + 1);
for (int count2 = 0; count2 <20; count2++)
{
cout << " " << ab[count] [count2];
}
}
cout << endl;
欢迎来到Stack Overflow!您的代码中有一个小错误,但总的来说,如果您是新手,这非常好!
首先,您需要区分奇数行和偶数行。这可以通过添加if
语句并具有不同的循环来轻松修复。(或者,如果它是偶数,您可以将 x 设置为 5 而不是 0(
为了更改文件,您还需要导出到该文件。假设客户订购第 x 行座位 y。最后,考虑添加以下内容:
ofstream out;
out.open("seats.txt");
for (int i = 0; i < 15; i++)
{
for (int j = 0; j < 20; j++)
{
if (i % 2 && j == 15) // 0 is false, 1 is true
{
break;
}
if (i == x && j == y) // assuming these numbers start from 0
{
out << "* ";
}
out << ab[i][j] << " ";
}
out << endl
}
当然,您仍然需要确保在出售前没有占用座位,但这是您要求的。希望这有帮助!:)
相关文章:
- 如何循环打印顶点结构
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 如何在c++中打印目录
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 在线编译器中的分段C++没有打印消息
- 在C++中打印指向不同基元数据类型的指针的内存地址
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 如何将结构插入到集合中并打印集合的成员
- 在循环C++中指定字符串之后,不会打印该字符串
- 以螺旋方式打印矩阵的程序.(工作不好)
- 从控制台中删除最后打印的元素
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- 如何仅使用对象名称打印特定于对象的成员
- 回溯C++不打印函数,因此文件
- 在一定长度后从数组中打印时缺少整数
- 为什么这个 c++ 代码打印出长度 5,当我打印出字符串时,程序会自动终止?
- 在gem5中打印文件中的所有cache_blocks
- 打印数字图案
- Log4cpp:以UTC/GMT时区打印日期
- 如何使用gdb制作一个可以漂亮地打印每个对象的C++函数