C++航班预订计划
C++ flight booking program
我正在编写一个程序来分配航班中的座位。
法典:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i=0, j=0, seatNo;
int seatsAllotted=0;
//10 seats numbered 1 through 10
//0->seat unavailable
//1->seat available
int available[10];
for(i=1; i<=10; i++)
{
available[i]=1;
}
int choice;
while(1)
{
cout<<"nn1. BOOKING";
cout<<"n";
cout<<"2. CANCELLATIONn";
cin>>choice;
switch(choice)
{
//BOOKING PART
case 1:
int no;
cout<<"nnEnter no. of seats to be booked: ";
cin>>no;
if((seatsAllotted+no)>10)
{
cout<<"Insufficient no. of seats are available";
}
else
{
for(j=1; j<=no; j++)
{
for(i=1; i<=10; i++)
{
if(available[i]==1)
{
seatNo=i;
available[i]=0;
break;
}
}
cout<<"nSeat nos. allotted are: ";
cout<<seatNo;
seatsAllotted+=1;
}
}
break;
//CANCELLATION PART
case 2:
int cancel;
cout<<"nnEnter the seat nos. to be cancelled: ";
cin>>cancel;
available[cancel]=1;
seatsAllotted-=1;
break;
default:
cout<<"Wrong choice";
}
}
return 0;
}
通常,程序根据需要输出座位号。 但是当我输入某些值时,相同的座位号。分配两次。
请看图片
https://preview.ibb.co/knP3FQ/book.png
当我给出 3 作为输入时,输出是正确的。但是当我想预订8个座位时,答案是不正确的。
有人可以指出我做错了什么吗?
谢谢
问题出在以下几行:
for(i=1; i<=10; i++)
{
available[i]=1;
}
您已声明int available[10]
.这意味着索引可以从0
到9
,
因此 for 循环应该是for(i=0; i<10; i++)
相关文章:
- 如何让C++'tally up'结果并制定计划?
- C++窗口的计划问题
- 回复计划游戏结果不会显示
- 我正在努力处理多维数组输入和输出,我管理输入,但是打印无法按计划工作
- 如何从文本文件输出数据?(学生成绩单计划)
- 为什么在此计划中,我在所有情况下都获得 0%?
- Windows 并发运行时任务计划,但有例外
- C++航班预订计划
- 如何计划在将来时间运行的操作
- 自动(toCast)显式转换是否计划在未来C++标准?
- 任务计划程序库的预处理不起作用 - 多定义错误
- GLES计划资源索引/位置与统一索引/位置
- 我应该如何使用C++创建 Google 行动行动计划履行端点?
- 多米诺骨牌计划。我不知道如何将我的矢量拉到空白中以打印出来
- C++计划持续时间内(字体)资源的分配
- 是否有任何计划将"expects"添加到 std::optional?
- 我可以在计算数据计划上修复该C 程序的任何建议吗?
- 任务计划程序:设置运行级别时拒绝访问
- 基本C++计划提前结束
- 驾驶执照考试计划.无法将 std:: 字符串转换为 std :: 字符串和其他错误