# Programming Fundamentals/Practice: Character Data, Sizeof, Typedef, Sequence

Questions, exercises, problems, etc. that support this chapter in the "Programming Fundamentals - A Modular Structured Approach using C++" collection/textbook.

## Learning Objectives

With 100% accuracy during a: memory building activity, exercises, lab assignment, problems, or timed quiz/exam; the student is expected to:
* Define the terms on the definitions as listed in the modules associated with this chapter.
* Given appropriate documents produced by a System Analyst, create planning documents (pseudocode and test data), then a source code program that accomplishes the goals of the program.

## Exercises
### Exercise 1
#### Answer the following statements as either true or false:

* The character data type in C++ uses the double quote marks, like: char grade = "A";
* Sizeof is an operator that tells you how many bytes a data type occupies in storage.
* Typedef helps people who can't hear and is one of the standard accommodation features of a programming language for people with a learning disability.
* The sequence operator should be used when defining variables in order to save space.
* Programming can be both enjoyable and frustrating.

## Miscellaneous Items

None at this time.

## Lab Assignment
### Creating a Folder or Sub-Folder for Chapter 09 Files

Depending on your compiler/IDE, you should decide where to download and store source code files for processing. Prudence dictates that you create these folders as needed prior to downloading source code files. A suggested sub-folder for the Bloodshed Dev-C++ 5 compiler/IDE might be named:
* Chapter_09 within the folder named: Cpp_Source_Code_Files
If you have not done so, please create the folder(s) and/or sub-folder(s) as appropriate.

### Download the Lab File(s)

Download and store the following file(s) to your storage device in the appropriate folder(s). You may need to right click on the link and select "Save Target As" in order to download the file.
Download from Connexions: Lab_09_Narrative_Description.txt
Download from Connexions: Lab_09_Aerial_View_Center_Pivot_Irrigation.jpg
Download from Connexions: Lab_09_Hierarchy_Chart.jpg

### Detailed Lab Instructions

Read and follow the directions below carefully, and perform the steps in the order listed.
* Review the Connexions module "Systems Development Life Cycle" within the Chapter 1 materials. Think of yourself as a programmer assigned to a project during the Implementation phase with your professor as the System Analyst.
* Navigate to your sub-folder: Chapter_09. Review the first two items provided by the system analyst which he produced during the Design phase of the Systems Development Life Cycle. These two documents historically would have been printed and be placed into a program documentation folder. The items you produce in creating the program would be added to the folder. However, shifting to our paperless view of the world, today these items might be created and stored electronically in electronic folders (which is basically what we are doing by using our sub-folder titled: Chapter_09). The third item, the hierarchy chart, would normally be produced by the programmer. However, given your inexperience, the system analyst has created it for you. Make sure you understand what the program is to do. Any questions ask the system analyst (aka your professor).

#### NOTE:

The narrative description for this lab assignment describes how farmers in the mid-west part of the United States irrigate a piece of land using a circular irrigation system. This practice also known to as center pivot irrigation is not unique to the United States. Google "map Qatar", click on the map and switch to the "Satellite" view, zoom in and notice that there are several spots in this small middle eastern country where this type of irrigation is being used. "These systems are found and used in all parts of the world..." which supports the appropriateness of this programming problem to all students.
* Design the program and create your test data by building a Lab_09_Pseudocode.txt file and a Lab_09_Test_Data.txt file. WARNING: Don't touch the compiler/IDE. Don't start by creating the source code file. Creating the source code then producing the planning documentation afterwards is a bad habit that beginning programmers often acquire. NOTE: In your pseudocode document you do not need to create any pseudocode for the Standard Library or User Library functions. Just indicate that you call them from the Program Control functions. If needed, review the Connexions module "Pseudocode Examples for Functions" within the Chapter 6 materials. HINT: Copying the pseudocode and test data files from the Chapter 06 folder might be a good way to start building these items.
* After you have successfully planned the document and created your test data; create the source code file naming it: Lab_09.cpp HINTS: Using a previous source code file as your starting file makes sense. The file in the Chapter 06 folder might be a good start. You might want to copy some of the include information from the Verify Header code in Chapter 08 into your Lab 09 source code file.
* Build (compile and run) your program.
* After you have successfully written this program, if you are taking this course for college credit, follow the instructions from your professor/instructor for submitting it for grading.

## Problems
### Problem 09a – Instructions

The sequence operator can be used when declaring multiple identifier names for variables or constants of the same data type. Is this a good or bad programming habit and why?