- Quyidagi dastur yordamida birlashma xususiyatini tekshirish mumkin:
- #include
- enum paytype{CARD, CHECK};
- struct {
- paytype ptype;
- union{
- char card[4];
- long check;
- };
- }info;
- int main()
- {
- info.ptype = CHECK;
- info.check = 77;
- switch (info.ptype)
- {
- case CARD:printf("\nKarta bilan to'lash:%s", info.card); break;
- case CHECK:printf("\nChek bilan to'lash:%ld", info.check); break;
- }
- return 0;}
- Natija Chek bilan to'lash:77
- Birlashmalar imkoniyatlarini ko’rsatish uchun bioskey() funksiyasidan foydalanishni ko’rib chiqamiz. Bu funksiya bios.h sarlavhali faylda joylashgan bo’lib, quyidagi prototipga ega:
- int bioskey(int);
- MS DOS operasion tizimida ixtiyoriy klavishaning bosilishi klaviatura buferiga ma’lumot yozilishiga olib keladi.
- Agar funksiyaga bioskey(0) shaklda murojaat qilinsa va bufer bo’sh bo’lsa biror klavishaga bosilishi kutiladi, agar bufer bo’sh bo’lmasa funksiya buferdan ikki baytli kodni o’qib butun son sifatida qaytaradi. Funksiyaga bioskey(0) shaklda murojaat qilinsa va bufer bo’sh bo’lsa biror klavisha bosilishi kutiladi, agar bufer bo’sh bo’lmasa funksiya buferdagi navbatdagi kodni qaytaradi. Funksiyaga bioskey(1) shaklda murojaat qilish bufer bo’sh yoki bo’shmasligini aniqlashga imkon beradi. Agar bufer bo’sh bo’lmasa funksiya buferdagi navbatdagi kodni qaytaradi, lekin bu kod buferdan o’chirilmaydi
- Quyidagi dastur buferga kelib tushuvchi kodlarni o’qib monitorga chiqarishga imkon beradi:
Do'stlaringiz bilan baham: |