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.

Slides:



Advertisements
Similar presentations
#include void main() { float x = 1.66, y = 1.75; printf(%f%f,ceil(x), floor(y)); }
Advertisements

Incomplete Structs struct B; struct A { struct B * partner; // other declarations… }; struct B { struct A * partner; // other declarations… };
Recursive Descent Technique CMSC 331. UMBC 2 The Header /* This program matches the following A -> B { '|' B } B -> C { '&' C } C -> D { '^' D } D ->
SEE C GO Provisional Title. Syntax Types int, float, double, char, void Identifiers foo Operators + - * / ^ Delimiters ; {} () “” ‘’ Keywords return,
Senem Kumova Metin Spring2009 STACKS AND QUEUES Chapter 10 in A Book on C.
Chapter 17 Templates. Generic Algorithms Algorithms in which the actions or steps are defined, but the data types of the items being manipulated are not.
LCS Non-Dynamic Version int function lcs (x, y, i, j) begin if (i = 0) or (j = 0) return 0; else if (x[i] = y[j]) return lcs(x, y, i-1, j-1)+1; else return.
Structures Spring 2013Programming and Data Structure1.
Structures in C.
 2007 Pearson Education, Inc. All rights reserved. Structs as Function Arguments and Results  Arrays – Pass by referance  Struts – the same way as the.
Introduction to C# Erick Pranata © Sekolah Tinggi Teknik Surabaya 1.
Union, bitfield, typedef, enum union nama_u{ }; union nama_u{ struct nama_s byte; }; enum{ }; Tipedef var BYTE.
By Senem Kumova Metin 1 POINTERS + ARRAYS + STRINGS REVIEW.
1 Structure Knowledge Understand the concept of structure data types Skills Able to write application program using structure.
1 Array Knowledge Understand the execute technique of array Skill Can write application program using one and two dimensional array.
C Pointers Systems Programming. Systems Programming: Pointers 2 Systems Programming: 2 PointersPointers  Pointers and Addresses  Pointers  Using Pointers.
1 Passing Array Array’s element can be passed individually to a function; copying value exist during passing process. An entire array can be passed to.
Structures.
Create your own types: typedef #define N 3 typedef double scalar; /* note defs outside fns */ typedef scalar vector[N]; typedef scalar matrix[N][N]; /*
CMSC 104, Version 8/061L22Arrays1.ppt Arrays, Part 1 of 2 Topics Definition of a Data Structure Definition of an Array Array Declaration, Initialization,
Structs. Structures We already know that arrays are many variables of the same type grouped together under the same name. Structures are like arrays except.
CCSA 221 Programming in C CHAPTER 14 MORE ON DATA TYPES 1 ALHANOUF ALAMR.
C Tokens Identifiers Keywords Constants Operators Special symbols.
Functions, Pointers, Structures Keerthi Nelaturu.
Return function Random function Recursion function Function in C 1.
Summary. Data Types int A; I am declaring a variable A, which is an integer.
CSCI 130 Chapter 3. Variables & Names Variable Declarations: –reserve a storage location in memory –identify the name of the variable –identify the type.
Senem Kumova Metin STRUCTURES continues CHAPTER 9 in A Book in C.
ECE 103 Engineering Programming Chapter 49 Structures Unions, Part 1 Herbert G. Mayer, PSU CS Status 6/4/2014 Initial content copied verbatim from ECE.
 Structures are like arrays except that they allow many variables of different types grouped together under the same name. For example you can create.
Passing Structure to function.  structure to function structure to function  Passing structure to function in C Passing structure to function in C 
1 C Language Structures. 2 Topics Concept of a structure Concept of a structure Structures in c Structures in c Structure declaration Structure declaration.
Struct 1. Definition: Using struct to define a storage containing different types. For example it can contain int, char, float and array at the same time.
Chapter 7 : File Processing1 File-Oriented Input & Output CHAPTER 7.
1 CHAPTER6 CHAPTER 6. Objectives: You’ll learn about;  Introduction  Files and streams  Creating a sequential access file  Reading data from a sequential.
Class and Structure. 2 Structure Declare using the keyword struct purpose is to group data Default visibility mode is public A struct doesn't have a constructor.
CPT: Types/ Computer Programming Techniques Semester 1, 1998 Objective of these slides: –to look at how new types can be created 6. User-defined.
1 Introduction to C++ Noppadon Kamolvilassatian Department of Computer Engineering Prince of Songkla University.
Computer Programming for Engineering Applications ECE 175 Intro to Programming.
Review (before the 1 st test): while (conditions) { statements; } while loop: if/else if/else statements: if (conditions) { statements; } else if (different.
Structure A collection of values (members) struct date{ int day; char month[10]; int year; }; Declare a structure variable struct date today; struct struct_name.
2. C FUNDAMENTALS. Example: Printing a Message /* Illustrates comments, strings, and the printf function */ #include int main(void) { printf("To C, or.
STRUCTURES. INTRODUCTION A structure is same as that of records. It stores related information about an entity. Structure is basically a user defined.
Int fact (int n) { If (n == 0) return 1; else return n * fact (n – 1); } 5 void main () { Int Sum; : Sum = fact (5); : } Factorial Program Using Recursion.
1 Structures. 2 What is a Structure? Used for handling a group of logically related data items  Examples: Student name, roll number, and marks Real part.
Chapter 11 Structures, Unions and Typedef 11.1 Structures Structures allow us to group related data items of different types under a common name. The individual.
C syntax (simplified) BNF. Program ::= [ ] Directives ::= [ ] ::= | |… ::=#include > ::=#define.
Object Oriented Programming Lecture 2: BallWorld.
C LANGUAGE UNIT 3. UNIT 3 Arrays Arrays – The concept of array – Defining arrays – Initializing arrays.
Ex-1 #include <stdio.h> struct sample { int a=0; char b='A';
Control Statements in C
Structures, Unions, Enumerations
LESSON 3 IO, Variables and Operators
مبانی کامپیوتر و برنامه سازی
Programmazione I a.a. 2017/2018.
CMSC 104, Section 4 Richard Chang
מבוא כללי למדעי המחשב תרגול 2
Introduction to Programming and the C Language
Character & String Knowledge
Govt. Polytechnic,Dhangar
Structures vol2.
CS111 Computer Programming
Default Arguments.
Pembolehubah dan Pemalar
CSC215 Homework Homework 02 Due date: Sep 30, 2016.
Variables in C Declaring , Naming, and Using Variables.
Relational, Logical, and Equality Operators
Programming Language C Language.
CSCE 206 Lab Structured Programming in C
Range check 範圍檢查: int age; int score; int month; 1-12
Presentation transcript:

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 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 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 Structures Containing Arrays 1 hari bulan tahun ??? 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 Structures Containing Arrays 1 hari bulan tahun 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));

6 Structures Containing Arrays 1 hari bulan tahun 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)); _

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 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 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 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 trkh

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 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 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)); _ 'T''a''h''u''n'' 'B''a''r''u''\0'???? nama cuti_am 1 hari bulan tahun trkh

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 Structure and function The structure can also be used with function.

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 hari_cuti ??? haribulantahun ??? tkh

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 hari_cuti 1 haribulantahun tkh Contoh: _

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 hari_cuti 1 haribulantahun tkh Contoh: _

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 hari_cuti 1 haribulantahun tkh Contoh: _

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 hari_cuti 1 haribulantahun tkh _ 1 haribulantahun t1 1 haribulantahun t2

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 haribulantahun t1 1 haribulantahun t2

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 haribulantahun t1 1 haribulantahun t2

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 haribulantahun t1 1 haribulantahun t2

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 hari_cuti 1 haribulantahun tkh

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 hari_cuti 1 haribulantahun tkh _

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 tkh ??? haribulantahun tkh2 ??? 2 haribulantahun haribulantahun sen 22000

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 tkh ??? haribulantahun tkh2 ??? 2 haribulantahun haribulantahun sen 22000

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 tkh ??? haribulantahun tkh2 ??? 2 haribulantahun haribulantahun sen ??? haribulantahun t1 ??? haribulantahun t2 ??? s_tbil ???

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 tkh ??? haribulantahun tkh2 ??? 2 haribulantahun haribulantahun sen haribulantahun t ??? haribulantahun t2 ??? 2 s_tbil

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 haribulantahun sen haribulantahun t ??? haribulantahun t2 ??? 2 s_tbil i ???

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 haribulantahun sen haribulantahun t haribulantahun t s_tbil i ???

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 haribulantahun sen haribulantahun t haribulantahun t s_tbil i ???

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 haribulantahun sen haribulantahun t haribulantahun t s_tbil i 0

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 haribulantahun sen haribulantahun t haribulantahun t s_tbil i 0

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 haribulantahun sen haribulantahun t haribulantahun t s_tbil i 0

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 haribulantahun sen haribulantahun t haribulantahun t s_tbil i 1

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 haribulantahun sen haribulantahun t haribulantahun t s_tbil i 1

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 haribulantahun sen haribulantahun t haribulantahun t s_tbil i 1

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 haribulantahun sen haribulantahun t haribulantahun t s_tbil i 2

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 haribulantahun sen haribulantahun t haribulantahun t s_tbil i 2

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 haribulantahun sen haribulantahun tkh ??? haribulantahun tkh2 ???

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 haribulantahun sen haribulantahun tkh ??? haribulantahun tkh2 ???

43 Function can be used to return a structure. That’s mean, function can be initialized as structure type

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 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 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 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 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 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 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 t Contoh: Hari: 28 Bulan: 4 Tahun: 2002 _

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 t Contoh: Hari: 28 Bulan: 4 Tahun: 2002 _ { 28, 4, 2002 }

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 ??? haribulantahun ??? tarikhMasuk

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 ??? haribulantahun ??? tarikhMasuk Contoh: Hari: 28 Bulan: 4 Tahun: 2002 _

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 ??? haribulantahun ??? tarikhMasuk Contoh: Hari: 28 Bulan: 4 Tahun: 2002 _

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 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 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 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 t Contoh: Tahun: 2002 Hari: 20 Bulan: 10 Tahun: 1999 _

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 t { 20, 10, 1999 } Contoh: Tahun: 2002 Hari: 20 Bulan: 10 Tahun: 1999 _

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 haribulantahun tarikhMasuk Contoh: Tahun: 2002 Hari: 20 Bulan: 10 Tahun: 1999 _

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 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 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 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 #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 #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 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 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 t Contoh: Masukkan tarikh: _

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 t Contoh: Masukkan tarikh: _ { 4, 2, 2004 }

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 tkh bil ??? Contoh: Masukkan tarikh: _

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 tkh bil ??? Contoh: Masukkan tarikh: _

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 t Contoh: Masukkan tarikh: _

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 t jumlah ??? bulan ??? Contoh: Masukkan tarikh: _

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 t jumlah 0 bulan ??? Contoh: Masukkan tarikh: _

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 t jumlah 0 bulan ??? Contoh: Masukkan tarikh: _

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 t jumlah 0 bulan 1 Contoh: Masukkan tarikh: _

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 t jumlah 0 bulan 1 Contoh: Masukkan tarikh: _

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 t jumlah 0 bulan 1 Contoh: Masukkan tarikh: _

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 t jumlah 0 bulan 1 Contoh: Masukkan tarikh: _ bulan 1 tahun 2004

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: _ bulan 1 tahun 2004

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: _ bulan 1 tahun 2004

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: _ bulan 1 tahun

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: _ 2 haribulantahun t jumlah 31 bulan 1

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: _ 2 haribulantahun t jumlah 31 bulan 2

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: _ 2 haribulantahun t jumlah 31 bulan 2

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: _ 2 haribulantahun t jumlah 35 bulan 2

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: _ 2 haribulantahun t jumlah 35 bulan 2 35

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 tkh bil 35 Contoh: Masukkan tarikh: _

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 tkh bil 35 Contoh: Masukkan tarikh: _

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 t bilHari 35 Contoh: Masukkan tarikh: _

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 t bilHari 35 Contoh: Masukkan tarikh: /2/2004 adalah hari ke-35 dalam tahun 2004 _

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 t bilHari 35 Contoh: Masukkan tarikh: /2/2004 adalah hari ke-35 dalam tahun 2004 _

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 tkh bil 35 Contoh: Masukkan tarikh: /2/2004 adalah hari ke-35 dalam tahun 2004 _

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 tkh bil 35 Contoh: Masukkan tarikh: /2/2004 adalah hari ke-35 dalam tahun 2004 _