Student Data Score First Name Last Name ID

  • Slides: 23
Download presentation
Student Data Score First Name Last Name ID GPA DOB Phone. . . How

Student Data Score First Name Last Name ID GPA DOB Phone. . . How to store student data in our programs? 1

Store Student Data in Variables // For one student at a time float score,

Store Student Data in Variables // For one student at a time float score, GPA; string first. Name, last. Name, ID; … 2

Store Students Data in Parallel Arrays const int MAX_SIZE = 30; // To keep

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 first. Name[MAX_SIZE], last. Name[MAX_SIZE], ID[MAX_SIZE]; 3

C++ Structure struct Student { string id; string first. Name, last. Name; float gpa;

C++ Structure struct Student { string id; string first. Name, last. Name; float gpa; }; // Student is a data type! 4

Structure Variables int num. Students; float score; Student s 1, s 2; // Student

Structure Variables int num. Students; float score; Student s 1, s 2; // Student is a data type! 5

Accessing Members of a Structure Variable Student s 1; // Input data into struct

Accessing Members of a Structure Variable Student s 1; // Input data into struct cout << "Enter ID: "; cin >> s 1. id; cout << "Enter first name: "; cin >> s 1. first. Name; // Output student data cout << setw(9) << s 1. id << setw(25) << s 1. first. Name; Using the dot notation! 6

C++ Class class Student { string id; string first. Name, last. Name; float gpa;

C++ Class class Student { string id; string first. Name, last. Name; float gpa; }; // Student is a class (data type)! // By default, all fields are private. 7

C++ Class class Student { private: string id; string first. Name, last. Name; float

C++ Class class Student { private: string id; string first. Name, last. Name; float gpa; public: . . . }; Create public functions (methods) to access private fields. 8

Class Methods class Student { private: string id; string first. Name, last. Name; float

Class Methods class Student { private: string id; string first. Name, last. Name; float gpa; public: // Make sure the order is correct. void Read() { cin >> id >> first. Name >> last. Name >> gpa; } }; 9

Class Methods class Student { private: string id; string first. Name, last. Name; float

Class Methods class Student { private: string id; string first. Name, last. Name; float gpa; public: void Read() void Print() { cout << endl; cout << setw(9) << id << setw(20) << first. Name << setw(20) << last. Name << setw(5) << gpa; } }; 10

Calling Class Methods Student s 1; // Input data into object s 1. Read();

Calling Class Methods Student s 1; // Input data into object s 1. Read(); // Output data of object s 1. Print(); Using the dot notation! 11

Syntax and Style class Student { private: string id; string first. Name, last. Name;

Syntax and Style class Student { private: string id; string first. Name, last. Name; 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 12

Semantics class Student { private: string id; string first. Name, last. Name; float gpa;

Semantics class Student { private: string id; string first. Name, last. Name; float gpa; public: void Read() { cin >> id >> first. Name >> last. Name >> gpa; }. . . }; Student is a new data type! It has data fields and methods (functions) on the data. 13

Semantics class Student { private: string id; string first. Name, last. Name; float gpa;

Semantics class Student { private: string id; string first. Name, last. Name; float gpa; public: void Read() { cin >> id >> first. Name >> last. Name >> gpa; }. . . }; Data fields have class scope and can be accessed from any class methods! 14

C++ Classes cin >> base; while ( !cin. eof() && (base < 2 ||

C++ Classes cin >> base; while ( !cin. eof() && (base < 2 || base > 9) ) { // display message cin. ignore(MAX_LINE_SIZE, ‘n’); cin >> base: } 15

More Class Methods class Student { private: . . . public: . . .

More Class Methods class Student { private: . . . public: . . . string get. First() { return first. Name; } void set. First. Name( string name ) { first. Name = name; } }; 16

More Class Methods class Student { private: . . . public: . . .

More Class Methods class Student { private: . . . public: . . . string get. GPA() { return gpa; } void set. GPA( float value ) { gpa = value; } void update. GPA( float amount ) { gpa += amount; } }; 17

Calling Class Methods // Comparing two students if ( s 1. get. GPA() >

Calling Class Methods // Comparing two students if ( s 1. get. GPA() > s 2. get. GPA() ) cout << “n. First student has higher GPA. "; else if ( s 1. get. GPA() < s 2. get. GPA() ) cout << “n. Second student has higher GPA. "; else cout << “n. The two student have the same GPA. "; 19

Calling Class Methods // Updating students data s 1. set. GPA( 2. 9 );

Calling Class Methods // Updating students data s 1. set. GPA( 2. 9 ); s 1. update. GPA( 0. 5 ); if ( s 1. get. GPA() > s 2. get. GPA() ) cout << “n. First student has higher GPA. "; else if ( s 1. get. GPA() < s 2. get. GPA() ) cout << “n. Second student has higher GPA. "; else cout << “n. The two student have the same GPA. "; 20

class Student {. . . } int main() { Student s 1, s 2;

class Student {. . . } int main() { Student s 1, s 2; s 1. Read(); s 2. Read(); s 1. Print(); s 2. Print(); // Comparing GPA of s 1 and s 2 s 1. update. GPA( 0. 5 ); // Comparing GPA of s 1 and s 2 return 0; } 21

//--------------------// Comment Block //--------------------// Includes // constants class Student {. . . } //

//--------------------// Comment Block //--------------------// Includes // constants class Student {. . . } // Function prototypes int main() {. . . return 0; } // Function definitions 22

Schedule • Quiz 5 -5: Due today • Quiz 7 -1: Due Wednesday •

Schedule • Quiz 5 -5: Due today • Quiz 7 -1: Due Wednesday • Wednesday: Test 2 Review • Thursday: Lab 8 • Friday Test 2: 60 points Notes 11 - 22 • Program 4 Due Wednesday, April 6 Grace Friday, April 8 23

Quiz 5 -6 Now 24

Quiz 5 -6 Now 24