Download presentation
Presentation is loading. Please wait.
Published byWidyawati Pranoto Modified over 6 years ago
1
Student Data Score First Name Last Name ID GPA DOB Phone ...
How to store student data in our programs?
2
Store Student Data in Variables
// For one student at a time float score, GPA; string firstName, lastName, ID; …
3
Store Students Data in Parallel Arrays
const int MAX_SIZE = 30; // To keep data for all students float scores[MAX_SIZE], GPA[MAX_SIZE]; string firstName[MAX_SIZE], lastName[MAX_SIZE], ID[MAX_SIZE];
4
C++ Structure struct Student { string id; string firstName, lastName;
float gpa; }; // Student is a data type!
5
Structure Variables int numStudents; float score; Student s1, s2;
// Student is a data type!
6
Accessing Members of a Structure Variable
Student s1; // Input data into struct cout << "Enter ID: "; cin >> s1.id; cout << "Enter first name: "; cin >> s1.firstName; // Output student data cout << setw(9) << s1.id << setw(25) << s1.firstName; Using the dot notation!
7
C++ Class class Student { string id; string firstName, lastName;
float gpa; }; // Student is a class (data type)! // By default, all fields are private.
8
Create public functions (methods) to access private fields.
C++ Class class Student { private: string id; string firstName, lastName; float gpa; public: . . . }; Create public functions (methods) to access private fields.
9
Class Methods class Student { private: string id;
string firstName, lastName; float gpa; public: // Make sure the order is correct. void Read() cin >> id >> firstName >> lastName >> gpa; } };
10
Class Methods class Student { private: string id;
string firstName, lastName; float gpa; public: void Read() void Print() cout << endl; cout << setw(9) << id << setw(20) << firstName << setw(20) << lastName << setw(5) << gpa; } };
11
Calling Class Methods Using the dot notation! Student s1;
// Input data into object s1 s1.Read(); // Output data of object s1 s1.Print(); Using the dot notation!
12
Syntax and Style class Student { private: string id;
string firstName, lastName; float gpa; public: void Read() . . . }; // class, private, public: key word // Student: Identifier, your choice // Fields : Declaring variables // Braces // Semicolon after } // Read, Print: class methods (function inside class) // Indentation
13
Semantics Student is a new data type!
class Student { private: string id; string firstName, lastName; float gpa; public: void Read() cin >> id >> firstName >> lastName >> gpa; } . . . }; Student is a new data type! It has data fields and methods (functions) on the data.
14
Semantics class Student { private: string id; string firstName, lastName; float gpa; public: void Read() cin >> id >> firstName >> lastName >> gpa; } . . . }; Data fields have class scope and can be accessed from any class methods!
15
C++ Classes cin >> base;
while ( !cin.eof() && (base < 2 || base > 9) ) { // display message cin.ignore(MAX_LINE_SIZE, ‘\n’); cin >> base: }
16
More Class Methods class Student { private: . . . public:
string getFirst() return firstName; } void setFirstName( string name ) firstName = name; };
17
More Class Methods class Student { private: . . . public:
string getGPA() return gpa; } void setGPA( float value ) gpa = value; void updateGPA( float amount ) gpa += amount; };
18
Calling Class Methods // Comparing two students
if ( s1.getGPA() > s2.getGPA() ) cout << “\nFirst student has higher GPA."; else if ( s1.getGPA() < s2.getGPA() ) cout << “\nSecond student has higher GPA."; else cout << “\nThe two student have the same GPA.";
19
Calling Class Methods // Updating students data s1.setGPA( 2.9 );
s1.updateGPA( 0.5 ); if ( s1.getGPA() > s2.getGPA() ) cout << “\nFirst student has higher GPA."; else if ( s1.getGPA() < s2.getGPA() ) cout << “\nSecond student has higher GPA."; else cout << “\nThe two student have the same GPA.";
20
class Student { . . . } int main() Student s1, s2; s1.Read(); s2.Read(); s1.Print(); s2.Print(); // Comparing GPA of s1 and s2 s1.updateGPA( 0.5 ); return 0;
21
//----------------------------------------
// Comment Block // Includes // constants class Student { . . . } // Function prototypes int main() return 0; // Function definitions
22
Wednesday: Test2 Review
Schedule Quiz5-5: Due today Quiz7-1: Due Wednesday Wednesday: Test2 Review Thursday: Lab 8 Friday Test 2: 60 points Notes Program 4 Due Wednesday, April 6 Grace Friday, April 8
23
Quiz5-6 Now
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.