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



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

 
145 
m1.р = 2; 
m2.s = spades; 
m2.p = 12; 
Келесідей анықтаулар мен меншіктеу амалдарын қарастырайық: 
card cd, *рс = &cd; 
cd.p = 2; 
cd.s = spades; 
Қҧрылым элементтерін пайдалануды нҧсқауыш тҥріндегі  -> операторы арқылы 
да орындауға болады.   
Қҧрылым элементтерін пайдалану 
 
 
             9.1-кесте 
 Өрнек      Оның басқаша жазылуы           Мәні 
cd.p 
    рс -> р 
  2 
cd.s 
    рс -> s 
  
 
spades(3) 
 
  
 
enum 
арқылы шығады.  
(*рс).s 
    pc -> s 
  
 
spades(3) 
Қҧрылымдар объектіге бағытталған программалаудың іргелі ҧғымдарының 
бірі – кластар қҧру негізі болып саналатын маңызды мәліметтер типіне жатады. 
9.6 Құрылымдар жасау 
Қҧрылымдар жасауға толығырақ бір мысал келтірейік  
2 мысал. Қайық атын, шыққан жылын және бағасын қҧрылым тҥрінде жазу 
/* 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: ");  


 
146 
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);  

Программаны орындау жҧмысының нәтижесі: 
Input a model of the boat: Tulpar 
Input the year of the creation of the boat: 2009 
Input the price of the boat: 168000 
The boat Tulpar, the year of the creation 2009  
The boat was sold for 168000.00 tenge.  
Қҧрылымды функция аргументі ретінде беру тәсілін қарастырайық. Мҧнда 
қҧрылым аргумент ретінде мәні бойынша функцияға беріледі, яғни функцияға 
тек мәліметтер кӛшірмесі ғана жіберіледі.  
3 мысал. Геометриялық фигуралар тҥрлерін қҧрылым тҥрінде жазу 
/*  struct_3 
Құрылымды функция аргументі ретінде қолдану */ 
#include 
 
#define PI 
3.14 
struct Shape { 
/* фигура */ 
int type;  
// 0 - шеңбер, 1 - квадрат, 2 - үшбұрыш 
char color;  // түсі 
float radius; // радиусы 
double area;  // ауданы 
}; 
void show_struct (Shape ); /* show_struct (құрылымды 
көрсету) функциясы прототипі */ 
void main() 

Shape circle; 
circle.type = 0; 
circle.color = 'r'; 
circle.radius =5.0; 
circle.area = PI * circle.radius * circle.radius; 
show_struct (circle ); /* функцияны шақыру */ 


 
147 

/* функцияны сипаттау */ 
void show_struct (Shape shape) 

printf("shape.type   %d\n", shape.type); 
printf("shape.color  %c\n", shape.color); 
printf("shape.radius %f\n", shape.radius); 
printf("shape.area   %f\n", shape.area); 
  } 
Программа жҧмысының нәтижесі 
(9.1-сурет): 
shape.type  0 
shape.color r 
shape.radius  5.000000 
shape.area  78.500000 
Press any key to continue 
Қҧрылымдарға нҧсқауыш ретінде берілетін мәліметтерді қарастырып, функ-
ция ішінде қҧрылымды ӛзгерту тәсіліне программа  қҧрып кӛрейік. 
4 мысал. Геометриялық фигуралар тҥрлерін қҧрылым тҥрінде жазу 
/* struct_4 
Құрылым  өрістерінің  мәндерін  өзгерту  керек  болса,  онда 
құрылым  ретіндегі  айнымалы  мән  бойынша  емес,  сілтеме  бойынша 
берілуі  тиіс.  Функция  ішінде  құрылым  өрістерін  пайдалану  -> 
амалы арқылы орындалады */ 
#include  
 
#define PI 3.14 
struct Shape { 
int type; /* 0 - шеңбер,1 - квадрат,2 – теңбүйірлі үшбұрыш 
*/ 
char color; 
// түсі 
float radius;  // радиусы немесе қабырғасы 
double area; 
// ауданы 
} circle = {1,'b',2,4}; /* бастапқы мән беріп инициалдау 
*/ 
void change_struct (Shape *) ; /* change_struct функциясы 
прототипі (ағылш. құрылым өзгерту) */ 
void main () 
{ /* функцияға мәлімет беруге дейін */ 
printf("Before\n"); 
printf("circle.type  %d\n", circle.type); 
printf("circle.color  %c\n", circle.color);  
printf("circle.radius  %f\n", circle.radius);  
9.1-сурет 


жүктеу 2,9 Mb.

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




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

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