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

时间:2014-02-26 20:16:51

标签: c++

我知道int和char不能由不同的数据类型指定,而char基本上代表ASCII值。令我困惑的是将它们存储在SAME数据类型中,以后可以使用它。例如,如果我在变量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();
} 

1 个答案:

答案 0 :(得分:1)

在这里,您要编写一段智能代码,以不同方式解释不同类型的输入字符串。如果您正在寻找一个现成的C ++函数,可以完全按照您的意愿解释字符串,那么您会感到很失望。没有这样神奇的功能。 : - (

让我说我写“0”作为你的程序的输入。我想要零int(0)或ascii('0')的整数值(int(48))???你的神奇弦乐翻译人工智能功能必须找出我想要的东西! : - )

  • 以字符串
  • 读入一行输入
  • 了解如何使用神奇的AI功能解释字符串。以下是一些如何检测用户需求的提示:如果字符串长度为1且不是数字('0' - '9'),那么您可以将其视为一个字符(并且您可以使用第一个字符)字符串的字符作为整数,或者您可以在其他情况下退出循环 - 例如,如果它是'='字符),否则您可以将其视为整数的字符串表示形式,您实际上可以将其转换为整数使用std :: stoi标准库函数。

当然你可以使用任何其他方法来检测输入字符串的内容,我只是给你一个提示作为kickstarter。

您可能会在以后遇到其他差异,例如,如果用户通过在实际输入之前指定一些空格字符来输入输入(等等......)会发生什么,但这些只是错误处理代码。首先让代码使用“正确”的输入。