Question
Please help me to complete the source for this C++ assigment . Here is the given code I have to compete: #include using namespace std;
Please help me to complete the source for this C++ assigment. Here is the given code I have to compete:
#include using namespace std;
string STUDENT = "" // Add your Canvas login name
// Implement your function here
/////////////// Optional Student Code ///////////////// int run() { return 0; }
Here is the requirement:
Let's write a function named toFrenchGender() that takes the French name of a country and returns the name with the appropriate article added: le for masculine or la for feminine, such as le Canada or la Belgique. However, if the country name starts with a vowel, use l; for example, lAfghanistan. And, for another wrinkle, use les for plural country names. A name is plural if it ends in es, is, as, or os, or, if the first word in the name is iles, or "islands". Finally, the following countries do not have a preceding definite article (le or la): Israel, Madagascar, Sri Lanka, Singapore, Monaco, Cuba and Cyprus. Note, I have removed all of the accents on the characters to make things easier when searching. These are the specifics: Return type is string Function name: toFrenchGender Parameter: country, which, as you know from your reading this chapter, should be a constant reference to a string.
Here's a plan: Create a string variable, prefix, inside the processing section At the end of the processing section, assign result the concatenation of prefix and country and return it.
Let's start by handling the plurals. Implement this pseudocode: Set variable islands to "iles" Set variable len to the size of the string country Set variable last to the last two characters in country If any of these are true, country starts with the value in islands. (use substr) OR last is one of "es", "is","os", or "as" Then set prefix to "les ". (Note space)
Next, let's handle the feminine and masculine names. Remember, a French feminine name ends in an 'e'. This should be pretty straight-forward. Elseif last character is an 'e' or an 'o' then Set prefix to "la " Else Set prefix to "le " However, if we try this out, we'll find that some countries don't work correctly. To fix
that, we'll have to check if the country begins with a vowel, or, if is one of the special- case countries such as Mexico.
Use the find() member function to check for vowels. Here's some pseudocode. Set variable vowels to "AEIOU" (only care about first letter) Set variable first to the first letter in country If first cannot be found in vowels. Then set prefix to "l'". (no space)
We have two sets of special cases. Countries that end in e, but are, none-the-less masculine, such as Mexique. Countries that don't have any prefix at all. Using sequential if statements, make sure that these exceptions go first, otherwise they'll never be seen. Here's the pseudocode to implement: Set variable plain to "Israel, Madagascar,..." (include all) Set variable masculine to "Belize, Cambodge, Mexique, Mozambique ..." If country can be found in masculine, Then set prefix to "el ". (space) Elseif country can be found in plain, Then set prefix to "" Elseif continue on with the original code.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started