Question: this is the client program ( don ' t change or you get a 0 in this project ) / * * - - -

this is the client program(don't change or you get a 0 in this project)/**-------------------* These functions are designed to help you test your MyString objects, * as well as show the client usage of the class. ** The BasicTest function builds an array of strings using various * constructor options and prints them out. It also uses the String * stream operations to read some strings from a data file. ** The RelationTest function checks out the basic relational operations *(==,!=,, etc) on Strings and char *s.** The ConcatTest functions checks the overloaded + and += operators that * do string concatenation. ** The CopyTest tries out the copy constructor and assignment operators * to make sure they do a true deep copy. ** Although not exhaustive, these tests will help you to exercise the basic * functionality of the class and show you how a client might use it.** While you are developing your MyString class, you might find it * easier to comment out functions you are ready for, so that you don't * get lots of compile/link complaints. */ #include "mystring.h" #include #include // for toupper() #include #include #include using namespace std; using namespace cs_mystring; void BasicTest(); void RelationTest(); void ConcatTest(); void CopyTest(); MyString AppendTest(const MyString& ref, MyString val); string boolString(bool convertMe); int main(){ BasicTest(); RelationTest(); ConcatTest(); CopyTest(); } string boolString(bool convertMe){ if (convertMe){ return "true"; } else { return "false"; }} void BasicTest(){ MyString s; int stringLength; cout "----- Testing basic String creation & printing" endl; const MyString strs[]={MyString("Wow"), MyString("C++ is neat!"), MyString(""), MyString("a-z")}; for (int i =0; i 4; i++){ cout "string [" i "]=" strs[i] endl; } cout endl "----- Now reading MyStrings from file" endl; cout endl "----- first, word by word" endl; ifstream in("mystring.txt"); assert(in); while (in.peek()=='#'){ in.ignore(128,'
'); } in >> s; while (in){ cout "Read string =" s endl; in >> s; } in.close(); cout endl "----- now, line by line" endl; ifstream in2("mystring.txt"); assert(in2); while (in2.peek()=='#'){ in2.ignore(128,'
'); } s.read(in2,'
'); while (in2){ cout "Read string =" s endl; s.read(in2,'
'); } in2.close(); cout endl "----- Testing access to characters (using const)" endl; const MyString s1("abcdefghijklmnopqsrtuvwxyz"); cout "Whole string is " s1 endl; cout "now char by char: "; stringLength = s1.length(); for (int i =0; i stringLength; i++){ cout s1[i]; } cout endl "----- Testing access to characters (using non-const)" endl; MyString s2("abcdefghijklmnopqsrtuvwxyz"); cout "Start with " s2; stringLength = s2.length(); for (int i =0; i stringLength; i++){ s2[i]= toupper(s2[i]); } cout " and convert to " s2 endl; } void RelationTest(){ cout "
----- Testing relational operators between MyStrings
"; const MyString strs[]={MyString("app"), MyString("apple"), MyString(""), MyString("Banana"), MyString("Banana")}; for (int i =0; i 4; i++){ cout "Comparing " strs[i]" to " strs[i+1] endl; cout "\tIs left right? " boolString(strs[i] strs[i+1]) endl; cout "\tIs left = right? " boolString(strs[i]= strs[i+1]) endl; cout "\tIs left > right? " boolString(strs[i]> strs[i+1]) endl; cout "\tIs left >= right? " boolString(strs[i]>= strs[i+1]) endl; cout "\tDoes left == right? " boolString(strs[i]== strs[i+1]) endl; cout "\tDoes left != right ?" boolString(strs[i]!= strs[i+1]) endl; } cout "
----- Testing relations between MyStrings and char *
"; MyString s("he"); const char *t = "hello"; cout "Comparing " s " to " t endl; cout "\tIs left right? " boolString(s t) endl; cout "\tIs left = right? " boolString(s = t) endl; cout "\tIs left > right? " boolString(s > t) endl; cout "\tIs left >= right? " boolString(s >= t) endl; cout "\tDoes left == right? " boolString(s == t) endl; cout
this is the client program ( don ' t change or

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!