提问人:Elio Baharan 提问时间:11/9/2023 最后编辑:genpfaultElio Baharan 更新时间:11/9/2023 访问量:65
cin 和 cin.ignore() 无法正常工作
cin and cin.ignore() doesn't work properly
问:
我在 cin 和 cin.ignore() 方面遇到了问题。这是我的代码,它没有任何错误,但它不能正常工作。当我想查看 ID 结果时,它向我展示了一些奇怪的东西。
#include <iostream>
#include <cstring>
using namespace std;
class watchTower {
private:
int numberOfAirplane;
int runway;
int numberOfOrders;
string menu;
char ID[][11];
public:
void setNumberOfAirplane(int n) { numberOfAirplane = n;}
void setRunWay(int k) { runway = k;}
void setID(char id[][11]);
void setNumberOfOrders(int q) { numberOfOrders = q;}
void display();
};
void watchTower::display() {
cout << numberOfAirplane << ' ' << runway << ' ' << numberOfOrders << endl;
for(int i = 0; i < numberOfAirplane; i++)
cout << ID[i] << endl;
}
void watchTower::setID(char (*id)[11]) {
for(int i = 0; i < numberOfAirplane; i++)
for(int j = 0; j < 11; j++)
ID[i][j] = id[i][j];
}
int main() {
int n, k, q;
cin >> n >> k;
char id[n][11];
for(int i = 0; i < n; i++) {
cin.ignore(256, '\n');
cin >> id[i];
cin.clear();
}
watchTower input;
input.setNumberOfAirplane(n);
input.setRunWay(k);
input.setID(id);
cin >> q;
input.setNumberOfOrders(q);
input.display();
}
如您所见,我尝试了 cin.ignore 和 cin.clear,但它们不起作用。 顺便说一句,这些是我的输入。
3 4 0000000001 0000000002 0000000003 5
这些是我的输出不正确。
3 4 5 0000000001 ♣ 0 0000000003
答: 暂无答案
评论