gpt4 book ai didi

c++ - 如何在 C++ 中检查飞机座位预订

转载 作者:太空宇宙 更新时间:2023-11-04 13:03:49 26 4
gpt4 key购买 nike

我是 C++ 的新手,我想在飞机上用二维数组预订一个座位;一切正常,除了它不会检查座位是否已被占用。

for example: 
1 A B C D
2 A B C D
3 A B C D
4 A B C D
5 A B C D

如果用户选择第 1 行字母 A,则它将是:

 1  X B C D
2 A B C D
3 A B C D
4 A B C D
5 A B C D

然后如果用户再次选择第 1 行字母 A,它应该显示消息说座位已经被占用。这是我的代码

void reserveSeat(char seatChart[ROW][COLUM]){

int row;
char colum;

cout<<"Enter the row number with colum letter ex(0 A): ";
cin>>row>>colum;
colum = toupper(colum);

for(int r = 0; r<ROW;r++){

for(int c = 0; c<COLUM;c++){

if(seatChart[row][c] == colum){

//check if the seat is taken
if( seatChart[row][c] == 'X'){

cout<<"seat is already taken\n\n";
}else
seatChart[row][c] = 'X';
}
}//end of inner for loop
}//end of outer for loop
}

最佳答案

我认为你不必为你的解决方案运行循环,当你从用户那里获取行和列时,你可以简单地从字母表中减去 A 来检查这是否是列,如果你从任何大写字母中减去 A 它将变成像 A-A=0,B-A=1,C-A=2 这样的数组计数所以这是您可以使用的解决方案:

    int row;
char colum;
cout<<"Enter the row number with colum letter ex(0 A): ";
cin>>row>>colum;
colum = toupper(colum);
int c= int(colum - 'A');
//check if the seat is taken
if( seatChart[row][c] == 'X'){
cout<<"seat is already taken\n\n";
}else
seatChart[row][c] = 'X';

关于c++ - 如何在 C++ 中检查飞机座位预订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43162881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com