- Chương trình gọi nhập học viín(HV).
- Chương trình bị gọi void nhap ( struct Kiểu HV HV[ ]) Hoặc void nhập (Kiểu HV HV[ ])
- Ví dụ : nhập danh sâch lớp : #include<stdio.h>
#include<conio.h>
#include<string.h> #define N 100 typedef struct
{ char ten[20] ; int tuoi ; float diem ; } kieu HV /* khai bâo hăm nhập dữ liệu*/
void nhap ( int n , Kieu HV HV [ ] ) {int i ; float t;
for ( i = 0; i< n ; i++)
{ printf ( " Nhập hv thử %d ", i++); scanf(....) } /* chương trình chính */
main ( )
{ Kieu HV hv[n]; nhap ( n, hv); }
* Hăm có thể trả về giâ trị cấu trúc hoặc con trỏ cấu trúc:
+ Ví dụ : Hăm Kieu HV *ptim ( char*ten, KieuHV HV[ ] , int n) : có tâc d ụng tìm trong danh sâch n học viín trong mêng HV[ ] người có tín vă hăm trả về con trỏ, trỏ tới ng ười tìm được hoặc trả về NULL nếu không t ìm thấy .
+ Hăm Kieu HV tim( char*ten, KieuHV HV[ ], int n); : c ũng với mục đích như hăm trín nhưng trả về giâ trị của một cấu trúc.
+ Ví dụ :
#include”stdio.h” #include”conio.h”
#include”string.h” typedef struct
{ char ten[20] ; int tuổi ; float điểm } Kieu HV ; Kieu HV *ptim ( char*ten, KieuHV HV[ ] , int n ); Kieu HV tim ( char *ten, Kieu HV hv[ ] , int n ); main( )
{ Kieu HV *p, ds[100],h ; int i, h, n ; cha r ten[20] ; float diem; clrscr ( );
printf(“\n Số người n = “ ) ; scanf (“%d *c “,&n); for ( i=0 ; i<n ; ++i)
{ printf(“\họ tín “); gets(h.Tín) ; /* tự viết lấy*/ ds[i] = h ;
}
/* tìm kiếm 1 theo ten dùng hăm ptim*/ while (1)
{ printf (“\n Họ tín người cần tìm”); gets (tín); if ((p =ptim ( ten, ds, n)) = = NULL)
printf(“\n không tìm thấy “); else
indanhsach(*p); }
/* tìm kiếm theo tín dùng hăm tim*/ while(1)
{ printf(“\n Họ tín cần tìm “); gets(ten); if ( tim ( ten, ds, n).ten[0] = = 0 )
printf(“\n Không tìm thấy”); else indanhsach ( tim ( ten, ds, n)); }
Kieu HV *ptim ( char*ten, Kieu HV hv[ ] , int n) { int i ;
for ( i= 0 ; i< n ; ++i)
if ( strcmp ( ten, hv[i].ten= = )return (&hv[ i]); return (NULL);
}
Kieu HV tim (char*ten, Kieu HV hv[ ] , int n) { int i ; HV tam ;
tam.ten[0]=0; for ( i=0 ; i<n ; ++i)
if(strcmp(ten,hv[i].ten = = )) return (hv[i]); return ( tam);
}
void indanhsach (Kieu HV p)
{ printf(“\n Họ tín % tuổi % điểm %f”, p.ten, p.tuổi, p.diím); }