Works fine to me. But I put it into a loop, and wrote a function "range" to verify the user didn't type '0', or whatever (guess what "days[-1]" would print??)
Code:
using namespace std;
bool range(int value, int low, int high);
void displayDay(char *ptr);
void displayDayAddress(char *ptr);
int main(){
char *days[] = {"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"}; //array of char pointers
int selectedDay;
char *ptr; //character pointer
cout << "OUTPUT FOR PROBLEM #6a and #6b: " << endl;
cout << "What day is it today? (1 - 7): ";
cin >> selectedDay;
while(range(selectedDay, 1, 7)) {
ptr = days[selectedDay - 1]; //store address of the given array element in ptr
displayDay(ptr);
cout << "\n\nOUTPUT FOR PROBLEM #6c: " << endl;
cout << "This day's address begins at: ";
displayDayAddress(ptr);
cout << "OUTPUT FOR PROBLEM #6a and #6b: " << endl;
cout << "What day is it today? (1 - 7): ";
cin >> selectedDay;
}
return 0;
} //end int main
void displayDay(char *ptr){
cout << "Today's day is " << ptr << endl;
} //end void displayDay
void displayDayAddress(char *ptr){
cout << &ptr << endl;
}
bool range(int value, int low, int high){
if(value >= low && value <= high)
return true;
return false;
}