Привет, ребята, у меня работает эта программа c, и я хочу изменить printbooking (), чтобы печатать только комнаты со статусом "выписка"
до сих пор я получаю только ошибку о сравнении между указателем и целым числом .... любая помощь о том, как я должен это сделать?
а также. Я хочу, чтобы можно было искать в комнатах с помощью номера комнаты и редактировать их данные. Любая помощь будет принята с благодарностью!
Вот мой код
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct{
char BookId[7];
char CustId[7];
char RoomId[5];
char NumGuests[4];
char StartDate[11];
char EndDate[11];
char Status[20];
} booking_t;
int readBooking(booking_t *myStruct)
{
FILE *infile;
infile = fopen("booking.txt", "r");
char record[201];
char *token;
int i = 0;
while (fgets(record, 200, infile) != NULL) {
token = strtok(record, ";");
strcpy(myStruct[i].BookId, token);
token = strtok(NULL, ";");
strcpy(myStruct[i].CustId, token);
token = strtok(NULL, ";");
strcpy(myStruct[i].RoomId, token);
token = strtok(NULL, ";");
strcpy(myStruct[i].NumGuests, token);
token = strtok(NULL, ";");
strcpy(myStruct[i].StartDate, token);
token = strtok(NULL, ";");
strcpy(myStruct[i].EndDate, token);
token = strtok(NULL, "\n");
strcpy(myStruct[i].Status, token);
i++;
}
fclose(infile);
return(i);
}
// это код, который я хочу распечатать только "зарезервированные номера"
void printBooking(booking_t *myStruct, int Size)
{
printf("Booking ID, Customer ID, Room ID, Number of Guests, Start Date, End Date, Status\n");
int i;
for(i = 0; i < Size;i++){
if(myStruct[i].Status[15] == "checked-out") //the error message points to this line
printf("%s %s %s %s %s %s %s\n", myStruct[i].BookId, myStruct[i].CustId, myStruct[i].RoomId, myStruct[i].NumGuests, myStruct[i].StartDate, myStruct[i].EndDate, myStruct[i].Status);
}
printf("\n");
}
//
void printMayBooking(booking_t *myStruct, int Size)
{
printf("Booking ID, Customer ID, Room ID, Number of Guests, Start Date, End Date, Status\n");
int i;
for(i = 0; i < Size;i++){
if(myStruct[i].StartDate[4] == '5')
printf("%s %s %s %s %s %s %s\n", myStruct[i].BookId, myStruct[i].CustId, myStruct[i].RoomId, myStruct[i].NumGuests, myStruct[i].StartDate, myStruct[i].EndDate, myStruct[i].Status);
}
printf("\n");
}
int main()
{
booking_t booking_list[50];
int Size;
Size = readBooking(booking_list);
printBooking(booking_list, Size);
printMayBooking(booking_list, Size);
return(0);
}