227
ch
i
L
Біріктірудің жалпы өлшемі оның ең үлкен өрісінің өлшеміне тең.
Typedef қызметші сөзінің көмегімен бұрыннан бар типтердің негізінде жаңа
тип құруға болады. Бұл программа текстін ықшамдау үшін қажет. Мысалы,
Typedef int butin;
өрнегі butin сөзін int типінің синонимі ретінде қабылдауға мүмкіндік береді.
Мысал.
Мекеме қызметкерлері туралы мынадай мәліметтер берілген: аты-жөні, мекен-
жайы, еңбек стажы, еңбек ақысы. Қызметкердің мекен-жайы көшенің атынан,
үйінің және пәтерінің номерінен тұрсын.
Еңбек стажы 10 жылдан артық қызметкерлердің еңбек ақысын 20%-ке
арттырып, фамилиясымен қоса экранға шығаратын программа жазу.
Есептің қойылымы. Программада іштестірілген структура қолданамыз. Work
структурасы
қызметкерлер
туралы
мәліметтерден
тұрсын.
Структура
элементтері: fam, address, stazh, zarp. Address –– ul, dom, kv элементтерінен
тұратын cтруктуралық айнымалы. n – қызметкерлер саны.
Математикалық моделі.
zarp = zarp * 1.2 , егер stazh>=10
Программасы.
228
С тілінде
#include
struct adr {
char ul[15];
int dom;
int kv;
};
struct work {
char fam[25];
struct adr address;
int stazh;
float zarp;
} rab[10];
void main()
{ int i,n;
printf("\n Қызметкерлер саны n=");
scanf("%i",&n);
for(i=0;i
{ printf("%i- қызметкердің фамилиясы: ",i); scanf("%s",rab[i].fam);
printf("%i- қызметкердің тұратын көшесі: ",i);
scanf("%s",rab[i].address.ul);
printf("%i- қызметкердің үйінің номері: ",i);
scanf("%i",&rab[i].address.dom);
printf("%i- қызметкердің пәтерінің номері: ",i);
scanf("%i",&rab[i].address.kv);
printf("%i- қызметкердің еңбек стажы: ",i); scanf("%i",&rab[i].stazh);
printf("%i- қызметкердің еңбек ақысы: ",i); scanf("%f",&rab[i].zarp);
}
printf("\n Еңбек стажы 10 жылдан асатын қызметкерлер");
printf("\n Фамилиясы \t Еңбек ақысы");
for(i=0;i
if (rab[i].stazh>=10)
{ rab[i].zarp*=1.2;
printf("\n %s \t %f \n Мекен-жайы: %s \t %i-%i ", rab[i].fam,
rab[i].zarp,
rab[i].address.ul, rab[i].address.dom, rab[i].address.kv);
}
}
229
С++ тілінде
#include
struct adr {
char ul[15];
int dom;
int kv;
};
struct work {
char fam[25];
struct adr address;
int stazh;
float zarp;
};
void main()
{ work rab[10];
int i,n;
cout<<"\nҚызметкерлер саны n="; cin>>n;
for(i=0;i
{ cout<>rab[i].fam;
cout<>rab[i].address.ul;
cout<>rab[i].address.dom;
cout<>rab[i].address.kv;
cout<>rab[i].stazh;
cout<>rab[i].zarp;
}
cout<<"Еңбек стажы 10 жылдан асатын қызметкерлер";
cout<<"Фамилиясы \t Еңбек ақысы";
for(i=0;i
if (rab[i].stazh>=10)
{ rab[i].zarp*=1.2;
cout<<"\n"<
<
}
}
Өзіндік жеке тапсырмалар:
1.
Информатикадан олимпиадаға қатысқан студенттердің мәліметтері белгілі.
30 баллдан жоғары алған студенттердің тізімін шығару.
2.
Кітапхананың оқырмандары туралы мәліметтер белгілі: фамилиясы, мекен-
жайы, жұмыс орны, кітапты алған уақыты, кітапты тапсыру уақыты.
Кітапханаға қарыз оқырмандардың фамилиясын, мекен-жайын және жұмыс
орнын көрсету.
230
3.
Тіс дәрігеріне келушілердің тізімінен фамилиясының бас әрпі "Б"-дан "Л"-ға
дейінгі аралықта жатқан адамдардың жасы мен диагнозын шығару
программасын құрыңыз.
4.
Темір жол кассасында төмендегідей мәліметтер белгілі: поездың номері,
баратын жері, кету уақыты, бос орындар саны. Астана қаласына баратын
поездың номері мен кету уақытын шығару, егер поезда бос орын болса.
5.
Музыка мектебінің скрипкада ойнайтын оқушыларының тізімін шығару.
Олардың музыкамен неше жыл айналысатындығын және конкурстарға
қатысқан-қатыспағандығын көрсету.
6.
Оқушылар туралы келесі мәліметтер берілген: аты-жөні, бойы. Кластағы ең
ұзын және ең қысқа оқушыны, сонымен қатар неше оқушының баскетболға
қатысатындығын анықтау, егер баскетболисттің бойы 170 см.-ден артық болуы
керек болса.
7.
Автомобильдер туралы мәлімет берілген: автомобиль иесінің аты-жөні,
автомобиль бағасы, маркасы және номері. Автомобильдер туралы мәліметті
бағасының өсу реті бойынша баспаға шығару қажет.
8.
Фирма қызметкерлері туралы мәлімет берілген: қызметкердің аты-жөні, туған
жылы, адресі, телефон номері. Жасы қызметкерлердің орташа жасынан
аспайтын қызметкерлер туралы мәліметті баспаға шығар.
9.
Экспортқа шығарылатын тауарлар туралы мәлімет берілген: тауардың аты,
тауарды импортқа шығаратын елдің аты және әкелінетін партияның көлемі.
Берілген тауардың қай елге экспортқа шығарылатындығын және оның жалпы
көлемін тап.
10.
Тұрғындар санағының нәтижелері берілген болсын. 1990 ж. кейін туылған
тұрғындардың фамилиясын, атын және жалпы санын анықтайтын программа
құрыңыз.
11.
Дәріханадағы дәрілер туралы келесі мәліметтер белгілі болсын: дәрілік
препараттың аты, бағасы, саны, сақтау мерзімі. Дәріханадағы барлық
дәрілердің санын, қанша тұратынын және сақтау мерзімі 3 айдан артық
препараттарды анықтау программасын құрыңыз.
12.
Қысқы сессия нәтижесі бойынша ешбір сабақтан “үштік” баға алмаған
студенттердің фамилиясын, тобын және орта балын анықтау.
13.
Кітаптар туралы мәліметтер белгілі: авторы, кітаптың аты және шыққан
жылы. Берілген автордың 1960ж бастап шыққан кітаптарының атын анықтау.
14.
Ойыншықтың аты, құны және қанша жастағы балаға арналғандығы белгілі.
6 жастағы балаларға арналған қуыршақтың құнын анықтау.
Достарыңызбен бөлісу: |