一个账号 发表于 2020-2-21 22:34:04

大小写互换程序求改进

本帖最后由 一个账号 于 2020-2-21 22:44 编辑



我想达到这种效果:

请输入字母:aBcdE

转换后的字母:AbCDe

==========================================================

请输入字母:

但是实际实现效果:

请输入字母:aBcdE

转换后的字母:A

==========================================================

请输入字母:
转换后的字母:b

==========================================================

请输入字母:
转换后的字母:C

==========================================================

请输入字母:
转换后的字母:D

==========================================================

请输入字母:
转换后的字母:e

==========================================================

请输入字母:

以下是代码,该怎么改呢:

#include <iostream>
using namespace std;

int main()
{
        char letter;
       
        while (1)
        {
                cout << "请输入字母:";
                cin >> letter;
               
                if (int(letter) >= 65 && int(letter) <= 90)
                {
                        letter = int(letter) + 32;
                }
               
                else if (int(letter) >= 97 && int(letter) <= 122)
                {
                        letter = int(letter) - 32;
                }
               
                else
                {
                        cout << "\n输入不正确!\n\n";
                        cout << "==========================================================\n\n";
                        continue;
                }

                cout << "\n转换后的字母:" << letter << "\n\n";
               
                cout << "==========================================================\n\n";
        }
       
        return 0;
}

4goodworld 发表于 2020-2-21 23:32:05

亲,你的letter是char 类型
你一组字母,怎么滴也得char 数组把?
int test9()
{
        char letter = {0};
       
        while (1)
        {
                cout << "请输入字母:";
                cin >> letter;
                int i = 0;
                while (letter != 0) {
                        if (int(letter) >= 65 && int(letter) <= 90)
                        {
                                letter = int(letter) + 32;
                        }
                        else {

                                if (int(letter) >= 97 && int(letter) <= 122)
                                {
                                        letter = int(letter) - 32;
                                }
                                else
                                {
                                        cout << "\n输入不正确!\n\n";
                                        cout << "==========================================================\n\n";
                                        continue;
                                }

                        }
                        i++;
                }

                cout << "\n转换后的字母:" << letter << "\n\n";

                cout << "==========================================================\n\n";
        }

        return 0;
}

一个账号 发表于 2020-2-22 09:10:49

4goodworld 发表于 2020-2-21 23:32
亲,你的letter是char 类型
你一组字母,怎么滴也得char 数组把?

好的,谢谢!

一个账号 发表于 2020-2-22 10:04:34

本帖最后由 一个账号 于 2020-2-22 10:27 编辑

4goodworld 发表于 2020-2-21 23:32
亲,你的letter是char 类型
你一组字母,怎么滴也得char 数组把?

我想实现这种效果:

请输入字母:hello world

转换后的字母:HELLO WORLD

==========================================================

请输入字母:

#include <iostream>
using namespace std;

int main()
{
        char letter = {0};
        int i = 0;
       
        while (1)
        {
          cout << "请输入字母:";
          cin >> letter;
       
          for (i=0; letter != 0; i++)
                {
                if (int(letter) >= 65 && int(letter) <= 90)
                {
                    letter = int(letter) + 32;
                }
                
                else if (int(letter) >= 97 && int(letter) <= 122)
                {
                    letter = int(letter) - 32;
                }
                
                else
                {
                    cout << "\n输入不正确!\n\n";
                    cout << "==========================================================\n\n";
                    continue;
                        }
          }
       
          cout << "\n转换后的字母:" << letter << "\n\n";
       
          cout << "==========================================================\n\n";
        }
       
        return 0;
}
页: [1]
查看完整版本: 大小写互换程序求改进