Enumeration Data Type enum Day {SUN, MON, TUE, WED, THU, FRI, SAT};

Slides:



Advertisements
Similar presentations
Class Scope class Student { private: string id; string firstName, lastName; float gpa; public: void Read() { cin >> id >> firstName >> lastName >> gpa;
Advertisements

Student Data Score First Name Last Name ID GPA DOB Phone... How to store student data in our programs? 1.
Enumeration Data Type enum Day {SUN, MON, TUE, WED, THU, FRI, SAT}; Day today; today = WED; if (today == FRI) cout
Prof. amr Goneid, AUC1 CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++ Prof. Amr Goneid AUC Part 6. Simple and User Defined Data Types.
Define our own data types We can define a new data type by defining a new class: class Student {...}; Class is a structured data type. Can we define our.
Review Binary Numbers Bit : 0 or 1 Byte: 8 bites 256 different values 2 8 KB : 1024 bytes 2 10 bytes MB : 1024 * 1024 bytes 2 10 * 2 10 (2 20 ) bytes GB.
Structure TDate struct TDate { int year, month, day; }; // Define a new data type.
Selection Sorting S[] : array of int or float Size: number of elements of s[] Pseudocode for i = 0 to size - 2 find the index of a smallest element between.
Class Constructors class Student { private: string id, firstName, lastName; float gpa; public: Student() Student(string sID) Student(string first, string.
Quiz // // The function exchanges the two parameters. // Param: ( ) // Param:
Class Student class Student { private: string id; string firstName, lastName; float gpa; public: void Read() void Write() string getGPA() void setGPA(
CS 1430: Programming in C++.
Data Types Storage Size Domain of all possible values Operations 1.
CS 1430: Programming in C++ 1. Class StudentList class StudentList { private: int numStudents; Student students[MAX_SIZE]; int find(const Student& s)
Class Method Read class Student { private: string id; string firstName, lastName; float gpa; public: // Will the method change any data members? // Yes!
CS 1430: Programming in C++ 1. Test 2 Friday Functions Arrays For Loops Understand Concepts and Rules Memorize Concepts and Rules Apply Concepts and Rules.
CS 1430: Programming in C++.
Nested Structures struct TDate { int year, month, day; }; struct StudentType { string id, firstName, lastName; float gpa; TDate DOB; }; struct SectionType.
Selection Sorting Pseudocode (Forward) for i = 0 to size - 2 find the index of the required element between s[i] and s[size - 1] If i not the same as index.
5 Day Forecast Mon Tues Wed Thu Fri.
LESSON 06.
Jeff West - Quiz Section 2
សាកលវិទ្យាល័យជាតិគ្រប់គ្រង National University of Management
typedef typedef int Index; typedef char Letter; Index i; i = 17;
CS 1430: Programming in C++.
CS 1430: Programming in C++.
Student Data Score First Name Last Name ID GPA DOB Phone ...

CS 1430: Programming in C++.
CS 1430: Programming in C++.
CS 1430: Programming in C++.

MON TUE WED THU
1   1.テキストの入れ替え テキストを自由に入れ替えることができます。 フチなし全面印刷がおすすめです。 印刷のポイント.
January MON TUE WED THU FRI SAT SUN
January MON TUE WED THU FRI SAT SUN
CS 1430: Programming in C++.


January Sun Mon Tue Wed Thu Fri Sat
January MON TUE WED THU FRI SAT SUN
January MON TUE WED THU FRI SAT SUN
CS 1430: Programming in C++.

2008 Calendar.
S M T W F S M T W F
January MON TUE WED THU FRI SAT SUN
Sun Mon Tue Wed Thu Fri Sat
January MON TUE WED THU FRI SAT SUN
JANUARY 1 Sun Mon Tue Wed Thu Fri Sat
Calendar
January MON TUE WED THU FRI SAT SUN
JANUARY 1 Sun Mon Tue Wed Thu Fri Sat
Sun Mon Tue Wed Thu Fri Sat
(Dreaded) Quiz 2 Next Monday.
Class StudentList class StudentList { private: int numStudents;
1/○~1/○ weekly schedule MON TUE WED THU FRI SAT SUN MEMO
January MON TUE WED THU FRI SAT SUN
S M T W F S M T W F
2016 | 10 OCT SUN MON TUE WED THU FRI SAT
Sun Mon Tue Wed Thu Fri Sat
JANUARY 1 Sun Mon Tue Wed Thu Fri Sat

1 January 2018 Sun Mon Tue Wed Thu Fri Sat

CS 1430: Programming in C++.
1 January MON TUE WED THU FRI SAT SUN MEMO 2 February MON TUE WED THU FRI SAT SUN.
2008 Calendar.
Selection Sorting S[] : array of int or float
1 January MON TUE WED THU FRI SAT SUN MEMO 2 February MON TUE WED THU FRI SAT SUN.
Presentation transcript:

Enumeration Data Type enum Day {SUN, MON, TUE, WED, THU, FRI, SAT}; Day today; today = WED; if (today == FRI) cout << "We have a quiz or a test!"; else if (today == THU) cout << “We have a Lab!"; else if (today == SAT) cout << “Party!"; else cout << “What to do?”;

Enumeration Data Type and const int enum Day {SUN, MON, TUE, WED, THU, FRI, SAT}; Day today; today = WED; if (today == FRI) … const int SUN = 0; const int MON = 1; const int TUE = 2; const int WED = 3; const int THU = 4; const int FRI = 5; const int SAT = 6; int today; today = 10;

Enumeration Data Type Operations on enum type assignment comparison Function return value Function parameters: & No Input/Output!

Using enum Type in C++ Classes enum Status {FRESHMAN, SOPHOMORE, JUNIOR, SENIOR}; class StudentType { private: string id; string firstName, lastName; float gpa; Status standing; public: . . . };

Method Read of Class StudentType void Read() { cin >> id >> firstName >> lastName >> gpa; int credits; cin >> credits; if (credits <= 30) standing = FRESHMAN; else if (credits <= 60) standing = SOPHOMORE; else if (credits <= 90) standing = JUNIOR; else standing = SENIOR; return; }

Private Method Status GetStanding() { int credits; cin >> credits; if (credits <= 30) return FRESHMAN; else if (credits <= 60) return = SOPHOMORE; else if (credits <= 90) return = JUNIOR; else return = SENIOR; }

Method Read of Class StudentType void Read() { cin >> id >> firstName >> lastName >> gpa; standing = GetStanding(); return; }

Method Write of Class StudentType void Write() { cout << endl << setw(25) << id << endl << setw(25) << firstName << endl << setw(25) << lastName << endl << setw(25) << gpa; if (standing == FRESHMAN) cout << endl << setw(25) << “FRESHMAN”; else if (standing == SOPHOMORE) cout << endl << setw(25) << “SOPHOMORE”; else if (standing == JUNIOR) cout << endl << setw(25) << “JUNIOR”; else cout << endl << setw(25) << “SENIOR”; return; }

Private Method Void DisplayStanding() { if (standing == FRESHMAN) cout << endl << setw(25) << “FRESHMAN”; else if (standing == SOPHOMORE) cout << endl << setw(25) << “SOPHOMORE”; else if (standing == JUNIOR) cout << endl << setw(25) << “JUNIOR”; else cout << endl << setw(25) << “SENIOR”; return; }

Method Write of Class StudentType void Write() { cout << endl << setw(25) << id << endl << setw(25) << firstName << endl << setw(25) << lastName << endl << setw(25) << gpa; DisplayStanding(); return; }

enum Status {FRESHMAN, SOPHOMORE, JUNIOR, SENIOR}; class StudentType { private: string id, firstName, lastName; float gpa; Status standing; Status GetStanding() void DisplayStanding() public: StudentType() StudentType(string sid, string first, string last, float sgpa) StudentType(const StudentType& s) void Read() void Write() bool Equals(const StudentType& s) // if (s1.Equals(s2)) . . . };

Class SectionType const int MAX_SIZE = 26; enum Status {FRESHMAN, SOPHOMORE, JUNIOR, SENIOR}; class StudentType { . . . }; class SectionType private: int numStudents; StudentType students[MAX_SIZE]; public: void Read()

Class SectionType const int MAX_SIZE = 26; enum Status {FRESHMAN, SOPHOMORE, JUNIOR, SENIOR}; class StudentType class SectionType { private: int numStudents; StudentType students[MAX_SIZE]; public: void Read() cin >> numStudents; for (int i = 0; i < numStudents; i ++) students[i].Read(); } . . . };

Class SectionType class SectionType { private: int numStudents; StudentType students[MAX_SIZE]; public: SectionType() numStudents = 0; } void Read() Student s(cin); while ( cin ) students[numStudents] = s; numStudents ++; s = Student(cin); . . . };

Class SectionType class SectionType { private: int numStudents; StudentType students[MAX_SIZE]; public: void Read() Student s(cin); while ( cin ) students[numStudents ++] = s; // same as // students[numStudents] = s; // numStudents ++; s = Student(cin); } . . . };

const int MAX_SIZE = 26; enum Status {FRESHMAN, SOPHOMORE, JUNIOR, SENIOR}; class StudentType class SectionType int main() { SectionType CS143_S2; CS143_S2.Read(); // Find the freshman student with the highest GPA among // all freshman students in CS143_S2 }

//------------------------------------------------------- // The function finds and returns the index of a Freshman // student who has the highest GPA among all Freshman // students in a section, assuming there is at least one // Freshman student in the section. // Parameter: ( in ) int IndexOfMaxFreshmanGPA(const SectionType& sec) { int index; // Not 0! float maxGPA = 0.0; for (int i = 0; i < sec.numStudents; i ++) if (sec.students[i].standing == FRESHMAN && sec.students[i].gpa > maxGPA) index = i; maxGPA = sec.students[i].gpa; } return index;

const int MAX_SIZE = 26; enum Status {FRESHMAN, SOPHOMORE, JUNIOR, SENIOR}; class StudentType class SectionType int IndexOfMaxFreshmanGPA(const SectionType& sec); int main() { SectionType CS143_S2; CS143_S2.Read(); // Find the freshman student with the highest GPA among // all freshman students in CS143_S2 int index = IndexOfMaxFreshmanGPA(CS143_S2); cout << “The Freshman student with highest GPA ” << “ among all freshman students in Section 2 of CS143 ” ? . . . }

Class SectionType class SectionType { private: int numStudents; StudentType students[MAX_SIZE]; public: Student StudentWithMaxGPAByStatus(Status s) int index; float maxGPA = 0.0; for (int i = 0; i < numStudents; i ++) if (students[i].standing == s && students[i].gpa > maxGPA) index = i; maxGPA = students[i].gpa; } return students[index]; };

int main() { SectionType CS143_S2; CS143_S2.Read(); // Find the freshman student with the highest GPA among // all freshman students in CS143_S2 Student s = CS143_S2. StudentWithMaxGPAByStatus(FRESHMAN); cout << “The Freshman student with highest GPA among all ” << “freshman students in Section 2 of CS143 is ”; s.Write() // Find the sophomore student with the highest GPA among // all sophomore students in CS143_S2 Student s = CS143_S2. StudentWithMaxGPAByStatus(SOPHOMORE); cout << “The sophomore student with highest GPA among all ” << “sophomore students in Section 2 of CS143 is ”; . . . }

Required to work in Teams of two students Schedule Program 6 Required to work in Teams of two students Sign up by 3 pm, Monday, May 2 Update Program 5 Using enum types.