#include <stdio.h>
#include <string.h>
#define MAXLEN 41
typedef char string25[26];
typedef char string40[41];
struct RoomInfo
{
char RoomCode;
int RoomCap, NumOfRooms;
float WeekDayRate, WeekEndRate, RatePerGuest;
};
struct RoomInfo GetRecords()
{
struct RoomInfo OneRoom;
printf("Room Code:");
scanf(" %c", &OneRoom.RoomCode);
while (!(OneRoom.RoomCode >= 'a' && OneRoom.RoomCode <= 'z' || OneRoom.RoomCode >= 'A' && OneRoom.RoomCode <= 'Z'))
{
printf("Input not Valid,Enter Another:");
scanf("%c", &OneRoom.RoomCode);
}
printf("Room Capacity:");
scanf("%d", &OneRoom.RoomCap);
while (OneRoom.RoomCap < 1 || OneRoom.RoomCap > 12)
{
printf("Input not Valid,Enter Another:");
scanf("%d", &OneRoom.RoomCap);
}
printf("Number of Rooms with this Capacity:");
scanf("%d", &OneRoom.NumOfRooms);
while (OneRoom.RoomCap < 1 || OneRoom.RoomCap > 40)
{
printf("Input not Valid,Enter Another:");
scanf("%d", &OneRoom.NumOfRooms);
}
printf("Weekday Rate:");
scanf("%f", &OneRoom.WeekDayRate);
printf("Weekend Rate:");
scanf("%f", &OneRoom.WeekEndRate);
printf("Rate per Guest:");
scanf("%f", &OneRoom.RatePerGuest);
return OneRoom;
}
void GetMultipleRecords(struct RoomInfo Booking[], int n)
{
int i;
for (i = 0; i < n; i++)
Booking[i] = GetRecords();
}
struct ClientInfo
{
string25 LastName, FirstName;
string40 Email;
char RoomCode;
int TotGuests, Day, NumDays;
};
struct ClientInfo GetInfo()
{
int j;
struct ClientInfo OneClient;
struct RoomInfo OneRoom[10];
printf("Last Name:");
scanf("%s", OneClient.LastName);
printf("First Name:");
scanf("%s", OneClient.FirstName);
printf("Email Address:");
scanf("%s", OneClient.Email);
printf("Room Code:");
scanf(" %c", &OneClient.RoomCode);
if (OneClient.RoomCode == OneRoom[0].RoomCode)
OneClient.TotGuests = OneRoom[0].RoomCode;
printf("Total Number of Guests(max %d):", OneRoomClient.TotGuests);
scanf("%d", OneClient.TotGuests);
printf("What day of the week?:");
scanf("%c", &OneClient.Day);
printf("Number of Days of Stay");
scanf("%c", &OneClient.NumDays);
return OneClient;
}
void GetMultipleClient(struct ClientInfo Data[], int n)
{
int i;
for (i = 0; i < n; i++)
{
Data[i] = GetInfo();
}
}
int main()
{
struct ClientInfo Data[10];
struct RoomInfo Bookings[10];
int n = 1;
GetMultipleRecords(Bookings, n);
GetMultipleClient(Data, n);
return 0;
}
Вот весь мой код, и я хочу что-то сделать с этой частью:
printf("Room Code:");
scanf(" %c", &OneClient.RoomCode);
if(OneClient.RoomCode == OneRoom[0].RoomCode)
OneClient.TotGuests=OneRoom[0].RoomCode;
printf("Total Number of Guests(max %d):", OneRoomClient.TotGuests);
Я хочу напечатать в «Общее количество гостей (макс.% D):» соответствующийномер, введенный в RoomInfo, если введенный клиентом код в информации о клиенте и код, введенный в RoomInfo, соответствуют друг другу.Как я могу это сделать?Я пытался использовать указатели, но я не могу понять это правильно.