以下内容来自类的项目描述:
"你知道==运算符可以用来测试两个字符串对象是否相等。但是,你会记得,如果任何字母的大小写不同,即使它们包含完全相同的字母,它们也不被认为相等。例如,如果name1="Jack"和name2="Jack",它们不被认为是相同的。编写一个程序,要求用户输入两个名称,并将它们存储在字符串对象中。然后,它应该报告它们是否相同,忽略大小写。
为了帮助程序完成这项任务,除了main之外,它还应该使用两个函数,upperCaseIt()和sameString()。以下是它们的函数头:
string upperCaseIt(string s)
boolean sameString (string s1, string s2)
sameString函数接收要比较的两个字符串,在测试它们是否相同之前,需要为每个字符串调用upperCaseIt。upperCaseIt函数应该使用一个循环,这样它就可以在将接收到的字符串中的每个字符返回到sameString函数之前,调用toupper函数。">
这是我的代码:
我的代码
我需要为布尔值做什么来比较n1和n2,以确定它们是否相等?
这个问题的要点是要对两个字符串执行不区分大小写的比较。已经给出的提示正在指明方向:
bool sameString (string s1, string s2)
{
return upperCaseIt(s1) == upperCaseIt(s2);
}
因此,通过比较两个字符串的ALL CAPS版本,任何情况下的差异都会丢失。