C++ 如何在同一个变量中存储char和int?

C++ 如何在同一个变量中存储char和int?,c++,C++,我知道int和char不能由不同的数据类型指定,char基本上表示ASCII值。让我困惑的是,将它们存储在同一数据类型中,以后可以使用。例如,如果在变量x中输入int和char这两种类型的数据,我将如何定义变量?喜欢什么类型的? 假设您要从用户输入整数,当用户输入符号('=')时,程序结束 void main() { int count, flag = 0; int i = 0; int x = 0; const int ASCII_VALUE_OF_EQ =

我知道int和char不能由不同的数据类型指定,char基本上表示ASCII值。让我困惑的是,将它们存储在同一数据类型中,以后可以使用。例如,如果在变量x中输入int和char这两种类型的数据,我将如何定义变量?喜欢什么类型的? 假设您要从用户输入整数,当用户输入符号('=')时,程序结束

void main()
{
    int count, flag = 0;
    int i = 0;

    int x = 0;
    const int ASCII_VALUE_OF_EQ = '='

    x = ASCII_VALUE_OF_EQ;
    for (i = 0; i <=10; i++){
        cout << "Enter the number = ";
        cin >> x;


        if (x == ASCII_VALUE_OF_EQ)
            break;
    }
    //to find if the number before '=' was prime
    int m = 2; int c = 0;  

    while (m < x)
    {
        if (x%m == 0){
            c++;
            break;
        }

        m++;
    }
    if (c == 0){
        cout << x << " is a Prime number"<<endl<<"here are all the prime numbers         that come before '='" << endl;

        for (int a = 2; a <= x; a++)
        {
            int c = 0;
            for (int b = 1; b <= a; b++)
            {
                if (a%b == 0)

                c++;

            }
            if (c == 2){
                cout << a << endl;
                continue;
            }

        }


    }

    getch();
} 
void main()
{
整数计数,标志=0;
int i=0;
int x=0;
常量int ASCII_值_OF_EQ='='
x=ASCII值,即等式的值;
对于(i=0;i x;
如果(x==ASCII值,即等式的值)
打破
}
//查找“=”之前的数字是否为素数
int m=2;int c=0;
而(mCUT< P>这里,你要编写一个智能代码块,它可以不同地解释不同类型的输入字符串。如果你正在寻找一个现成的C++函数,它可以准确地解释一个字符串,那么你会失望的。没有这样神奇的功能。
假设我写“0”作为您程序的输入。我想要零int(0)还是ascii('0')(int(48))的整数值?您神奇的字符串解释器人工智能功能必须找到我想要的东西!:-)

  • 以字符串形式读入一行输入
  • 了解如何使用magic AI函数解释字符串。以下是一些如何检测用户需要的提示:如果字符串长度为1且不是数字('0'-'9'),则可以将其视为字符(您可以使用字符串的第一个字符作为整数,也可以在其他情况下退出循环-例如,如果它是一个“=”字符),否则您可以将其视为整数的字符串表示形式,并且可以使用std::stoi标准库函数将其转换为整数
当然,您可以使用任何其他方法来检测输入字符串的内容,作为kickstarter,我刚刚给了您一个提示


稍后您可能会遇到其他差异,例如,如果用户通过在实际输入之前指定几个空格字符(等等…)来输入输入,会发生什么情况,但这些只是错误处理代码。首先让您的代码使用“correct”输入< < /p> >代码> int <代码>足够大,存储了<代码> char < />代码的所有值,所以这不应该是个问题,对吗?有时候,它比ASCII字符更容易对字母ASC字符进行算术运算。记住C++比java或C语言低。即使当你把字符看作ASCII号时,它也会被机器处理。const int ASCII_VALUE_OF_EQ='='
可能会告诉你一些事情,如果你想从流中提取
int
。如果你想测试
char
文本,你需要一种不同的提取机制。所以,真正的问题是,当我不知道什么类型时,我如何使用
cin>
类型结构右边会是吗?我想你需要将它发送到一个字符串,检查类型,然后从字符串中生成一个
stringstream
,以进行最终提取。这不会变成一个在线调试会话。你问了一个特定的问题。我发布的机制解决了这个特定的问题,并且基于问题的答案关于你到底需要什么,我在上面做了一些解释。更新后的代码完全没有采纳上述建议,也没有比第一次发布时更好,所以我放弃了我的答案。祝你好运。