KEMBAR78
struct- introduction C programming advanced | PPTX
Programming
Structures
COMP102 Prog. Fundamentals,
Structures / Slide 2
2
Structures
● A Structure is a collection of related data items,
possibly of different types.
● A structure type in C++ is called struct.
● A struct is heterogeneous in that it can be
composed of data of different types.
● In contrast, array is homogeneous since it can
contain only data of the same type.
COMP102 Prog. Fundamentals,
Structures / Slide 3
3
Structures
● Structures hold data that belong together.
● Examples:
● Student record: student id, name, major,
gender, start year, …
● Bank account: account number, name,
currency, balance, …
● Address book: name, address, telephone
number, …
● In database applications, structures are called
records.
COMP102 Prog. Fundamentals,
Structures / Slide 4
4
Structures
● Individual components of a struct type are
called members (or fields).
● Members can be of different types (simple,
array or struct).
● A struct is named as a whole while individual
members are named using field identifiers.
● Complex data structures can be formed by
defining arrays of structs.
COMP102 Prog. Fundamentals,
Structures / Slide 5
5
struct basics
● Definition of a structure:
struct <struct-type>{
<type> <identifier_list>;
<type> <identifier_list>;
...
} ;
● Example:
struct Date {
int day;
int month;
int year;
} ;
The “Date” structure
has 3 members,
day, month & year.
Each identifier
defines a member
of the structure.
COMP102 Prog. Fundamentals,
Structures / Slide 6
6
struct examples
● Example:
struct StudentInfo{
int Id;
int age;
char Gender;
double CGA;
};
● Example:
struct StudentGrade{
char Name[15];
char Course[9];
int Lab[5];
int Homework[3];
int Exam[2];
};
The “StudentGrade”
structure has 5
members of
different array types.
The “StudentInfo”
structure has 4
members
of different types.
COMP102 Prog. Fundamentals,
Structures / Slide 7
7
struct examples
● Example:
struct BankAccount{
char Name[15];
int AcountNo[10];
double balance;
Date Birthday;
};
● Example:
struct StudentRecord{
char Name[15];
int Id;
char Dept[5];
char Gender;
};
The “StudentRecord”
structure has 4
members.
The “BankAcount”
structure has simple,
array and structure
types as members.
COMP102 Prog. Fundamentals,
Structures / Slide 8
8
struct basics
● Declaration of a variable of struct type:
<struct-type> <identifier_list>;
● Example:
StudentRecord Student1, Student2;
Student1 and Student2 are variables of
StudentRecord type.
Student1 Student2
Name
Id
Gender
Dept
Name
Id
Gender
Dept
COMP102 Prog. Fundamentals,
Structures / Slide 9
9
Chan Tai Man
12345
M
COMP
Ex. 1: struct basics
● The members of a struct type variable are
accessed with the dot (.) operator:
<struct-variable>.<member_name>;
● Example:
strcpy(Student1.Name, "Chan Tai Man");
Student1.Id = 12345;
strcpy(Student1.Dept, "COMP");
Student1.gender = 'M';
cout << "The student is ";
switch (Student1.gender){
case 'F': cout << "Ms. "; break;
case 'M': cout << "Mr. "; break;
}
cout << Student1.Name << endl;
Student
1
Name
Id
Gender
Dept
COMP102 Prog. Fundamentals,
Structures / Slide 10
10
COMP102 Prog. Fundamentals,
Structures / Slide 11
11
Chan Tai Man
12345 M
COMP
Ex. 2: struct-to-struct assignment
● The values contained in one struct type
variable can be assigned to another variable
of the same struct type.
● Example:
strcpy(Student1.Name,
"Chan Tai Man");
Student1.Id = 12345;
strcpy(Student1.Dept, "COMP");
Student1.gender = 'M';
Student2 = Student1;
Student1
Chan Tai Man
12345 M
COMP
Student2
COMP102 Prog. Fundamentals,
Structures / Slide 12
12
COMP102 Prog. Fundamentals,
Structures / Slide 13
13
Ex. 3-5: Nested structures
● We can nest structures inside structures.
● Examples:
struct point{
double x, y;
};
point P;
struct line{
point p1, p2;
};
line L;
struct triangle{
point p1, p2, p3;
};
triangle T;
(P.x, P.y)
(L.p1.x,
L.p1.y)
(L.p2.x,
L.p2.y)
(T.p2.x, T.p2.y)
(T.p1.x, T.p1.y)
(T.p3.x, T.p3.y)
COMP102 Prog. Fundamentals,
Structures / Slide 14
14
Ex. 3-5: Nested structures
● We can nest structures inside structures.
● struct line{
point p1, p2;
};
line L;
(L.p1.x,
L.p1.y)
(L.p2.x,
L.p2.y)
line
p1 p2
x y x y
COMP102 Prog. Fundamentals,
Structures / Slide 15
15
Ex. 3-5: Nested structures
● Assign values to the variables P, L, and T
using the picture:
point P;
line L;
triangle T;
(4, 11)
(2,
7)
(10,
9)
(6,
5)
(2,
0)
(8,
3)
● Ex. 3: Graph a point
● Ex. 4: Graph a line
● Ex. 5: Graph a triangle
COMP102 Prog. Fundamentals,
Structures / Slide 16
16
Ex. 3-5: Nested structures
point P;
line L;
triangle T;
P.x = 4;
P.y = 11;
(4, 11)
(2,
7)
(10,
9)
(6,
5)
(2,
0)
(8,
3)
L.p1.x = 2;
L.p1.y = 7;
L.p2.x = 10;
L.p2.y = 9;
T.p1.x = 2;
T.p1.y = 0;
T.p2.x = 6;
T.p2.y = 5;
T.p3.x = 8;
T.p3.y = 3;

struct- introduction C programming advanced

  • 1.
  • 2.
    COMP102 Prog. Fundamentals, Structures/ Slide 2 2 Structures ● A Structure is a collection of related data items, possibly of different types. ● A structure type in C++ is called struct. ● A struct is heterogeneous in that it can be composed of data of different types. ● In contrast, array is homogeneous since it can contain only data of the same type.
  • 3.
    COMP102 Prog. Fundamentals, Structures/ Slide 3 3 Structures ● Structures hold data that belong together. ● Examples: ● Student record: student id, name, major, gender, start year, … ● Bank account: account number, name, currency, balance, … ● Address book: name, address, telephone number, … ● In database applications, structures are called records.
  • 4.
    COMP102 Prog. Fundamentals, Structures/ Slide 4 4 Structures ● Individual components of a struct type are called members (or fields). ● Members can be of different types (simple, array or struct). ● A struct is named as a whole while individual members are named using field identifiers. ● Complex data structures can be formed by defining arrays of structs.
  • 5.
    COMP102 Prog. Fundamentals, Structures/ Slide 5 5 struct basics ● Definition of a structure: struct <struct-type>{ <type> <identifier_list>; <type> <identifier_list>; ... } ; ● Example: struct Date { int day; int month; int year; } ; The “Date” structure has 3 members, day, month & year. Each identifier defines a member of the structure.
  • 6.
    COMP102 Prog. Fundamentals, Structures/ Slide 6 6 struct examples ● Example: struct StudentInfo{ int Id; int age; char Gender; double CGA; }; ● Example: struct StudentGrade{ char Name[15]; char Course[9]; int Lab[5]; int Homework[3]; int Exam[2]; }; The “StudentGrade” structure has 5 members of different array types. The “StudentInfo” structure has 4 members of different types.
  • 7.
    COMP102 Prog. Fundamentals, Structures/ Slide 7 7 struct examples ● Example: struct BankAccount{ char Name[15]; int AcountNo[10]; double balance; Date Birthday; }; ● Example: struct StudentRecord{ char Name[15]; int Id; char Dept[5]; char Gender; }; The “StudentRecord” structure has 4 members. The “BankAcount” structure has simple, array and structure types as members.
  • 8.
    COMP102 Prog. Fundamentals, Structures/ Slide 8 8 struct basics ● Declaration of a variable of struct type: <struct-type> <identifier_list>; ● Example: StudentRecord Student1, Student2; Student1 and Student2 are variables of StudentRecord type. Student1 Student2 Name Id Gender Dept Name Id Gender Dept
  • 9.
    COMP102 Prog. Fundamentals, Structures/ Slide 9 9 Chan Tai Man 12345 M COMP Ex. 1: struct basics ● The members of a struct type variable are accessed with the dot (.) operator: <struct-variable>.<member_name>; ● Example: strcpy(Student1.Name, "Chan Tai Man"); Student1.Id = 12345; strcpy(Student1.Dept, "COMP"); Student1.gender = 'M'; cout << "The student is "; switch (Student1.gender){ case 'F': cout << "Ms. "; break; case 'M': cout << "Mr. "; break; } cout << Student1.Name << endl; Student 1 Name Id Gender Dept
  • 10.
  • 11.
    COMP102 Prog. Fundamentals, Structures/ Slide 11 11 Chan Tai Man 12345 M COMP Ex. 2: struct-to-struct assignment ● The values contained in one struct type variable can be assigned to another variable of the same struct type. ● Example: strcpy(Student1.Name, "Chan Tai Man"); Student1.Id = 12345; strcpy(Student1.Dept, "COMP"); Student1.gender = 'M'; Student2 = Student1; Student1 Chan Tai Man 12345 M COMP Student2
  • 12.
  • 13.
    COMP102 Prog. Fundamentals, Structures/ Slide 13 13 Ex. 3-5: Nested structures ● We can nest structures inside structures. ● Examples: struct point{ double x, y; }; point P; struct line{ point p1, p2; }; line L; struct triangle{ point p1, p2, p3; }; triangle T; (P.x, P.y) (L.p1.x, L.p1.y) (L.p2.x, L.p2.y) (T.p2.x, T.p2.y) (T.p1.x, T.p1.y) (T.p3.x, T.p3.y)
  • 14.
    COMP102 Prog. Fundamentals, Structures/ Slide 14 14 Ex. 3-5: Nested structures ● We can nest structures inside structures. ● struct line{ point p1, p2; }; line L; (L.p1.x, L.p1.y) (L.p2.x, L.p2.y) line p1 p2 x y x y
  • 15.
    COMP102 Prog. Fundamentals, Structures/ Slide 15 15 Ex. 3-5: Nested structures ● Assign values to the variables P, L, and T using the picture: point P; line L; triangle T; (4, 11) (2, 7) (10, 9) (6, 5) (2, 0) (8, 3) ● Ex. 3: Graph a point ● Ex. 4: Graph a line ● Ex. 5: Graph a triangle
  • 16.
    COMP102 Prog. Fundamentals, Structures/ Slide 16 16 Ex. 3-5: Nested structures point P; line L; triangle T; P.x = 4; P.y = 11; (4, 11) (2, 7) (10, 9) (6, 5) (2, 0) (8, 3) L.p1.x = 2; L.p1.y = 7; L.p2.x = 10; L.p2.y = 9; T.p1.x = 2; T.p1.y = 0; T.p2.x = 6; T.p2.y = 5; T.p3.x = 8; T.p3.y = 3;