Программалау тілдері жоғары оқу орындарына арналған оқулық



жүктеу 2,9 Mb.
Pdf просмотр
бет55/82
Дата19.11.2018
өлшемі2,9 Mb.
#20460
түріПрограмма
1   ...   51   52   53   54   55   56   57   58   ...   82

 
151 
cout << "\n Input a model of the boat: "; 
cin  >> pastBoats -> model; 
cout << "\n Input the year of the creation of the boat: ";  
cin  >> pastBoats -> year; 
cout << "\n Input the price of the boat: ";  
cin >> pastBoats ->price; 
pastBoats++; 

pastBoats = &Boats[0];  
print_data(pastBoats); 

void print_data(boat *ptr_boat)  

int i; 
cout << "\n"; 
 
for (i = 0; i < k; i++) /* k айнымалысының көріну аймағына 
назар салыңдар */ 

cout
 
<<
 
"The
 
boat
 
"
 
<<
 
ptr_boat
 
->
 
model
 
<<
 
"
 
the
 
year
 
of
 
the 
creation
 
"
 
<< ptr_boat -> year << endl; 
  cout
 
<<
 
"
 
was
 
sold
 
for
 
"
 
<< ptr_boat -> price
 
<<
 
"$"
 
<<
 
endl; 
   ptr_boat++; 
 } 
}
  
Мҧндағы cin – С++ тіліндегі терминалдан мәлімет енгізу немесе объектінің 
мәнін  программаға  стандартты  тҥрде  енгізу,
 
 
ол  ҥшін  >>  операторы  
қолданылады.  
Программаның орындалу нәтижесі: 
How many boats? 3 
 Input a model of the boat: Yakor 
Input the year of the creation of the boat: 1987 
Input the price of the boat: 18234 
Input a model of the boat: Blue 
Input the year of the creation of the boat: 2003 
Input the price of the boat: 44321 
Input a model of the boat: Volna 
Input the year of the creation of the boat: 2000 
Input the price of the boat: 39876 
The boat Yakor the year of the creation 1987  
  was sold for 18234$ 
The boat Blue the year of the creation 2003 
 was sold for 44321$  


 
152 
The boat Volna the year of the creation 2000 
 was sold for 39876$  
9.8 Біріктірмелер (объединение – union) 
Біріктірмелер – бҧл ӛрістерінің барлығы да бір адресте орналасатын қҧры-
лымның  бір  тҥрі.  Оны  сипаттау  форматы  да  қҧрылымдардікі  сияқты,  тек 
struct  тҥйінді  сӛзі  орнына    union  сӛзі  қолданылады.  Біріктірме  ҧзындығы 
оның  ӛрістерінің  ең  кӛлемдісінің  ҧзындығына  тең  болады.  Әрбір  уақыт 
кезеңінде  «Біріктірмелер»  типті  айнымалыда  тек  бір  мән  ғана  сақталады. 
Біріктірмелерді бір сәтте бір ӛріс қана пайдаланылатыны белгілі жағдайларда, 
тек компьютер жадын ҥнемдеу ҥшін қолданады.   
Басқаша айтқанда, біріктірмелер – бҧл әр тҥрлі уақыт кезеңдерінде әр тҥрлі 
типтегі объектілер сақталатын жады аймағы. Кез келген сәтте біріктірмеде кӛп 
дегеннің ӛзінде, тек бір объект сақталады, ӛйткені оның элементтері кезектесе 
отырып, жадының тек бір аймағын пайдаланады. Программалаушы біріктірме-
дегі  мәліметті  соның  типіне  сәйкес  элементтің  аты  арқылы  пайдаланылуын 
қадағалап отыруы тиіс. Біріктірмеге ең соңғы жазылған элементтен басқаларын 
пайдалану  нәтижесі  анықталмаған  болып  саналады.  Енді  бір  мысал  қарасты-
райық. 
1-мысал 
#include  // С++ тілі стилінде 
void main () 
{ /* "карточка" немесе "чек" сияқты мәндері бар жаңа pt  
типін (төлем типі) сипаттау */ 
  enum pt {CARD, CHECK};  
  pt type; 
  union payment  
  { char card[25]; 
  long check;  
  } info; 
type = CARD; 
cout << "Input info.card: "; 
cin.getline(info.card, 25); 
cout << "Input info.check: ";  
cin >> info.check; 
switch (type) 
{case CARD : cout << info.card << endl; break; 
case CHECK: cout << info.check << endl; break; 
}  

Прогамманың орындалу нәтижесі (9.3-сурет):  
Input info.card : My bank 
9.3-сурет 


 
153 
Input info.check : 12345 
90 
Алынған мәннің   90 болуы біріктірме элементін пайдалану нәтижесінің анық-
талмағанын  кӛрсетеді.  Келесі  мысалдағы  біріктірмеде  ең  соңғы  орналасқан 
элемент пайдаланылады. 
#include  // С тілі стилінде 
void main () 
{ enum pt {CARD, CHECK}; 
pt type; 
union payment  

 
char card[25]; 
  long check; 
} info;  
  type = CARD; 
  info.check = 12345; 
/* Мұнда компьютер жадына соңғы болып орналасқан біріктірме 
элементі пайдаланылып отыр: */ 
puts("Input info.card:");  
gets(infо.card); 
switch (type) 
{ case CARD : puts(info.card); break; 
case CHECK: printf ("%d",info.check); break;  
  }  

Программаның орындалу нәтижесі 
(9.4-сурет):  
Input info.card: 
My bank 
My bank 
Press any key to continue 
Бҧл программада дҧрыс нәтиже алынды. 
Келесі мысал біріктірмелерді дҧрыс пайдалану жауапкершілігі  толығынан 
программалаушыда жатқанын кӛрсетеді. 
#include // С++ тілі стилінде 
union Number  

int x; 
float y;  
}; 
void main() 
9.4-сурет 


жүктеу 2,9 Mb.

Достарыңызбен бөлісу:
1   ...   51   52   53   54   55   56   57   58   ...   82




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау