cout << "Enter the first two letters of the course: " << endl; cin >> ch1 >> ch2; switch (ch1) { case 'a’: case 'A’: if (ch2 == 'l' || ch2 == 'L’) r egistered = ALGEBRA; else registered = ANALYSIS; break; case 'b’: case 'B’: registered = BASIC; break; case 'c’: - case 'c’:
- case 'C’:
- if (ch2 == 'h' || ch2 == 'H’)
- registered = CHEMISTRY;
- else
- registered = CPP; break;
- case 'h’:
- case 'H’:
- registered = HISTORY; break;
- case 'p’:
- 274 case 'P’:
- if (ch2 == 'a' || ch2 == 'A’)
- registered = PASCAL; else registered = PHILOSOPHY; break;
- default: cout << "Illegal input." << endl; }
- return registered; } //end readCourse
16.4. typedef билан ишлаш Фойдаланувчи томонидан аниқланадиган тур typedef калит сўзи билан бошланади, ундан кейин мавжуд тур кўрсатилади ва идентификатор ёзилади. Охирида ёзилган идентификатор - янги яратилган турнинг номи ҳисобланади. Масалан, typedef unsigned char byte; ифодаси byte деб номланувчи янги турни яратади ва ўз мазмунига кўра unsigned char тури билан эквивалент бўлади. Кейинчалик, программада хотирадан бир байт жой эгаллайдиган ва [0..255] оралиқдаги қийматларни қабул қиладиган byte туридаги ўзгарувчи (ўзгармасларни) эълон қилиш мумкин: byte c=65; byte Byte=0xFF; Массив кўринишидаги фойдаланувчи томонидан аниқланувчи тур эълони қуйидагича бўлади: Массив кўринишидаги фойдаланувчи томонидан аниқланувчи тур эълони қуйидагича бўлади: typedef char Ism[30]; Ism ism; Исм туридаги исм ўзгарувчиси эълони - бу 30 белгидан иборат массив (сатр) эълонидир. Одатда эчилаётган масаланинг предмет соҳаси терминларида ишлаш учун структуралар қайта номланади. Натижада мураккаб тузилишга эга бўлган ва зарур хусусиятларни ўзига жамлаган янги турларни яратишга мувофиқ бўлинади. Масалан, комплекс сон ҳақидаги маълумотларни ўз ичига олувчи Complex тури қуйидагича аниқланади: typedef struct double im; } Complex; Енди комплекс сон эълонини Complex KSon; ёзиш мумкин ва унинг майдонларига мурожаат қилиш мумкин: KSon.re=5.64; KSon.im=2.3;
Do'stlaringiz bilan baham: |