我的工作是编写一个程序,将句子转换为大写和小写.
#include <iostream>
using namespace std;
int main ()
{
int current;
string sent;
cout << "Please enter a sentence: ";
cin >> sent;
for (int i = 0; i < sent.length(); i++)
{
current = (int) sent[i];
cout << "Your sentence in all lower case: "<< sent;
cout << endl;
if (current >= 65 && current <= 90)
{
current += 32;
sent[i] = (char) current;
cout << "Your sentence in all upper case: " << sent;
}
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出应该是:
请输入一句话:我吃苹果!
所有小写的句子:我吃苹果!
所有大写的句子:我吃了!
但是我继续为小写字母获得小写"i"而大写字母我得到一个大写字母我,为什么我的代码不会打印出完整的句子?我不知道我做错了什么或做错了什么.
输入操作符>>在空白区域(空格,换行符,制表符等)上分隔.如果你想阅读整行使用std::getline:
cout << "Please enter a sentence: ";
getline(cin, sent);
Run Code Online (Sandbox Code Playgroud)
在不相关的说明中,请不要使用像或的魔术数字.如果你的意思是字符然后使用像或的实际字符文字(请注意,例如,在所有编码中无效,它在ASCII中工作,这是最常见的编码,但它实际上不可移植).这也是假设这是一个学校作业,否则你应该使用eg 和一些合适的标准算法函数.6532'A''a' - 'A''a' - 'A'std::toupper
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |