我想检查用户是否输入了与drivers.txt文件中相同的数字。该文件如下所示:
Angela 07483774637 1000 1100
Mark 07362543432 1100
Dave 07869878907 1200 1100
为所有驱动程序预订的姓名,号码和时间。检查用户是否输入了与最后2列相同的时间。如果所有司机都预定了这个时间(例如,如果所有司机的名字旁边都有1100名),那么说当时没有出租车,如果时间是免费的,那么就说有出租车可用。
应该知道,一旦找到与用户相同号码的一个实例,就不会说当时有出租车可用(例如,先检查第1列,然后是否有该号码,则不要继续(即马克有1100,但是下一栏是空白的,所以程序可能会认为Mark可用于1100))。稍后我将实现写入文件功能,以便用户在预订时写入文件,而不是手动编写文件。
userTime2 =用户输入
到目前为止的相关代码:
struct Driver
{
string firstName;
double number;
int timeBooked;
};
const int MAXDRIVERS = 3;
struct Driver cab;
void searchDrivers()
{
cout << "\nSearching for drivers..." << endl;
ifstream inFile;
inFile.open("drivers.txt");
if (!inFile)
{
cout << "error reading file";
}
else
{
for (int i = 0; i < MAXDRIVERS; i++)
{
inFile >> cab.firstName[i] >> cab.number[i] >> cab.timeBooked[i];
if (userTime2 == cab.timeBooked[i])
{
cout << "unavailable" << endl;
}
else
{
cout << "car available" << endl;
driverIndex = i;
confirmBooking();
}
}
}
}
我需要添加/更改此内容才能使其正常工作?谢谢。
答案 0 :(得分:0)
它分配&#34; timeBooked&#34;值为&#39; firstName&#39;因为你正在使用令牌从文件中读取,这就是当它读取文件Angela被分配给firstName [0],0748 ...到数字[0],1000到timeBooked [0]和最后1100时发生的事情。到firstName [1]。我希望这有帮助。