C++ Programming
Focusing on Intermediate Programming
1. Explain the problem with the following code segments:
a. int *x;
*x = 5;
b. const int * x;
2. Consider the following code:
int nums[10] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13};
int *pInt;
pInt = &nums[7];
pInt -= 2;
*pInt = 15;
What will be the resulting array when this code is completed? Explain.
3. Consider the following code:
int i;
int smallest;
int nums[10] = {4, 20, 18, 7, 2, 19, 50, 6, 74, 37};
smallest = nums[0];
for (i = 1; i if (nums[i] }
cout
a. Rewrite the code using pointers. Specifically, instead of i and smallest, use
int* pInt;
int* pSmallest;
b. Which version of the code do you find easier to read?
4. Take the multi-purpose sorting program that uses function pointers. Create a new auxiliary function such that the routine will sort numbers in ascending order, but all zeros will be placed at the end of the list. For example, an array with 3, 0, -5, 9, 22, 0, 14, 7 would be set to -5, 3, 7, 9, 22, 0, 0.
5. Create a StudentGrade class that includes two data members: a student ID number and the student's score on a test. Both of these are integers. Include "get" and "set" member functions for each of the data members, plus a display Record method which outputs the values in this form:
Student 12345 has a score of 95.
For this program, you do not have to do any data validation in the "set" methods. In addition to the class, write a short main function like those in chapter 3 that test your class. Place your program into three files: main.cpp, StudentGrade.cpp, and StudentGrade.h.
6. Modify your StudentGrade class such that the "set" methods perform data validation. A student ID should be in the range of 10000-50000, and a grade should be in the range 0 - 100. Use a single "if" statement (using the && operator) in each "set" method. Your display record method should know if data is uninitialized or represents an error, such as if invalid data was attempted.
7. Create a BaseballBatter class that records the batting statistics for an individual player. It should have "get" and "set" methods for the following values: at-bats, singles, doubles, triples, and home runs. The "set" methods should check that only non-negative values are set. In addition, the class should have the following methods:
a. A valid Data method that returns true if the number of at-bats is greater than the number of hits.
b. A batting average method that returns the batting average.
c. A slugging percentage method that returns the slugging percentage (google the term if you are unfamiliar with it).
Create a simple main function to test your class and split the program into three files as before.
Get Free Quote!
334 Experts Online