Download presentation
Presentation is loading. Please wait.
1
1 Structures Containing Arrays This type of structure can be declared in C. In other word, each item in array is a structure itself. Example: struct tarikh cuti[3]; Allocation for 3 dates
2
2 Structures Containing Arrays ??? hari bulan tahun tarikhLahir ??? hari bulan tahun ??? hari bulan tahun ??? hari bulan tahun ??? cuti struct tarikh tarikhLahir; struct tarikh cuti[3];
3
3 Structures Containing Arrays ??? hari bulan tahun ??? hari bulan tahun ??? hari bulan tahun ??? cuti struct tarikh cuti[3]; cuti[0].hari = 1; cuti[0].bulan = 1; cuti[0].tahun = 2004; cuti[1].hari = 1; cuti[1].bulan = 6; cuti[1].tahun = 2004; scanf("%d%d%d", &(cuti[2].hari), &(cuti[2].bulan), &(cuti[2].tahun)); [0] [1] [2]
4
4 Structures Containing Arrays 1 hari bulan tahun 1 2004 ??? hari bulan tahun ??? hari bulan tahun ??? cuti [0] [1] [2] struct tarikh cuti[3]; cuti[0].hari = 1; cuti[0].bulan = 1; cuti[0].tahun = 2004; cuti[1].hari = 1; cuti[1].bulan = 6; cuti[1].tahun = 2004; scanf("%d%d%d", &(cuti[2].hari), &(cuti[2].bulan), &(cuti[2].tahun));
5
5 Structures Containing Arrays 1 hari bulan tahun 1 2004 1 hari bulan tahun 6 2004 ??? hari bulan tahun ??? cuti [0] [1] [2] struct tarikh cuti[3]; cuti[0].hari = 1; cuti[0].bulan = 1; cuti[0].tahun = 2004; cuti[1].hari = 1; cuti[1].bulan = 6; cuti[1].tahun = 2004; scanf("%d%d%d", &(cuti[2].hari), &(cuti[2].bulan), &(cuti[2].tahun));
6
6 Structures Containing Arrays 1 hari bulan tahun 1 2004 1 hari bulan tahun 6 2004 20 hari bulan tahun 3 2004 cuti [0] [1] [2] struct tarikh cuti[3]; cuti[0].hari = 1; cuti[0].bulan = 1; cuti[0].tahun = 2004; cuti[1].hari = 1; cuti[1].bulan = 6; cuti[1].tahun = 2004; scanf("%d%d%d", &(cuti[2].hari), &(cuti[2].bulan), &(cuti[2].tahun)); 20 3 2004 _
7
7 Structures Containing An Item of structure This type of structure is more complex. Example: struct cuti { char nama[15]; struct tarikh trkh; }; Item of trkh is an item of structure
8
8 Example: struct cuti { char nama[15]; struct tarikh trkh; }; struct cuti cuti_am; strcpy(cuti_am.nama, "Tahun Baru"); cuti_am.trkh.hari = 1; cuti_am.trkh.bulan = 1; cuti_am.trkh.tahun = 2004; ??????????????? nama cuti_am ??? hari bulan tahun ??? trkh
9
9 Example: struct cuti { char nama[15]; struct tarikh trkh; }; struct cuti cuti_am; strcpy(cuti_am.nama, "Tahun Baru"); cuti_am.trkh.hari = 1; cuti_am.trkh.bulan = 1; cuti_am.trkh.tahun = 2004; 'T''a''h''u''n'' 'B''a''r''u''\0'???? nama cuti_am ??? hari bulan tahun ??? trkh
10
10 Example: struct cuti { char nama[15]; struct tarikh trkh; }; struct cuti cuti_am; strcpy(cuti_am.nama, "Tahun Baru"); cuti_am.trkh.hari = 1; cuti_am.trkh.bulan = 1; cuti_am.trkh.tahun = 2004; 'T''a''h''u''n'' 'B''a''r''u''\0'???? nama cuti_am 1 hari bulan tahun 1 2004 trkh
11
11 Example: struct cuti { char nama[15]; struct tarikh trkh; }; struct cuti cuti_am; strcpy(cuti_am.nama, "Tahun Baru"); scanf("%d%d%d", &(cuti_am.trkh.hari), &(cuti_am.trkh.bulan), &(cuti_am.trkh.tahun)); ??????????????? nama cuti_am ??? hari bulan tahun ??? trkh
12
12 Example: struct cuti { char nama[15]; struct tarikh trkh; }; 'T''a''h''u''n'' 'B''a''r''u''\0'???? nama cuti_am ??? hari bulan tahun ??? trkh struct cuti cuti_am; strcpy(cuti_am.nama, "Tahun Baru"); scanf("%d%d%d", &(cuti_am.trkh.hari), &(cuti_am.trkh.bulan), &(cuti_am.trkh.tahun));
13
13 Contoh: struct cuti { char nama[15]; struct tarikh trkh; }; struct cuti cuti_am; strcpy(cuti_am.nama, "Tahun Baru"); scanf("%d%d%d", &(cuti_am.trkh.hari), &(cuti_am.trkh.bulan), &(cuti_am.trkh.tahun)); 1 1 2004 _ 'T''a''h''u''n'' 'B''a''r''u''\0'???? nama cuti_am 1 hari bulan tahun 1 2004 trkh
14
14 Bear in mind!!! The item of structure cannot be the type of that structure Example : struct cuti { char nama[15]; struct cuti cutilain; }; ERROR!
15
15 Structure and function The structure can also be used with function.
16
16 int main() { struct cuti hari_cuti = { "Tahun Baru", 1, 1, 2004 }; struct tarikh tkh; scanf("%d%d%d", &tkh.hari, &tkh.bulan, &tkh.tahun); if (sama(hari_cuti.trkh, tkh)) printf("%s", hari_cuti.nama); } int sama(struct tarikh t1, struct tarikh t2) { if (t1.hari == t2.hari && t1.bulan == t2.bulan && t1.tahun == t2.tahun) return 1; else return 0; } 'T''a''h''u''n'' 'B''a''r''u''\0'???? nama 1 haribulantahun trkh 20041 hari_cuti ??? haribulantahun ??? tkh
17
17 int main() { struct cuti hari_cuti = { "Tahun Baru", 1, 1, 2004 }; struct tarikh tkh; scanf("%d%d%d", &tkh.hari, &tkh.bulan, &tkh.tahun); if (sama(hari_cuti.trkh, tkh)) printf("%s", hari_cuti.nama); } int sama(struct tarikh t1, struct tarikh t2) { if (t1.hari == t2.hari && t1.bulan == t2.bulan && t1.tahun == t2.tahun) return 1; else return 0; } 'T''a''h''u''n'' 'B''a''r''u''\0'???? nama 1 haribulantahun trkh 20041 hari_cuti 1 haribulantahun 20043 tkh Contoh: 1 3 2004 _
18
18 int main() { struct cuti hari_cuti = { "Tahun Baru", 1, 1, 2004 }; struct tarikh tkh; scanf("%d%d%d", &tkh.hari, &tkh.bulan, &tkh.tahun); if (sama(hari_cuti.trkh, tkh)) printf("%s", hari_cuti.nama); } int sama(struct tarikh t1, struct tarikh t2) { if (t1.hari == t2.hari && t1.bulan == t2.bulan && t1.tahun == t2.tahun) return 1; else return 0; } 'T''a''h''u''n'' 'B''a''r''u''\0'???? nama 1 haribulantahun trkh 20041 hari_cuti 1 haribulantahun 20043 tkh Contoh: 1 3 2004 _
19
19 int main() { struct cuti hari_cuti = { "Tahun Baru", 1, 1, 2004 }; struct tarikh tkh; scanf("%d%d%d", &tkh.hari, &tkh.bulan, &tkh.tahun); if (sama(hari_cuti.trkh, tkh)) printf("%s", hari_cuti.nama); } int sama(struct tarikh t1, struct tarikh t2) { if (t1.hari == t2.hari && t1.bulan == t2.bulan && t1.tahun == t2.tahun) return 1; else return 0; } 'T''a''h''u''n'' 'B''a''r''u''\0'???? nama 1 haribulantahun trkh 20041 hari_cuti 1 haribulantahun 20043 tkh Contoh: 1 3 2004 _
20
20 int main() { struct cuti hari_cuti = { "Tahun Baru", 1, 1, 2004 }; struct tarikh tkh; scanf("%d%d%d", &tkh.hari, &tkh.bulan, &tkh.tahun); if (sama(hari_cuti.trkh, tkh)) printf("%s", hari_cuti.nama); } int sama(struct tarikh t1, struct tarikh t2) { if (t1.hari == t2.hari && t1.bulan == t2.bulan && t1.tahun == t2.tahun) return 1; else return 0; } 'T''a''h''u''n'' 'B''a''r''u''\0'???? nama 1 haribulantahun trkh 20041 hari_cuti 1 haribulantahun 20043 tkh 1 1 2004 _ 1 haribulantahun 20041 t1 1 haribulantahun 20043 t2
21
21 int main() { struct cuti hari_cuti = { "Tahun Baru", 1, 1, 2004 }; struct tarikh tkh; scanf("%d%d%d", &tkh.hari, &tkh.bulan, &tkh.tahun); if (sama(hari_cuti.trkh, tkh)) printf("%s", hari_cuti.nama); } int sama(struct tarikh t1, struct tarikh t2) { if (t1.hari == t2.hari && t1.bulan == t2.bulan && t1.tahun == t2.tahun) return 1; else return 0; } 1 1 2004 _ 1 haribulantahun 20041 t1 1 haribulantahun 20043 t2
22
22 int main() { struct cuti hari_cuti = { "Tahun Baru", 1, 1, 2004 }; struct tarikh tkh; scanf("%d%d%d", &tkh.hari, &tkh.bulan, &tkh.tahun); if (sama(hari_cuti.trkh, tkh)) printf("%s", hari_cuti.nama); } int sama(struct tarikh t1, struct tarikh t2) { if (t1.hari == t2.hari && t1.bulan == t2.bulan && t1.tahun == t2.tahun) return 1; else return 0; } 1 1 2004 _ 1 haribulantahun 20041 t1 1 haribulantahun 20043 t2
23
23 int main() { struct cuti hari_cuti = { "Tahun Baru", 1, 1, 2004 }; struct tarikh tkh; scanf("%d%d%d", &tkh.hari, &tkh.bulan, &tkh.tahun); if (sama(hari_cuti.trkh, tkh)) printf("%s", hari_cuti.nama); } int sama(struct tarikh t1, struct tarikh t2) { if (t1.hari == t2.hari && t1.bulan == t2.bulan && t1.tahun == t2.tahun) return 1; else return 0; } 1 1 2004 _ 1 haribulantahun 20041 t1 1 haribulantahun 20043 t2
24
24 int main() { struct cuti hari_cuti = { "Tahun Baru", 1, 1, 2004 }; struct tarikh tkh; scanf("%d%d%d", &tkh.hari, &tkh.bulan, &tkh.tahun); if (sama(hari_cuti.trkh, tkh)) printf("%s", hari_cuti.nama); } int sama(struct tarikh t1, struct tarikh t2) { if (t1.hari == t2.hari && t1.bulan == t2.bulan && t1.tahun == t2.tahun) return 1; else return 0; } 0 'T''a''h''u''n'' 'B''a''r''u''\0'???? nama 1 haribulantahun trkh 20041 hari_cuti 1 haribulantahun 20043 tkh
25
25 int main() { struct cuti hari_cuti = { "Tahun Baru", 1, 1, 2004 }; struct tarikh tkh; scanf("%d%d%d", &tkh.hari, &tkh.bulan, &tkh.tahun); if (sama(hari_cuti.trkh, tkh)) printf("%s", hari_cuti.nama); } int sama(struct tarikh t1, struct tarikh t2) { if (t1.hari == t2.hari && t1.bulan == t2.bulan && t1.tahun == t2.tahun) return 1; else return 0; } 'T''a''h''u''n'' 'B''a''r''u''\0'???? nama 1 haribulantahun trkh 20041 hari_cuti 1 haribulantahun 20043 tkh 1 3 2004 _
26
26 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 8 haribulantahun tkh1 311957??? haribulantahun tkh2 ??? 2 haribulantahun 12000 3 haribulantahun sen 22000
27
27 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 8 haribulantahun tkh1 311957??? haribulantahun tkh2 ??? 2 haribulantahun 12000 3 haribulantahun sen 22000
28
28 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 8 haribulantahun tkh1 311957??? haribulantahun tkh2 ??? 2 haribulantahun 12000 3 haribulantahun sen 22000 ??? haribulantahun t1 ??? haribulantahun t2 ??? s_tbil ???
29
29 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 8 haribulantahun tkh1 311957??? haribulantahun tkh2 ??? 2 haribulantahun 12000 3 haribulantahun sen 22000 8 haribulantahun t1 311957??? haribulantahun t2 ??? 2 s_tbil
30
30 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 2 haribulantahun 12000 3 haribulantahun sen 22000 8 haribulantahun t1 311957??? haribulantahun t2 ??? 2 s_tbil i ???
31
31 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 2 haribulantahun 12000 3 haribulantahun sen 22000 8 haribulantahun t1 3119578 haribulantahun t2 311957 2 s_tbil i ???
32
32 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 2 haribulantahun 12000 3 haribulantahun sen 22000 8 haribulantahun t1 3119578 haribulantahun t2 311957 2 s_tbil i ???
33
33 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 2 haribulantahun 12000 3 haribulantahun sen 22000 8 haribulantahun t1 3119578 haribulantahun t2 311957 2 s_tbil i 0
34
34 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 2 haribulantahun 12000 3 haribulantahun sen 22000 8 haribulantahun t1 3119578 haribulantahun t2 311957 2 s_tbil i 0
35
35 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 8 haribulantahun 311957 3 haribulantahun sen 22000 8 haribulantahun t1 3119578 haribulantahun t2 311957 2 s_tbil i 0
36
36 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 8 haribulantahun 311957 3 haribulantahun sen 22000 8 haribulantahun t1 3119578 haribulantahun t2 311957 2 s_tbil i 1
37
37 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 8 haribulantahun 311957 3 haribulantahun sen 22000 8 haribulantahun t1 3119578 haribulantahun t2 311957 2 s_tbil i 1
38
38 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 8 haribulantahun 311957 8 haribulantahun sen 311957 8 haribulantahun t1 3119578 haribulantahun t2 311957 2 s_tbil i 1
39
39 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 8 haribulantahun 311957 8 haribulantahun sen 311957 8 haribulantahun t1 3119578 haribulantahun t2 311957 2 s_tbil i 2
40
40 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 8 haribulantahun 311957 8 haribulantahun sen 311957 8 haribulantahun t1 3119578 haribulantahun t2 311957 2 s_tbil i 2
41
41 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 8 haribulantahun 311957 8 haribulantahun sen 311957 8 haribulantahun tkh1 311957??? haribulantahun tkh2 ???
42
42 int main() { struct tarikh sen[2] = { {1, 2, 2000}, {2, 3, 2000} }; struct tarikh tkh1 = { 31, 8, 1957 }; struct tarikh tkh2; setTarikh(tkh1, tkh2, sen, 2); } int setTarikh(struct tarikh t1, struct tarikh t2, struct tarikh s_t[], int bil) { int i; t2 = t1; for (i=0; i < bil; i++) s_t[i] = t1; } 8 haribulantahun 311957 8 haribulantahun sen 311957 8 haribulantahun tkh1 311957??? haribulantahun tkh2 ???
43
43 Function can be used to return a structure. That’s mean, function can be initialized as structure type
44
44 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } ??? haribulantahun tarikhLahir ??? haribulantahun ??? tarikhMasuk
45
45 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } ??? haribulantahun tarikhLahir ??? haribulantahun ??? tarikhMasuk
46
46 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } ??? haribulantahun tarikhLahir ??? haribulantahun ??? tarikhMasuk
47
47 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } ??? haribulantahun ??? t
48
48 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } ??? haribulantahun 28??? t Contoh: Hari: 28 _
49
49 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } 4 haribulantahun 28??? t Contoh: Hari: 28 Bulan: 4 _
50
50 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } 4 haribulantahun 282002 t Contoh: Hari: 28 Bulan: 4 Tahun: 2002 _
51
51 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } 4 haribulantahun 282002 t Contoh: Hari: 28 Bulan: 4 Tahun: 2002 _ { 28, 4, 2002 }
52
52 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } Contoh: Hari: 28 Bulan: 4 Tahun: 2002 _ 4 haribulantahun tarikhLahir 282002??? haribulantahun ??? tarikhMasuk
53
53 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } 4 haribulantahun tarikhLahir 282002??? haribulantahun ??? tarikhMasuk Contoh: Hari: 28 Bulan: 4 Tahun: 2002 _
54
54 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } 4 haribulantahun tarikhLahir 282002??? haribulantahun ??? tarikhMasuk Contoh: Hari: 28 Bulan: 4 Tahun: 2002 _
55
55 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } ??? haribulantahun ??? t Contoh: Hari: 28 Bulan: 4 Tahun: 2002 _
56
56 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } ??? haribulantahun 20??? t Contoh: Hari: 28 Bulan: 4 Tahun: 2002 Hari: 20 _
57
57 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } 10 haribulantahun 20??? t Contoh: Bulan: 4 Tahun: 2002 Hari: 20 Bulan: 10 _
58
58 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } 10 haribulantahun 201999 t Contoh: Tahun: 2002 Hari: 20 Bulan: 10 Tahun: 1999 _
59
59 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } 10 haribulantahun 201999 t { 20, 10, 1999 } Contoh: Tahun: 2002 Hari: 20 Bulan: 10 Tahun: 1999 _
60
60 int main() { struct tarikh tarikhLahir, tarikhMasuk; tarikhLahir = inputTarikh(); tarikhMasuk = inputTarikh(); } struct tarikh inputTarikh() { struct tarikh t; printf("Hari: "); scanf("%d", &t.hari); printf("Bulan: "); scanf("%d", &t.bulan); printf("Tahun: "); scanf("%d", &t.tahun); return t; } 4 haribulantahun tarikhLahir 28200210 haribulantahun 201999 tarikhMasuk Contoh: Tahun: 2002 Hari: 20 Bulan: 10 Tahun: 1999 _
61
61 Type-defined structure (typedef) typedef is the most powerful tools to declare a structure. Note that the typedef name is all UPPERCASE. Example : typedef float METER; METER lebar, tinggi;
62
62 Example: struct pelajar { char nama[15]; struct tarikh tarikhMasuk; }; typedef struct pelajar PELAJAR; int main() { PELAJAR pelajar; gets(pelajar.nama); scanf("%d%d%d", &pelajar.tarikhMasuk.hari, &pelajar.tarikhMasuk.bulan, &pelajar.tarikhMasuk.tahun);... }
63
63 Example: typedef struct pelajar { char nama[15]; struct tarikh tarikhMasuk; } PELAJAR; int main() { PELAJAR pelajar; gets(pelajar.nama); scanf("%d%d%d", &pelajar.tarikhMasuk.hari, &pelajar.tarikhMasuk.bulan, &pelajar.tarikhMasuk.tahun);... }
64
64 An example of using structure Problem : Write a program that can receive a date and produce the number of days from 1 st January to the specific date.
65
65 #include typedef struct tarikh { int hari, bulan, tahun; } TARIKH; TARIKH bacaTarikh(); int kiraHari(TARIKH); void outputHasil(TARIKH, int); int jumHari(int, int); int main() { TARIKH tkh; int bil; tkh = bacaTarikh(); bil = kiraHari(tkh); outputHasil(tkh, bil); } ??? haribulantahun ??? tkh bil ???
66
66 #include typedef struct tarikh { int hari, bulan, tahun; } TARIKH; TARIKH bacaTarikh(); int kiraHari(TARIKH); void outputHasil(TARIKH, int); int jumHari(int, int); int main() { TARIKH tkh; int bil; tkh = bacaTarikh(); bil = kiraHari(tkh); outputHasil(tkh, bil); } ??? haribulantahun ??? tkh bil ???
67
67 TARIKH bacaTarikh() { struct tarikh t; printf("Masukkan tarikh: "); scanf("%d%d%d", &t.hari, &t.bulan, &t.tahun); return t; } void outputHasil(TARIKH t, int bilHari) { printf("%d/%d/%d adalah hari ke-%d dalam tahun %d\n", t.hari, t.bulan, t.tahun, bilHari, t.tahun); } ??? haribulantahun ??? t
68
68 TARIKH bacaTarikh() { struct tarikh t; printf("Masukkan tarikh: "); scanf("%d%d%d", &t.hari, &t.bulan, &t.tahun); return t; } void outputHasil(TARIKH t, int bilHari) { printf("%d/%d/%d adalah hari ke-%d dalam tahun %d\n", t.hari, t.bulan, t.tahun, bilHari, t.tahun); } 2 haribulantahun 42004 t Contoh: Masukkan tarikh: 4 2 2004 _
69
69 TARIKH bacaTarikh() { struct tarikh t; printf("Masukkan tarikh: "); scanf("%d%d%d", &t.hari, &t.bulan, &t.tahun); return t; } void outputHasil(TARIKH t, int bilHari) { printf("%d/%d/%d adalah hari ke-%d dalam tahun %d\n", t.hari, t.bulan, t.tahun, bilHari, t.tahun); } 2 haribulantahun 42004 t Contoh: Masukkan tarikh: 4 2 2004 _ { 4, 2, 2004 }
70
70 #include typedef struct tarikh { int hari, bulan, tahun; } TARIKH; TARIKH bacaTarikh(); int kiraHari(TARIKH); void outputHasil(TARIKH, int); int jumHari(int, int); int main() { TARIKH tkh; int bil; tkh = bacaTarikh(); bil = kiraHari(tkh); outputHasil(tkh, bil); } 2 haribulantahun 42004 tkh bil ??? Contoh: Masukkan tarikh: 4 2 2004 _
71
71 #include typedef struct tarikh { int hari, bulan, tahun; } TARIKH; TARIKH bacaTarikh(); int kiraHari(TARIKH); void outputHasil(TARIKH, int); int jumHari(int, int); int main() { TARIKH tkh; int bil; tkh = bacaTarikh(); bil = kiraHari(tkh); outputHasil(tkh, bil); } 2 haribulantahun 42004 tkh bil ??? Contoh: Masukkan tarikh: 4 2 2004 _
72
72 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } 2 haribulantahun 42004 t Contoh: Masukkan tarikh: 4 2 2004 _
73
73 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } 2 haribulantahun 42004 t jumlah ??? bulan ??? Contoh: Masukkan tarikh: 4 2 2004 _
74
74 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } 2 haribulantahun 42004 t jumlah 0 bulan ??? Contoh: Masukkan tarikh: 4 2 2004 _
75
75 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } 2 haribulantahun 42004 t jumlah 0 bulan ??? Contoh: Masukkan tarikh: 4 2 2004 _
76
76 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } 2 haribulantahun 42004 t jumlah 0 bulan 1 Contoh: Masukkan tarikh: 4 2 2004 _
77
77 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } 2 haribulantahun 42004 t jumlah 0 bulan 1 Contoh: Masukkan tarikh: 4 2 2004 _
78
78 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } 2 haribulantahun 42004 t jumlah 0 bulan 1 Contoh: Masukkan tarikh: 4 2 2004 _
79
79 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } 2 haribulantahun 42004 t jumlah 0 bulan 1 Contoh: Masukkan tarikh: 4 2 2004 _ bulan 1 tahun 2004
80
80 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } Contoh: Masukkan tarikh: 4 2 2004 _ bulan 1 tahun 2004
81
81 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } Contoh: Masukkan tarikh: 4 2 2004 _ bulan 1 tahun 2004
82
82 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } Contoh: Masukkan tarikh: 4 2 2004 _ bulan 1 tahun 2004 31
83
83 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } Contoh: Masukkan tarikh: 4 2 2004 _ 2 haribulantahun 42004 t jumlah 31 bulan 1
84
84 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } Contoh: Masukkan tarikh: 4 2 2004 _ 2 haribulantahun 42004 t jumlah 31 bulan 2
85
85 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } Contoh: Masukkan tarikh: 4 2 2004 _ 2 haribulantahun 42004 t jumlah 31 bulan 2
86
86 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } Contoh: Masukkan tarikh: 4 2 2004 _ 2 haribulantahun 42004 t jumlah 35 bulan 2
87
87 int kiraHari(TARIKH t) { int jumlah, bulan; jumlah = 0; for (bulan=1; bulan < t.bulan; bulan++) jumlah = jumlah + jumHari(bulan, t.tahun); jumlah = jumlah + t.hari; return jumlah; } int jumHari(int bulan, int tahun) { switch (bulan) { case 2: if (tahun % 4 == 0) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; default: return 31; } Contoh: Masukkan tarikh: 4 2 2004 _ 2 haribulantahun 42004 t jumlah 35 bulan 2 35
88
88 #include typedef struct tarikh { int hari, bulan, tahun; } TARIKH; TARIKH bacaTarikh(); int kiraHari(TARIKH); void outputHasil(TARIKH, int); int jumHari(int, int); int main() { TARIKH tkh; int bil; tkh = bacaTarikh(); bil = kiraHari(tkh); outputHasil(tkh, bil); } 2 haribulantahun 42004 tkh bil 35 Contoh: Masukkan tarikh: 4 2 2004 _
89
89 #include typedef struct tarikh { int hari, bulan, tahun; } TARIKH; TARIKH bacaTarikh(); int kiraHari(TARIKH); void outputHasil(TARIKH, int); int jumHari(int, int); int main() { TARIKH tkh; int bil; tkh = bacaTarikh(); bil = kiraHari(tkh); outputHasil(tkh, bil); } 2 haribulantahun 42004 tkh bil 35 Contoh: Masukkan tarikh: 4 2 2004 _
90
90 TARIKH bacaTarikh() { struct tarikh t; printf("Masukkan tarikh: "); scanf("%d%d%d", &t.hari, &t.bulan, &t.tahun); return t; } void outputHasil(TARIKH t, int bilHari) { printf("%d/%d/%d adalah hari ke-%d dalam tahun %d\n", t.hari, t.bulan, t.tahun, bilHari, t.tahun); } 2 haribulantahun 42004 t bilHari 35 Contoh: Masukkan tarikh: 4 2 2004 _
91
91 TARIKH bacaTarikh() { struct tarikh t; printf("Masukkan tarikh: "); scanf("%d%d%d", &t.hari, &t.bulan, &t.tahun); return t; } void outputHasil(TARIKH t, int bilHari) { printf("%d/%d/%d adalah hari ke-%d dalam tahun %d\n", t.hari, t.bulan, t.tahun, bilHari, t.tahun); } 2 haribulantahun 42004 t bilHari 35 Contoh: Masukkan tarikh: 4 2 2004 4/2/2004 adalah hari ke-35 dalam tahun 2004 _
92
92 TARIKH bacaTarikh() { struct tarikh t; printf("Masukkan tarikh: "); scanf("%d%d%d", &t.hari, &t.bulan, &t.tahun); return t; } void outputHasil(TARIKH t, int bilHari) { printf("%d/%d/%d adalah hari ke-%d dalam tahun %d\n", t.hari, t.bulan, t.tahun, bilHari, t.tahun); } 2 haribulantahun 42004 t bilHari 35 Contoh: Masukkan tarikh: 4 2 2004 4/2/2004 adalah hari ke-35 dalam tahun 2004 _
93
93 #include typedef struct tarikh { int hari, bulan, tahun; } TARIKH; TARIKH bacaTarikh(); int kiraHari(TARIKH); void outputHasil(TARIKH, int); int jumHari(int, int); int main() { TARIKH tkh; int bil; tkh = bacaTarikh(); bil = kiraHari(tkh); outputHasil(tkh, bil); } 2 haribulantahun 42004 tkh bil 35 Contoh: Masukkan tarikh: 4 2 2004 4/2/2004 adalah hari ke-35 dalam tahun 2004 _
94
94 #include typedef struct tarikh { int hari, bulan, tahun; } TARIKH; TARIKH bacaTarikh(); int kiraHari(TARIKH); void outputHasil(TARIKH, int); int jumHari(int, int); int main() { TARIKH tkh; int bil; tkh = bacaTarikh(); bil = kiraHari(tkh); outputHasil(tkh, bil); } 2 haribulantahun 42004 tkh bil 35 Contoh: Masukkan tarikh: 4 2 2004 4/2/2004 adalah hari ke-35 dalam tahun 2004 _
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.