Условие
Допишите недостающие части (`...`) в код, приведенный ниже
#include
struct TStudent
unsigned char WellFed : 1
unsigned char OnLection : 1
unsigned char PassedLab0 : 1
unsigned char ForgotPassAtHome : 1
unsigned char DoingThisTaskNow : 1
unsigned char WatchedNaruto : 1
unsigned char StudyingIn21212 : 1
unsigned char UsedToUseDynamicArrays : 1
}
union TStudentDescription
unsigned char Flags
struct TStudent Fields
}
int IsHappy(union TStudentDescription student)
// Студент считается счастливым, есл
// WellFed ==
// OnLection == 0
// PassedLab0 == 1
// ForgotPassAtHome == 0
// DoingThisTaskNow == 0
// WatchedNaruto - не важн
// StudyingIn21212 == 1
// UsedToUseDynamicArrays == 0
unsigned char mask1 = ...
unsigned char mask2 = ...
return ...; // Здесь допустимо использование только mask1, mask2, student.Flags и битовых операций. Использование операции `==` запрещено
int main(
union TStudentDescription description
description.Flags = 0b11100110
if (IsHappy(description))
printf("Student is happy\n")
} else
printf("Time to drink some coffee\n")
return 0
}