У меня есть следующий код, где booking_id рассчитывается с помощью функции.
void calculateBookingID(char* id);
class BookFlight
{
public:
char booking_id[5];
void addBooking()
{
string dummy;
calculateBookingID(booking_id);
cout << "Enter Airline ID : ";
cin.getline(airline_id,3);
}
void displayBooking()
{
cout << booking_id <<'\t'<<airline_id<<endl;
}
private:
char airline_id[3];
} b1,b2;
string getNextBookingID(string ID);
int main()
{
b1.addBooking();
b1.displayBooking();
return 0;
}
void calculateBookingID(char* id)
{
strcpy(id,"B1001");
}
По какой-то причине в booking_id добавляется авиакомпания_id. В отладчике значения выглядят нормально, но при отображении он добавляет 2 дополнительных символа.
Пример вывода:
B1001CD CD
Здесь booking_id - это B1001CD, где, как и должно быть, B1001
Я не могу понять, что не так. Может кто-нибудь, пожалуйста, посоветуйте, что я сделал неправильно? С уважением, Абинаш