SlideShare une entreprise Scribd logo
1  sur  7
доктор(), дэд проф Ð.Òºðáàò
Лабораторын ажил 8
Бүтэц ба заагч
Энэ хэсэгт C++ хэлний бүтэц болон заагч хувьсагчийг бүтэцд хэрхэн
тодорхойлох болон ашиглаж болох талаар танилцах болно.
Бүтэц гэдэг нь янз бүрийн төрлийн хувьсагчийн бөөгнөрөл юм.Өөрөөр
хэлбэл нэг обьект дэх янз бүрийн төрлийн утгуудын бөөгнөрөл болно.
Та тайлбарийн хэсэг болон жишээ программуудтай сайтар танилцсаны
дараа дасгал ажлуудыг хийх хэрэгтэй.
C++ хэлэнд бүтэцийг struct үгээр зарлана. Бүтцийг хэд хэдэн хэлбэрээр
зарлаж болно.
1. Struct {
char f_name[10];
char l_name[10;
int b_month;
int b_day;
int b_year;
} newperson,oldperson; // энэ хэсэгт 5-н хувьсагч бүхий бүтцээс утга авах
newperson,oldperson гэсэн 2 обьектийг тодорхойлсон байна.
2. Struct sub {
int item;
float cost;
} part, // sub бүтцээс утга авах part гэсэн обьектийг тодорхойлсон байна.
3. struct C++ty {
char c_name;
char c_county;
} // 2 элементээс бүрдэх C++ty бүтцийг тодорхойлсон байна.
4. struct school student; // school бүтцийн student обьектийг тодорхойлсон
байна.
Бүтцийн элемент рүү { . } буюу { - >} гэсэн байдлаар хандана.
1-р жишээн дэх бүтэцд дараах байдлаар хандаж болно.
- newperson.f_name=”bat”
2-р жишээн дэх бүтэцд дараах байдлаар хандаж болно.
- Part.item
- Struct sub *ptr=∂ гэж тодорхойлсон тохиолдолд ptr->item =23; гэж
хандана. Энэ тохиолдолд *ptr гэсэн заагч элемент ашигласан байна.
3-р жишээн дэх бүтэцд дараах байдлаар хандаж болно.
- struct C++ty new_C++ty; гэж тодорхойлсон тохиолдолд new_C+
+ty.c_name=”dallas”; гэж хандана.
Жишээ 1
доктор(), дэд проф Ð.Òºðáàò
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<conio.h>
struct Subscriber {
char lastname[25];
char firstname[15];
char title[25];
char street[60];
char C++ty[30];
char state[2];
char zip[9];
float postage;
int term;
};
struct Subscriber mailing;
void get_caption_info() {
strcpy(mailing.lastname ," Straley ");
strcpy(mailing.firstname," Stephan ");
strcpy(mailing.title," Caption ");
strcpy(mailing.street ," Barrow street ");
strcpy(mailing.C++ty ," Dallas C++ty ");
strcpy(mailing.state ," Usa ");
strcpy(mailing.zip," 0xxxx");
mailing.postage=.24;
mailing.term=1;
}
main(){
void get_caption_info();clrscr();
get_caption_info();
printf("Name ->: %s %sn",mailing.firstname,mailing.lastname);
printf("Title ->: %sn",mailing.title);
printf("Street ->: %sn",mailing.street);
printf("C++ty ->: %sn",mailing.C++ty);
printf("Cost to send = $%02.2fn",mailing.postage);
printf("Subcription term = $%dn",mailing.term);
getch();
}
Программын тайлбар: Энэ жишээнд Subscriber гэсэн бүтэц, get_cartion_info()
функцийг тодорхойлсон байна.Бүтцийн элемент рүү mailing обьектийн
тусламжтайгаар mailing.title хэлбэрээр хандаж байна.
Программын үр дүнд :
Name ->: Stephan Straley
Title ->: Caption
Street ->: Barrow street
C++ty ->: Dallas C++ty
Cost to send = $0.24
Subcription = $1 гэж гарна.
доктор(), дэд проф Ð.Òºðáàò
Жишээ 2
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<conio.h>
struct Subscriber {
char lastname[25];
char firstname[15];
char title[25];
char street[60];
char C++ty[30];
char state[2];
char zip[9];
float postage;
int term;
};
struct Subscriber mailing;
struct Subscriber *ptr=&mailing;
void get_caption_info() {
strcpy(ptr->lastname ," Straley ");
strcpy(ptr->firstname," Stephan ");
strcpy(ptr->title," Caption ");
strcpy(ptr->street ," Barrow street ");
strcpy(ptr->C++ty ," Dallas C++ty ");
strcpy(ptr->state ," Usa ");
strcpy(ptr->zip," 0xxxx");
ptr->postage=.24;
ptr->term=1;
}
main(){
void get_caption_info();clrscr();
get_caption_info();
printf("Name ->: %s %sn",ptr->firstname,ptr->lastname);
printf("Title ->: %sn",ptr->title);
printf("Street ->: %sn",ptr->street);
printf("C++ty ->: %sn",ptr->C++ty);
printf("Cost to send = $%02.2fn",ptr->postage);
printf("Subcription term = $%dn",ptr->term);
getch();
}
Программын тайлбар: Дээрхи жишээтэй ижил боловч бүтцийн элемент рүү
mailing обьектийн *ptr заагч тусламжтайгаар ptr->firstname хэлбэрээр хандаж
байна.
Программын үр дүнд :
Name ->: Stephan Straley
Title ->: Caption
Street ->: Barrow street
C++ty ->: Dallas C++ty
доктор(), дэд проф Ð.Òºðáàò
Cost to send = $0.24
Subcription = $1 гэж гарна.
Жишээ 3
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<conio.h>
#define SIZE 100
struct Student {
char aus_num[10];
char lastname[25];
char firstname[15];
char date[8];
char ch_exam[30];
int on_exam;
} title[SIZE];
struct Student label;
void get_info(int a){
printf("Бүртгэлийн дугаар : ");gets(title[a].aus_num);
printf("Нэр : ");gets(title[a].lastname);
printf("Oвог: ");gets(title[a].firstname);
printf("Төрсөн он,сар,өдөр : ");gets(title[a].date);
printf("Сoнгосон шалгалт : ");gets(title[a].ch_exam);
printf("Шалгалт.оноо : ");scanf("%d",&title[a].on_exam);
}
void print_info(int a){
printf("Бүртгэлийн дугаар : ->: %s",title[a].aus_num);
printf("Oвог,нэр ->: %s, %sn",title[a].firstname,title[a].lastname);
printf("Tөрсөн он,сар,өдөр ->: %sn",title[a].date);
printf("Сoнгосон шалгалт->: %sn",title[a].ch_exam);
printf("шалгалт.оноо ->: %dn",title[a].on_exam);
}
void menu(){
puts(" 0. Программаас гарах...");
puts(" 1. Оюутаны бүртгэл оруулах ...");
puts(" 2. Оюутаны бүртгэл дэлгэцэнд хэвлэх ...");
puts(" та сонголт хийнэ үү ");
}
main(){
int option,i,n;
void get_info(int);
void print_info(int);
void menu();clrscr();
for(;;){ menu();
scanf("%d",&option);
switch(option) {
case 1:
доктор(), дэд проф Ð.Òºðáàò
printf("Хэдэн оюутаны бүртгэл оруулах бэ : ");scanf("%d",&n);
for(i=1;i<=n;i++){ get_info(i);}
break;
case 2: printf("Хэдэн оюутаны бүртгэл хэвлэх бэ :");scanf("%d",&n);
for(i=1;i<=n;i++){ print_info(i);}
break;
case 0:puts("Taнд баярлалаа.");getch();exit(0);
default:
puts(" invalid ");
clrscr();
}
}
}
Программын тайлбар: Энэ жишээнд оюутаны бүртгэл оруулж түүнийг хэвлэх
программ .
Оюутан бүр дараахь дасгал бодлогуудыг компьютер дээр шалгасны
дараа дэвтэр дээрээ бичиж багшид хамгаалж тооцуул.
Дасгал бодлого 1
Дараах бодлогын үр дүнг гаргах.
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#include<alloc.h>
struct _name {
char last[15];
char first[15];
};
struct _address {
char street[25];
char C++ty[15];
char state[15];
long zip;
};
struct label {
struct _name name;
struct _address address;
};
struct label *customer;
struct label *new_customer,*current_customer;
getlabel(struct label *customer){
printf("Нэр оруул(овог,нэр): ");
scanf("%s%s%*c",customer->name.first,customer->name.last);
printf("Ор.су.гудамж : ");gets(customer->address.street);
printf("Ор.су.хот,улс & код : ");
scanf("%s%s%ld",customer->address.C++ty,
customer->address.state,
доктор(), дэд проф Ð.Òºðáàò
&customer->address.zip); }
putlabel(struct label *customer){
printf("-------------------------");
printf("n%s,%sn%sn%s,%s,%ldn",
customer->name.first,
customer->name.last,
customer->address.street,
customer->address.C++ty,
customer->address.state,
customer->address.zip); }
add(struct label *customer){
struct label *new_customer,*current_customer;
new_customer=customer;
if(new_customer!=NULL){ new_customer=NULL;
getlabel(customer);
if(customer==NULL) customer=new_customer;
else { current_customer=customer;
while(current_customer!=NULL) current_customer=new_customer; }
} else printf("<< Out of memory >>n");
}
main(){
struct label *customer;
struct label *new_customer,*current_customer;
int choice;clrscr();
for(;;){
puts("Та сонголт хийнэ үү :");
puts(" 1. Бичлэг оруулах :");
puts(" 2. Бичлэг нэмэх :");
puts(" 3. Бичлэг хэвлэх :");
puts(" 0. Программаас гарах :");
scanf("%d",&choice);
switch (choice) {
case 1:getlabel(customer);break;
case 2:add(customer);break;
case 3:putlabel(customer);break;
case 0:exit(0);
default:
printf("Invalid"); }
} }
Дасгал бодлого 2
Дараах бодлогын үр дүнг гаргах.
#include<stdio.h>
#include<time.h>
#include<conio.h>
#define TRUE 1
#define FALSE 0
struct {
int tm_sec; // seconds [0.59]
доктор(), дэд проф Ð.Òºðáàò
int tm_min; // minutes [0.59]
int tm_hour; // hours [0.23]
int tm_mday; // days [1.31]
int tm_mon; // months [0.11]
int tm_year; // years since 1900
int tm_wday; // days since Sunday [0.6]
int tm_yday; // days since January [0.365]
int tm_isdst; //
}tm;
main(){
struct tm *ourtime;
int afternoon=TRUE;
long ticktock;clrscr();
time(&ticktock); // Тухайн өдөр сар цаг минут секунтийг авна
ourtime=localtime(&ticktock);
if(ourtime->tm_hour<12) afternoon=FALSE;
else ourtime->tm_hour-=12;
if(afternoon)
printf("%.19s %sn",asctime(ourtime),"PM");
else
printf("%.19s %sn",asctime(ourtime),"AM");
}
Дасгал бодлого 3
Номын сангийн бүртгэл үүсгэх.
- Номын код
- Номын нэр
- Номын зохиогч
- Номыг хэвлэсэн он сар өдөр
- Номын хуудасны дугаар
Дасгал бодлого 4
Ажилтны анкет бүрдүүлэх
- Овог нэр
- Нас
- Хүйс
- Боловсрол
- Оршин суугаа хаяг

Contenu connexe

Tendances

баяраа сургалт
баяраа сургалтбаяраа сургалт
баяраа сургалтNatsag Oyungerel
 
E 130521092716-phpapp01
E 130521092716-phpapp01E 130521092716-phpapp01
E 130521092716-phpapp01amg1152
 
E 130521092716-phpapp01
E 130521092716-phpapp01E 130521092716-phpapp01
E 130521092716-phpapp01amg1152
 
E 130521092716-phpapp01
E 130521092716-phpapp01E 130521092716-phpapp01
E 130521092716-phpapp01amg1152
 
Microsoft excel-2007томъёонууд
Microsoft excel-2007томъёонуудMicrosoft excel-2007томъёонууд
Microsoft excel-2007томъёонуудAlttanchimeg
 
Ms excel томъёонууд
Ms excel томъёонуудMs excel томъёонууд
Ms excel томъёонуудamg1152
 
Lecture3
Lecture3Lecture3
Lecture3orgil
 
Ms excel томъёонууд
Ms excel томъёонуудMs excel томъёонууд
Ms excel томъёонуудamg1152
 

Tendances (19)

001cclass 120926194905-phpapp02
001cclass 120926194905-phpapp02001cclass 120926194905-phpapp02
001cclass 120926194905-phpapp02
 
Lab1 1220880325
Lab1 1220880325Lab1 1220880325
Lab1 1220880325
 
Dynamic web 5
Dynamic web 5Dynamic web 5
Dynamic web 5
 
баяраа сургалт
баяраа сургалтбаяраа сургалт
баяраа сургалт
 
Бие даалт
Бие даалтБие даалт
Бие даалт
 
Dynamic web 7
Dynamic web 7Dynamic web 7
Dynamic web 7
 
E
EE
E
 
E 130521092716-phpapp01
E 130521092716-phpapp01E 130521092716-phpapp01
E 130521092716-phpapp01
 
E 130521092716-phpapp01
E 130521092716-phpapp01E 130521092716-phpapp01
E 130521092716-phpapp01
 
E 130521092716-phpapp01
E 130521092716-phpapp01E 130521092716-phpapp01
E 130521092716-phpapp01
 
Microsoft excel-2007томъёонууд
Microsoft excel-2007томъёонуудMicrosoft excel-2007томъёонууд
Microsoft excel-2007томъёонууд
 
Лекц №7
Лекц №7Лекц №7
Лекц №7
 
Dynamic web 3
Dynamic web 3Dynamic web 3
Dynamic web 3
 
Dynamic web 10
Dynamic web 10Dynamic web 10
Dynamic web 10
 
Excel
ExcelExcel
Excel
 
Dynamic web 3-4
Dynamic web 3-4Dynamic web 3-4
Dynamic web 3-4
 
Ms excel томъёонууд
Ms excel томъёонуудMs excel томъёонууд
Ms excel томъёонууд
 
Lecture3
Lecture3Lecture3
Lecture3
 
Ms excel томъёонууд
Ms excel томъёонуудMs excel томъёонууд
Ms excel томъёонууд
 

En vedette (20)

Lab 15
Lab 15Lab 15
Lab 15
 
Lab 12
Lab 12Lab 12
Lab 12
 
Lab 1
Lab 1Lab 1
Lab 1
 
Lab 13
Lab 13Lab 13
Lab 13
 
Lab 8
Lab 8Lab 8
Lab 8
 
Lab 16
Lab 16Lab 16
Lab 16
 
Lab 14
Lab 14Lab 14
Lab 14
 
U.IT101 Lab 10,11
U.IT101 Lab 10,11U.IT101 Lab 10,11
U.IT101 Lab 10,11
 
U.IT101 Lab 5
U.IT101 Lab 5U.IT101 Lab 5
U.IT101 Lab 5
 
Lab 2
Lab 2Lab 2
Lab 2
 
Lab 7
Lab 7Lab 7
Lab 7
 
U.IT101 Lab 9
U.IT101 Lab 9U.IT101 Lab 9
U.IT101 Lab 9
 
Lab 4
Lab 4Lab 4
Lab 4
 
Lab-7
Lab-7Lab-7
Lab-7
 
SW206 labo
SW206 laboSW206 labo
SW206 labo
 
Sw206 lec
Sw206 lecSw206 lec
Sw206 lec
 
U.cs101 лаборатори 6
U.cs101 лаборатори 6U.cs101 лаборатори 6
U.cs101 лаборатори 6
 
Bie daaltiin dugaar
Bie daaltiin dugaarBie daaltiin dugaar
Bie daaltiin dugaar
 
U.cs101 лаборатори 8-1
U.cs101 лаборатори 8-1U.cs101 лаборатори 8-1
U.cs101 лаборатори 8-1
 
Лабораторын ажил4
Лабораторын ажил4Лабораторын ажил4
Лабораторын ажил4
 

Similaire à U.cs101 лаборатори 8

Similaire à U.cs101 лаборатори 8 (20)

Hylbar shugaman programmuud хичээл 4
Hylbar shugaman programmuud хичээл 4Hylbar shugaman programmuud хичээл 4
Hylbar shugaman programmuud хичээл 4
 
U.cs101 лаборатори 1
U.cs101 лаборатори 1U.cs101 лаборатори 1
U.cs101 лаборатори 1
 
For ci
For ciFor ci
For ci
 
си хэл 10
си хэл 10си хэл 10
си хэл 10
 
U.cs101 лаборатори 3
U.cs101 лаборатори 3U.cs101 лаборатори 3
U.cs101 лаборатори 3
 
Mzui
MzuiMzui
Mzui
 
Давталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогуудДавталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогууд
 
Unshih hewleh uildel хичээл 3
Unshih hewleh uildel хичээл 3Unshih hewleh uildel хичээл 3
Unshih hewleh uildel хичээл 3
 
Лекц №6
Лекц №6Лекц №6
Лекц №6
 
Lab4 Report
Lab4 ReportLab4 Report
Lab4 Report
 
Лаборатор-3
Лаборатор-3Лаборатор-3
Лаборатор-3
 
Lecture
LectureLecture
Lecture
 
Lecture4
Lecture4Lecture4
Lecture4
 
database 13-14
database 13-14database 13-14
database 13-14
 
C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1C++ vndsen oilgolt хичээл 1
C++ vndsen oilgolt хичээл 1
 
бие даалт № 1 borland c++
бие даалт № 1 borland c++бие даалт № 1 borland c++
бие даалт № 1 borland c++
 
Lecture 9
Lecture 9Lecture 9
Lecture 9
 
Ci hel
Ci helCi hel
Ci hel
 
Lekts 6
Lekts  6Lekts  6
Lekts 6
 
Pp Lect9 10 1
Pp Lect9 10 1Pp Lect9 10 1
Pp Lect9 10 1
 

Plus de Ganbaatar ch (20)

U.it101 lab 4
U.it101 lab 4U.it101 lab 4
U.it101 lab 4
 
It101 lec15
It101 lec15It101 lec15
It101 lec15
 
It101 lec16
It101 lec16It101 lec16
It101 lec16
 
It101 lec13
It101 lec13It101 lec13
It101 lec13
 
It101 lec14
It101 lec14It101 lec14
It101 lec14
 
Lects 12
Lects 12Lects 12
Lects 12
 
Business strategy 10
Business strategy 10Business strategy 10
Business strategy 10
 
U.it101 lecture9
U.it101 lecture9U.it101 lecture9
U.it101 lecture9
 
It101 lecture-8
It101 lecture-8It101 lecture-8
It101 lecture-8
 
It101 lec7
It101 lec7It101 lec7
It101 lec7
 
It101 lec6
It101 lec6It101 lec6
It101 lec6
 
It101-5
It101-5It101-5
It101-5
 
It101-4
It101-4It101-4
It101-4
 
It101-3
It101-3It101-3
It101-3
 
It101-2
It101-2It101-2
It101-2
 
It101-1
It101-1It101-1
It101-1
 
U.cs101 лаборатори 12
U.cs101 лаборатори 12U.cs101 лаборатори 12
U.cs101 лаборатори 12
 
U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)U.cs101 laboratory 11 (1)
U.cs101 laboratory 11 (1)
 
U.cs101 laboratory 10
U.cs101 laboratory 10U.cs101 laboratory 10
U.cs101 laboratory 10
 
U.cs101 laborator 9
U.cs101 laborator 9U.cs101 laborator 9
U.cs101 laborator 9
 

U.cs101 лаборатори 8

  • 1. доктор(), дэд проф Ð.Òºðáàò Лабораторын ажил 8 Бүтэц ба заагч Энэ хэсэгт C++ хэлний бүтэц болон заагч хувьсагчийг бүтэцд хэрхэн тодорхойлох болон ашиглаж болох талаар танилцах болно. Бүтэц гэдэг нь янз бүрийн төрлийн хувьсагчийн бөөгнөрөл юм.Өөрөөр хэлбэл нэг обьект дэх янз бүрийн төрлийн утгуудын бөөгнөрөл болно. Та тайлбарийн хэсэг болон жишээ программуудтай сайтар танилцсаны дараа дасгал ажлуудыг хийх хэрэгтэй. C++ хэлэнд бүтэцийг struct үгээр зарлана. Бүтцийг хэд хэдэн хэлбэрээр зарлаж болно. 1. Struct { char f_name[10]; char l_name[10; int b_month; int b_day; int b_year; } newperson,oldperson; // энэ хэсэгт 5-н хувьсагч бүхий бүтцээс утга авах newperson,oldperson гэсэн 2 обьектийг тодорхойлсон байна. 2. Struct sub { int item; float cost; } part, // sub бүтцээс утга авах part гэсэн обьектийг тодорхойлсон байна. 3. struct C++ty { char c_name; char c_county; } // 2 элементээс бүрдэх C++ty бүтцийг тодорхойлсон байна. 4. struct school student; // school бүтцийн student обьектийг тодорхойлсон байна. Бүтцийн элемент рүү { . } буюу { - >} гэсэн байдлаар хандана. 1-р жишээн дэх бүтэцд дараах байдлаар хандаж болно. - newperson.f_name=”bat” 2-р жишээн дэх бүтэцд дараах байдлаар хандаж болно. - Part.item - Struct sub *ptr=&part; гэж тодорхойлсон тохиолдолд ptr->item =23; гэж хандана. Энэ тохиолдолд *ptr гэсэн заагч элемент ашигласан байна. 3-р жишээн дэх бүтэцд дараах байдлаар хандаж болно. - struct C++ty new_C++ty; гэж тодорхойлсон тохиолдолд new_C+ +ty.c_name=”dallas”; гэж хандана. Жишээ 1
  • 2. доктор(), дэд проф Ð.Òºðáàò #include<stdio.h> #include<string.h> #include<math.h> #include<conio.h> struct Subscriber { char lastname[25]; char firstname[15]; char title[25]; char street[60]; char C++ty[30]; char state[2]; char zip[9]; float postage; int term; }; struct Subscriber mailing; void get_caption_info() { strcpy(mailing.lastname ," Straley "); strcpy(mailing.firstname," Stephan "); strcpy(mailing.title," Caption "); strcpy(mailing.street ," Barrow street "); strcpy(mailing.C++ty ," Dallas C++ty "); strcpy(mailing.state ," Usa "); strcpy(mailing.zip," 0xxxx"); mailing.postage=.24; mailing.term=1; } main(){ void get_caption_info();clrscr(); get_caption_info(); printf("Name ->: %s %sn",mailing.firstname,mailing.lastname); printf("Title ->: %sn",mailing.title); printf("Street ->: %sn",mailing.street); printf("C++ty ->: %sn",mailing.C++ty); printf("Cost to send = $%02.2fn",mailing.postage); printf("Subcription term = $%dn",mailing.term); getch(); } Программын тайлбар: Энэ жишээнд Subscriber гэсэн бүтэц, get_cartion_info() функцийг тодорхойлсон байна.Бүтцийн элемент рүү mailing обьектийн тусламжтайгаар mailing.title хэлбэрээр хандаж байна. Программын үр дүнд : Name ->: Stephan Straley Title ->: Caption Street ->: Barrow street C++ty ->: Dallas C++ty Cost to send = $0.24 Subcription = $1 гэж гарна.
  • 3. доктор(), дэд проф Ð.Òºðáàò Жишээ 2 #include<stdio.h> #include<string.h> #include<math.h> #include<conio.h> struct Subscriber { char lastname[25]; char firstname[15]; char title[25]; char street[60]; char C++ty[30]; char state[2]; char zip[9]; float postage; int term; }; struct Subscriber mailing; struct Subscriber *ptr=&mailing; void get_caption_info() { strcpy(ptr->lastname ," Straley "); strcpy(ptr->firstname," Stephan "); strcpy(ptr->title," Caption "); strcpy(ptr->street ," Barrow street "); strcpy(ptr->C++ty ," Dallas C++ty "); strcpy(ptr->state ," Usa "); strcpy(ptr->zip," 0xxxx"); ptr->postage=.24; ptr->term=1; } main(){ void get_caption_info();clrscr(); get_caption_info(); printf("Name ->: %s %sn",ptr->firstname,ptr->lastname); printf("Title ->: %sn",ptr->title); printf("Street ->: %sn",ptr->street); printf("C++ty ->: %sn",ptr->C++ty); printf("Cost to send = $%02.2fn",ptr->postage); printf("Subcription term = $%dn",ptr->term); getch(); } Программын тайлбар: Дээрхи жишээтэй ижил боловч бүтцийн элемент рүү mailing обьектийн *ptr заагч тусламжтайгаар ptr->firstname хэлбэрээр хандаж байна. Программын үр дүнд : Name ->: Stephan Straley Title ->: Caption Street ->: Barrow street C++ty ->: Dallas C++ty
  • 4. доктор(), дэд проф Ð.Òºðáàò Cost to send = $0.24 Subcription = $1 гэж гарна. Жишээ 3 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #include<conio.h> #define SIZE 100 struct Student { char aus_num[10]; char lastname[25]; char firstname[15]; char date[8]; char ch_exam[30]; int on_exam; } title[SIZE]; struct Student label; void get_info(int a){ printf("Бүртгэлийн дугаар : ");gets(title[a].aus_num); printf("Нэр : ");gets(title[a].lastname); printf("Oвог: ");gets(title[a].firstname); printf("Төрсөн он,сар,өдөр : ");gets(title[a].date); printf("Сoнгосон шалгалт : ");gets(title[a].ch_exam); printf("Шалгалт.оноо : ");scanf("%d",&title[a].on_exam); } void print_info(int a){ printf("Бүртгэлийн дугаар : ->: %s",title[a].aus_num); printf("Oвог,нэр ->: %s, %sn",title[a].firstname,title[a].lastname); printf("Tөрсөн он,сар,өдөр ->: %sn",title[a].date); printf("Сoнгосон шалгалт->: %sn",title[a].ch_exam); printf("шалгалт.оноо ->: %dn",title[a].on_exam); } void menu(){ puts(" 0. Программаас гарах..."); puts(" 1. Оюутаны бүртгэл оруулах ..."); puts(" 2. Оюутаны бүртгэл дэлгэцэнд хэвлэх ..."); puts(" та сонголт хийнэ үү "); } main(){ int option,i,n; void get_info(int); void print_info(int); void menu();clrscr(); for(;;){ menu(); scanf("%d",&option); switch(option) { case 1:
  • 5. доктор(), дэд проф Ð.Òºðáàò printf("Хэдэн оюутаны бүртгэл оруулах бэ : ");scanf("%d",&n); for(i=1;i<=n;i++){ get_info(i);} break; case 2: printf("Хэдэн оюутаны бүртгэл хэвлэх бэ :");scanf("%d",&n); for(i=1;i<=n;i++){ print_info(i);} break; case 0:puts("Taнд баярлалаа.");getch();exit(0); default: puts(" invalid "); clrscr(); } } } Программын тайлбар: Энэ жишээнд оюутаны бүртгэл оруулж түүнийг хэвлэх программ . Оюутан бүр дараахь дасгал бодлогуудыг компьютер дээр шалгасны дараа дэвтэр дээрээ бичиж багшид хамгаалж тооцуул. Дасгал бодлого 1 Дараах бодлогын үр дүнг гаргах. #include<stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> #include<alloc.h> struct _name { char last[15]; char first[15]; }; struct _address { char street[25]; char C++ty[15]; char state[15]; long zip; }; struct label { struct _name name; struct _address address; }; struct label *customer; struct label *new_customer,*current_customer; getlabel(struct label *customer){ printf("Нэр оруул(овог,нэр): "); scanf("%s%s%*c",customer->name.first,customer->name.last); printf("Ор.су.гудамж : ");gets(customer->address.street); printf("Ор.су.хот,улс & код : "); scanf("%s%s%ld",customer->address.C++ty, customer->address.state,
  • 6. доктор(), дэд проф Ð.Òºðáàò &customer->address.zip); } putlabel(struct label *customer){ printf("-------------------------"); printf("n%s,%sn%sn%s,%s,%ldn", customer->name.first, customer->name.last, customer->address.street, customer->address.C++ty, customer->address.state, customer->address.zip); } add(struct label *customer){ struct label *new_customer,*current_customer; new_customer=customer; if(new_customer!=NULL){ new_customer=NULL; getlabel(customer); if(customer==NULL) customer=new_customer; else { current_customer=customer; while(current_customer!=NULL) current_customer=new_customer; } } else printf("<< Out of memory >>n"); } main(){ struct label *customer; struct label *new_customer,*current_customer; int choice;clrscr(); for(;;){ puts("Та сонголт хийнэ үү :"); puts(" 1. Бичлэг оруулах :"); puts(" 2. Бичлэг нэмэх :"); puts(" 3. Бичлэг хэвлэх :"); puts(" 0. Программаас гарах :"); scanf("%d",&choice); switch (choice) { case 1:getlabel(customer);break; case 2:add(customer);break; case 3:putlabel(customer);break; case 0:exit(0); default: printf("Invalid"); } } } Дасгал бодлого 2 Дараах бодлогын үр дүнг гаргах. #include<stdio.h> #include<time.h> #include<conio.h> #define TRUE 1 #define FALSE 0 struct { int tm_sec; // seconds [0.59]
  • 7. доктор(), дэд проф Ð.Òºðáàò int tm_min; // minutes [0.59] int tm_hour; // hours [0.23] int tm_mday; // days [1.31] int tm_mon; // months [0.11] int tm_year; // years since 1900 int tm_wday; // days since Sunday [0.6] int tm_yday; // days since January [0.365] int tm_isdst; // }tm; main(){ struct tm *ourtime; int afternoon=TRUE; long ticktock;clrscr(); time(&ticktock); // Тухайн өдөр сар цаг минут секунтийг авна ourtime=localtime(&ticktock); if(ourtime->tm_hour<12) afternoon=FALSE; else ourtime->tm_hour-=12; if(afternoon) printf("%.19s %sn",asctime(ourtime),"PM"); else printf("%.19s %sn",asctime(ourtime),"AM"); } Дасгал бодлого 3 Номын сангийн бүртгэл үүсгэх. - Номын код - Номын нэр - Номын зохиогч - Номыг хэвлэсэн он сар өдөр - Номын хуудасны дугаар Дасгал бодлого 4 Ажилтны анкет бүрдүүлэх - Овог нэр - Нас - Хүйс - Боловсрол - Оршин суугаа хаяг