Hi folks,
Can you help me try to figure this one out?
I am trying to create a program that will accept a string from a user input ( cin) in the HH:MM:SS format, and then convert this into seconds. However, I also want to avoid "fat-fingered"input by creating an error message that disallows special characters or alphabetical input ( other than the colons I need to separate the time stamp.)
I did manage to create a workaround, where I took an HH:MM:SS input, and then set this to an input string.
I then used assignment statements to set this string to be the same value as three new string values. I called a string.erase(x,y) to remove the unwanted characters so that the three string values then represent hours, minutes and seconds. I created a function from istringstream (#include <sstream>) to convert the string into an integer and then performed the math to convert the time string into seconds for further calculations.
Can anyone think of a better way to do this? If someone enters only a single character, or they enter a special character instead of a number then my program vaporizes. I tried creating an array, but every time I use the istringstream or the atoi function I get an error message from the compiler that I can't set a const char to a char.
Thanks in advance!
Ed.