С тіліндегі жиымдар бір типтегі мәліметтерді сақтайтын болса, құрылымдар өзара логикалық байланысқан әртүрлі типті мәліметтерді байланыстырады.
Мысалы, бір жиымда 50 қызметкердің жалақысын сақтай аламыз. Егер солармен байланыстыра отырып, қызметкерлердің аты-жөнін, жасын, реттік (табельдік) нөмірін сақтайтын болсақ, мынадай мәліметтер типтерін жазуға тура келеді:
char name; // фамилияcы int age; // жасы
float salary; // жалақысы
unsigned employee_number; // реттік нөмірі
Мұндайда байланысқан әртүрлі мәліметтерді бір атаумен сақтау мүмкіндігін беретін құрылымды пайдаланады. Мысалы:
struct Employee {
char name[64]; // фамилиясы int age; // жасы
float salary; // жалақысы
unsigned employee_number; // реттік нөмірі
};
Бұл құрылымның аты Employee идентификаторы болып табылады. Оны құрылымның тәгі деп, ал оның ішкі элементтерін құрылым өрістері деп те атайды. Ӛрістер кез келген типте немесе соларға нұсқауыш түріндегі құрылымның адресі арқылы қатынасу амалы ретінде де бола береді.:
Жұмысты орындау реті
Есеп 1. Айдың нөмері бойынша оның атын шығаратын программа.
#include
enum Months { /* айлар */
January = 1, February, March, April, May, June, July, August, September, October, November, December } months;
/* мұнда тізбе түрінде 1-ден 12-ге дейінгі сан тізбегі алынған, өйткені January айнымалысына 1 меншіктелген */ void main ()
{int present_month; int diff;
/* үстіміздегі ай нөмірін (1 ... 12) енгізу */ printf ("Input the present month number (1-12): "); scanf ("%d",&present_month);
months = December;
diff = (int) months - presentjnonth;
/* жыл соңына дейін ... ай қалды */
printf ("There are %d months till the end of the year\n", diff);
}
Есеп 2. new_employee атты құрылым өрістерін пайдалану программасы.
#include struct Employee { char name[64];
int age; float salary;
unsigned employee_number;
} new_employee = {"Kadyrov", 32, 300.5, 1122};
void main()
{
cout << new_employee.name << endl << new_employee.age << endl << new_employee.salary << endl << new_employee.employee_number << endl;
}
Есеп 3. Қайық атын, шыққан жылын және бағасын құрылым түрінде жазу программасы.
/* struct_2
Құрылым жасау мысалы */
#include
# define STR15 16 /* аяқтау нөлі үшін бір символ қосу */ struct stboat // Қайық құрылымы
{ char model[STR15]; // моделі int year; // шығарылған жылы float price; // бағасы
} boat; // қайық
void main()
{ /* қайық моделін енгізу */ printf("\n Input a model of the boat: "); gets(boat.model);
/* шығарылған жылын енгізу */
printf("\n Input the year of the creation of the boat:
"); scanf("%d",&boat.year);
/* бағасын енгізу */
printf("\n Input the price of the boat: "); scanf("%f",&boat.price);
/* барлық енгізілген мәліметтерді шығару */ printf("\n\nThe boat %s, the year of the creation %d\n", boat.model, boat.year);
printf("The boat was sold for %8.2f tenge.\n", boat.price);
}
Достарыңызбен бөлісу: |