i got the special cases for 11-13 to work; but it prints out the suffix first then the users input. how should i go about to fix this?
anyway here is the code:
* the function declaration,function call and function definition is bolded *
Code:
#include <iostream>
#include <string>
using namespace std;
double suffix_th(long input, short left_numbers, const string suffix_beyond);
//take in the last 2 numbers left from left_numbers
//and return the according user input+suffix(ie string)
//example function for the special cases 11-13
int main()
{
short left_numbers;
//last_number;//numbers left over
long input;//user input
//const string suffix_1 = "st";
//const string suffix_2 = "nd";
//const string suffix_3 = "rd";
const string suffix_beyond = "th";
cout<<"what is your number?\n";
cin>>input;
left_numbers = input % 100;//special cases
cout << suffix_th(left_numbers, input, suffix_beyond);
/*
last_number = input % 10;//ordinary cases 0,1,2,etc
if( (left_numbers <=13) && (left_numbers >= 11) )//special cases 11-13
{
cout<<input<<suffix_beyond;
}
else if(last_number == 1)//suffix for 1
{
cout<<input<<suffix_1;
}
else if(last_number == 2)//suffix for 2
{
cout<<input<<suffix_2;
}
else if(last_number == 3)//suffix for 3
{
cout<<input<<suffix_3;
}
else
{
cout<<input<<suffix_beyond;
}
*/
return 0;
}
double suffix_th(long input, short left_numbers, const string, suffix_beyond)
{
if( (left_numbers <=13) && (left_numbers >= 11) )
/ /special cases 11-13
{
left_numbers= input%100;
cout<<suffix_beyond;
}
return left_numbers;
}
am i on the right track? if i am, how can i write a function for all the cases(ie 1,2,3,4, special cases) to shorten the code even more?