C++ Cin未产生所需结果

C++ Cin未产生所需结果,c++,C++,我正在尝试设置一个简单的航班预订系统程序,但我的第二个cin代码在运行该程序时不需要输入。与最初的cin不同,cin最初需要您的名字。程序只运行并返回0。我是C++初学者,我知道这是一个简单的解决方案,所以请理解。感谢您的指导,我们将不胜感激 #include <iostream> #include <sstream> using namespace std; int main() { int name; int Seatnumber; int

我正在尝试设置一个简单的航班预订系统程序,但我的第二个cin代码在运行该程序时不需要输入。与最初的cin不同,cin最初需要您的名字。程序只运行并返回0。我是C++初学者,我知道这是一个简单的解决方案,所以请理解。感谢您的指导,我们将不胜感激

#include <iostream>
#include <sstream>

using namespace std;

int main()
{
    int name;
    int Seatnumber;
    int optionnumber = 1-5 ;
    std::string out_string;
    std::stringstream ss;
    ss << optionnumber;
    out_string = ss.str();

    cout << "Welcome to the COS1511 Flight Booking System" "\n" << endl;
    cout << "Enter full name : " << endl;
    cin >> name ; "\n";

    cout << "\n" "The Available travel times for flights are:" << endl;
    cout << "         Depart                Arrive" << endl;
    cout << "1.       7.00                  9.30"  << endl;
    cout << "2.       9.00                  11.30" << endl;
    cout << "3.       11.00                 13.30" << endl;
    cout << "4.       13.00                 15.30" << endl;
    cout << "5.       15.00                 17.30" << endl;
    cout << "Choose the time by entering the option number from the displayed list : " << endl;

    cin >> optionnumber ;

    if (optionnumber == 1-5){
        cout << "\n" "The available seats for are as follows " << endl;
    }
    else
        cout << "Incorrect option! Please Choose from 1-5 " << endl;

        cout << "First Class(1920)" << endl;
        cout << "|A1||A2||A3|----|A4||A5||A6|" << endl;
        cout << "|B1||B2||B3|----|B4||B5||B6|" << endl;
        cout << "|C1||C2||C3|----|C4||C5||C6|" << endl;
        cout << "|D1||D2||D3|----|D4||D5||D6|" << endl;
        cout << "| Economy Class(1600)" << endl;
        cout << "|E1||E2||E3|----|E4||E5||E6|" << endl;
        cout << "|F1||F2||F3|----|F4||F5||F6|" << endl;
        cout << "|G1||G2||G3|----|G4||G5||G6|" << endl;
        cout << "|H1||H2||H3|----|H4||H5||H6|" << endl;
        cout << "|I1||I2|" << endl;
        cout << "Please Key in a seat number to choose a seat(eg: A2)" << endl;
        cin >> Seatnumber;
}
#包括
#包括
使用名称空间std;
int main()
{
int名称;
国际座位号;
int optionnumber=1-5;
std::string out_string;
std::stringstream-ss;
ss警告


但是您希望
如果((optionnumber>=1)和&(optionnumber>name
不允许它包含由空格分隔的多个名称,则可以使用组合名称getline

如果(optionnumber==1-5)
与您的期望不符,请参阅我的答案我强烈建议使用而不是
std::cin>>任何;
进行面向行的输入。我想我的答案解决了您的问题,但事实并非如此?是的,我是个白痴。我将名称声明为整数。我经常花数小时寻找像这样愚蠢的错误。谢谢您的帮助lp它工作得很好。@yogi欢迎你,别忘了接受我的回答来解决问题()
int optionnumber = 1-5 ;
int optionnumber = -4 ;
if (optionnumber == 1-5){
if (optionnumber == -4){
  cin >> name ; "\n";
#include <iostream>
#include <string>

using namespace std;

int main()
{
  string name;
  string Seatnumber;
  int optionnumber;

  cout << "Welcome to the COS1511 Flight Booking System" "\n" << endl;
  cout << "Enter full name : " << endl;

  if (!(cin >> name))
    // EOF (input from a file)
    return -1;

  cout << "\n" "The Available travel times for flights are:" << endl;
  cout << "         Depart                Arrive" << endl;
  cout << "1.       7.00                  9.30"  << endl;
  cout << "2.       9.00                  11.30" << endl;
  cout << "3.       11.00                 13.30" << endl;
  cout << "4.       13.00                 15.30" << endl;
  cout << "5.       15.00                 17.30" << endl;
  cout << "Choose the time by entering the option number from the displayed list : " << endl;

  for (;;) {
    if (!(cin >> optionnumber)) {
      // not an int
      cin.clear(); // clear error

      string s;

      // flush invalid input
      if (!(cin >> s)) 
        // EOF (input from a file)
        return -1;
    }
    else if ((optionnumber >= 1) && (optionnumber <= 5))
      // valid choice
      break;

    cout << "Incorrect option! Please Choose from 1-5 " << endl;
  }

  cout << "\n" "The available seats for are as follows " << endl;
  cout << "First Class(1920)" << endl;
  cout << "|A1||A2||A3|----|A4||A5||A6|" << endl;
  cout << "|B1||B2||B3|----|B4||B5||B6|" << endl;
  cout << "|C1||C2||C3|----|C4||C5||C6|" << endl;
  cout << "|D1||D2||D3|----|D4||D5||D6|" << endl;
  cout << "| Economy Class(1600)" << endl;
  cout << "|E1||E2||E3|----|E4||E5||E6|" << endl;
  cout << "|F1||F2||F3|----|F4||F5||F6|" << endl;
  cout << "|G1||G2||G3|----|G4||G5||G6|" << endl;
  cout << "|H1||H2||H3|----|H4||H5||H6|" << endl;
  cout << "|I1||I2|" << endl;

  cout << "Please Key in a seat number to choose a seat(eg: A2)" << endl;
  cin >> Seatnumber;

  return 0;
}
pi@raspberrypi:/tmp $ g++ -pedantic -Wextra -Wall cc.cc
pi@raspberrypi:/tmp $ ./a.out
Welcome to the COS1511 Flight Booking System

Enter full name : 
bruno

The Available travel times for flights are:
         Depart                Arrive
1.       7.00                  9.30
2.       9.00                  11.30
3.       11.00                 13.30
4.       13.00                 15.30
5.       15.00                 17.30
Choose the time by entering the option number from the displayed list : 
aze
Incorrect option! Please Choose from 1-5 
7
Incorrect option! Please Choose from 1-5 
2

The available seats for are as follows 
First Class(1920)
|A1||A2||A3|----|A4||A5||A6|
|B1||B2||B3|----|B4||B5||B6|
|C1||C2||C3|----|C4||C5||C6|
|D1||D2||D3|----|D4||D5||D6|
| Economy Class(1600)
|E1||E2||E3|----|E4||E5||E6|
|F1||F2||F3|----|F4||F5||F6|
|G1||G2||G3|----|G4||G5||G6|
|H1||H2||H3|----|H4||H5||H6|
|I1||I2|
Please Key in a seat number to choose a seat(eg: A2)
qsd
pi@raspberrypi:/tmp $