Enumerations CS 2310 - Fall 1999 Enumerations.

Slides:



Advertisements
Similar presentations
Chapter 6 Control Structures.
Advertisements

CS1061 C Programming Lecture 4: Indentifiers and Integers A.O’Riordan, 2004.
C++ Programming:. Program Design Including
Multidimensional Arrays C++ also allows an array to have more than one dimension. For example, a two-dimensional array consists of a certain number of.
1 Chapter 10 Various Topics User defined Types Enumerated Types Type Casting Syntactic Sugar Type Coercion.
1 Simple Data Types: Built-in and Use-Defined. 2 Chapter 10 Topics  Built-In Simple Types  Integral and Floating Point Data Types  Using Combined Assignment.
1 Chapter 10 Simple Data Types: Built-In and User- Defined.
Chapter 6 Fundamental Types Dept of Computer Engineering Khon Kaen University.
1 Chapter 10 Simple Data Types: Built- In and User- Defined Dale/Weems.
9. Types Intro Programming in C++ Computer Science Dept Va Tech August, 2002 © Barnette ND & McQuain WD 1 Data Types data type:a collection of.
CIS-165 C++ Programming I CIS-165 C++ Programming I Bergen Community College Prof. Faisal Aljamal.
1 Chapter 10 Simple Data Types: Built-In and User- Defined.
Chapter 10 Simple Data Types: Built-In and User-Defined.
Simple Data Types: Built-In and User-Defined
Dale/Weems/Headington
C++ Programming Lecture 7 Control Structure I (Selection) – Part II The Hashemite University Computer Engineering Department.
Lecture 7 Computer Programming -1-. Conditional Statements 1- if Statement. 2- if ….. else Statement. 3- switch.
C syntax (simplified) BNF. Program ::= [ ] Directives ::= [ ] ::= | |… ::=#include > ::=#define.
1 Chapter 10 & 11 enum & Structured Types Dale/Weems.
Chapter 10 Simple Data Types: Built-In and User-Defined
SPOUSE LEADERSHIP DEVELOPMENT COURSE (SLDC) CLASS 68
Chapter 3 Control Statements
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
Elementary Programming
Chapter 10 Simple Data Types: Built-In and User-Defined
LESSON 4 Decision Control Structure
C++ Simple Data Types Simple types Integral Floating
The C “switch” Statement
// simple Date // guarantee initialization with constructor // provide some notational convenience struct Date {           int y, m, d;                            //
DAYS OF THE WEEK.
توابع در C++ قسمت اول اصول كامپيوتر 1.
The C “switch” Statement
Time management School of Rock.
Other Conditional Methods
A Class Calendar in PowerPoint
JANUARY 2018 SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY
Sunday Monday Tuesday Wednesday Sunday Monday Tuesday Wednesday
Number of visitors to the library.
Chapter 7 Additional Control Structures
CS-161 Computer Programming Lecture 14: Arrays I
The switch Statement Topics Multiple Selection switch Statement
The switch Statement Topics Multiple Selection switch Statement
© Copyright 2016 by Pearson Education, Inc. All Rights Reserved.
July 2018 Monday Tuesday Wednesday Thursday Friday
C Structures, Unions, Bit Manipulations and Enumerations
QUIZ.
CS 240 – Lecture 7 Boolean Operations, Increment and Decrement Operators, Constant Types, enum Types, Precedence.
Programming Language C Language.
Sets 1st Year Mrs. Gilleran.
SEPTEMBER 2014 Unit 1 Unit 1 Unit 1 Unit 1 Quick Quiz 9,16, 21 Unit 1
SEPTEMBER ½ Day Unit PLC
JANUARY 2018 SUNDAY MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY
January 2015 Sunday Monday Tuesday Wednesday Thursday Friday Saturday
WHEN IS YOUR BIRTHDAY? IT’S ON THE 5TH (FIFTH) OF MAY.
| January Sunday Monday Tuesday Wednesday Thursday Friday
Engineering H192 Winter 2005 Structs and Enumeration Prof. Almas Ansari Dept of Computer Science Engineering Anjuman College of Engineering & Technology..
JUNE 2010 CALENDAR PROJECT PLANNING 1 Month MONDAY TUESDAY WEDNESDAY
Time 1.
The switch Statement When we want to compare a variable against several values to see which one it has, we can use the switch statement: switch (status)
Contact
July 2018 Monday Tuesday Wednesday Thursday Friday
Control Structures contd… Selection
2011年 5月 2011年 6月 2011年 7月 2011年 8月 Sunday Monday Tuesday Wednesday
Reviewing Abbreviations
WHEN IS YOUR BIRTHDAY? IT’S ON THE 5TH (FIFTH) OF MAY.
June Sunday Monday Tuesday Wednesday Thursday Friday Saturday
March 2008 Sunday Monday Tuesday Wednesday Thursday Friday Saturday 1

Mr. Butler 6th Grade Earth Science
January Monday Tuesday Wednesday Thursday Friday Saturday Sunday 30 31
Presentation transcript:

Enumerations CS 2310 - Fall 1999 Enumerations

C++ Simple Data Types Simple types Integral Floating char short int long enum float double long double unsigned

Short Comings In many programming situations, the primitive data types int, char, and float are inadequate to provide the desired degree of program readability. In some situations, the variables can only take values from a finite set of possibilities. For examples: Days of the week, Months of the year, College classification, Colors CS 2310 - Fall 1999 Enumerations

Enumeration Types C++ Syntax Examples: Enumeration type is a type with a list of descriptive values. C++ Syntax enume numeration-type {enumerator-list}; Examples: enum Seasons {Winter, Spring, Summer, Fall}; enum Color {red, white, green, bule}; enum Days {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturdays}; CS 2310 - Fall 1999 Enumerations

Value of Enumerators Enumeration type associates names (enumerator) with integer values. By default, the first enumerator has the value of 0 and the value increases by 1 for the next enumerator. Therefore, example 1 can be defined as enum Seasons {Winter=0, Spring=1, Summer=2, Fall=3}; CS 2310 - Fall 1999 Enumerations

Redefined Values of Enumerators The values of enumerators can be redefined in the same manner as constant variables. In example 3, Sunday can be redefined to be 1 instead of 0. enum day {Sunday=1, Monday, Tuesday, Wednesday, Thursday, Friday,Saturdays}; CS 2310 - Fall 1999 Enumerations

More Example The values of enumerators can be defined in manner as required. enum MonthLength {Jan=31, Feb=28, Mar=31, Apr=30, May, June=30, July, Aug=31, Sep=Feb+2, Oct, Nov=30, Dec}; CS 2310 - Fall 1999 Enumerations

More Example Enumerator values can be characters. enum EscapeChar {Backspace='\b', Bell='\a', Newline='\n', Return='\r'}; CS 2310 - Fall 1999 Enumerations

Operations on Enumerations Assignment enum day {Sunday=1, Monday, Tuesday, Wednesday, Thursday, Friday, Saturdays}; day Days, Weekday, Weekend; int SomeInt; Weekday = Thursday; // valid Weekend = Sunday; // valid Weekday = 5; // invalid SomeInt = Thursday; // valid CS 2310 - Fall 1999 Enumerations

Incrementation Weekday = Weekday + 1; // invalid Weekday = day(Weekday + 1); //valid for (Days = Sunday; Days <= Saturday; Days = day(Days + 1)) {  } CS 2310 - Fall 1999 Enumerations

Comparison Weekday <= Thursday; Switch (Weekday) This statement is true if the value of Weekday is either Sunday, Monday, Tuesday, Wednesday, or Thursday. Switch (Weekday) { case Monday:  ; case Tuesday:  ; case Wednesday:  ; case Thursday:  ; case Friday:  ; } CS 2310 - Fall 1999 Enumerations

Input / Output Stream I/O is defined only for the primitive data types not for enumeration types. Switch (Weekday) { case Monday: cout << "Monday"; break; case Tuesday: cout << "Tuesday"; break; case Wednesday: cout << "Wednesday"; break; case Thursday: cout << "Thursday"; break; case Friday: cout << "Friday"; break; } CS 2310 - Fall 1999 Enumerations

Function Return Enumeration Type enum SchoolType {PRE_SCHOOL, ELEM_SCHOOL, MIDDLE_SCHOOL, HIGH_SCHOOL, COLLEGE } ; . SchoolType GetSchoolData ( void ) // Obtains information from keyboard to determine school level // Postcondition: Function value == personal school level { SchoolType SchoolLevel; int Age; int LastGrade; cout <<“Enter Age : ";// prompt for information cin >> Age; if ( Age < 6 ) SchoolLevel = PRE_SCHOOL; else cout << “Enter last grade completed in school: “; cin >> LastGrade; if ( LastGrade < 5 ) SchoolLevel = ELEM_SCHOOL; else if ( LastGrade < 8 ) SchoolLevel = MIDDLE_SCHOOL; else if ( LastGrade < 12 ) SchoolLevel = HIGH_SCHOOL; else SchoolLevel = COLLEGE; } return SchoolLevel; // return enum type value CS 2310 - Fall 1999 Enumerations

Overloading Output Operator ostream& operator<< (ostream& Out, Day DayVal) { const char ErrorMsg[] = "*** invalid Day value ***"; switch (DayVal) case Sunday: Out << "Sunday"; break; case Monday: Out << "Monday"; break; case Tuesday: Out << "Tuesday"; break; case Wednesday: Out << "Wednesday"; break; case Thursday: Out << "Thursday"; break; case Friday: Out << "Friday"; break; case Saturday: Out << "Saturday"; break; default: cerr << ErrorMsg; } return Out; CS 2310 - Fall 1999 Enumerations