循环无限?

use*_*612 0 c++ iteration loops for-loop infinite

这是我在我的c ++程序中使用的for循环,它无限重复,我无法弄清楚为什么.(循环包含在名为"initialiseTaxis"的方法中.

这是整个事情:

void initialiseTaxis (taxiDetails allTaxiDetails[14])//Initialise array of taxis
{int i = 0;
while (i < 15)
{   


    if (i = 0)
        allTaxiDetails[i].taxiDriverSurname = "Downing";
    else if (i = 1)
        allTaxiDetails[i].taxiDriverSurname = "Gilbert";
    else if (i = 2)
        allTaxiDetails[i].taxiDriverSurname = "Downey";
    else if (i = 3)
        allTaxiDetails[i].taxiDriverSurname = "Potter";
    else if (i = 4)
        allTaxiDetails[i].taxiDriverSurname = "Elric";
    else if (i = 5)
        allTaxiDetails[i].taxiDriverSurname = "Rockbell";
    else if (i = 6)
        allTaxiDetails[i].taxiDriverSurname = "Tate";
    else if (i = 7)
        allTaxiDetails[i].taxiDriverSurname = "Pratt";
    else if (i = 8)
        allTaxiDetails[i].taxiDriverSurname = "Mansfield";
    else if (i = 9)
        allTaxiDetails[i].taxiDriverSurname = "Hopps";
    else if (i = 10)
        allTaxiDetails[i].taxiDriverSurname = "Willaker";
    else if (i = 11)
        allTaxiDetails[i].taxiDriverSurname = "Singer";
    else if (i = 12)
        allTaxiDetails[i].taxiDriverSurname = "O'Connoly";
    else if (i = 13)
        allTaxiDetails[i].taxiDriverSurname = "McKay";
    else if (i = 14)
        allTaxiDetails[i].taxiDriverSurname = "Spriggs";


    if (i == 13 || i == 1) // initialises wheelchair access (1 7 seat wheelchair, 1 5 seat wheelchair)
    allTaxiDetails[i].WheelChairAccessibleVehicle = true;
    else 
    allTaxiDetails[i].WheelChairAccessibleVehicle = false;


    allTaxiDetails[i].fareDetailsForTaxi.bookingID = "0";
    allTaxiDetails[i].fareDetailsForTaxi.costOfCurrentFare = 0;
    allTaxiDetails[i].fareDetailsForTaxi.overAllFareDetails = 0;
    allTaxiDetails[i].fareDetailsForTaxi.taxiAvaliable = false;

    allTaxiDetails[i].fareDetailsForTaxi.currentCustomerDetails.customerCoordinates = 0;
    allTaxiDetails[i].fareDetailsForTaxi.currentCustomerDetails.customerName = "Null"; 
    allTaxiDetails[i].fareDetailsForTaxi.currentCustomerDetails.customerOnRoute= false;
    allTaxiDetails[i].fareDetailsForTaxi.currentCustomerDetails.customerPhoneNumber = "00000000000";
    allTaxiDetails[i].fareDetailsForTaxi.currentCustomerDetails.dropOffCoordinates = 0;
    allTaxiDetails[i].fareDetailsForTaxi.currentCustomerDetails.dropOffLocationName = "Null";
    allTaxiDetails[i].fareDetailsForTaxi.currentCustomerDetails.nameOfLocation = "Null";
    allTaxiDetails[i].fareDetailsForTaxi.currentCustomerDetails.seatingRequirement = 5;
    allTaxiDetails[i].fareDetailsForTaxi.currentCustomerDetails.wheelchairAccessYesOrNo = false;
    if (i != 13 || i!= 14) //Initialises number of seats with 2 seven seater cars
    {allTaxiDetails[i].numberOfSeats = 5;}
    else 
    {allTaxiDetails[i].numberOfSeats = 7;}

    allTaxiDetails[i].taxiID = (i + 1);
    allTaxiDetails[i].taxiAvaliable = true;
    allTaxiDetails[i].taxiContainsCustomerYesNo = false;
    allTaxiDetails[i].taxiCoordinates = 0;
    allTaxiDetails[i].taxiRank = "Train Station";
    cout << allTaxiDetails[i].taxiDriverSurname;
    i++;
} //Initialise Taxis Method
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激=)

spl*_*lrs 5

你的if语句会关闭,你应该使用==,而不是=.

例如

if (i = 0)应该是if (i == 0).

传入的数组也应该是15的大小,而不是14.它只是元素的索引从0开始.