C ++在函数中添加变量

时间:2014-02-25 21:42:53

标签: c++

我正在用C ++做初学者工作,我很难理解我正在写的一个简单程序我做错了什么。到目前为止,我已经将程序写得恰到好处,但我对如何在IF函数中放置变量占位符感到困惑。当然,假设这应该使它正常工作。

首先介绍一下程序应该如何运作。用户输入一个4位数的代码,只要代码的最后一位是“7”,它就应该显示“Origin:Florida”。 IF功能的第二部分是,如果用户输入一个4位数字,并且代码的最后一位是“4”,则它应显示“Origin:California”。我用else语句完成了任何其他条目以显示“无效”。我遇到的问题是弄清楚如何为代码的前3位添加可变数字,当输入最后一位数字时,“7”或“4”显示某个“原点”。我搜索并搜索了互联网上的指南以寻求帮助,但我的运气很少。如果有人能帮助我,我将非常感谢你的帮助。

下面是我编写的代码,当然错误存在于IF语句中:

#include <cstdlib>
#include <iostream>
using namespace std;

int main()
{
    int Digits = 0;

    cout << " ..:::Grocery Program:::.. " << endl;
    cout << " ..::Created By Justin::.. " << endl;
    cout << "\n";   

    cout << " Enter the orange's 4-digit code: ";
    cin >> Digits;

    if ( Digits == 7 )
    {
        cout << " Origin: Florida ";
    }
    else if ( Digits == 0004 )
    {
        cout << " Origin: California ";
    }
    else
    {
        cout << " Origin: Invalid ";
    }

    cout << "\n";   
    cout << "\n";   
    cout << "\n";   
    cout << "\n";   
    cout << "\n";       
    system("pause");
    return 0;
}

2 个答案:

答案 0 :(得分:1)

一个有用的&#34;技巧&#34;是使用模(%)运算符来获取数字的数字。说你想得到最后一个......

int n = 1234;
int last_digit = n % 10; // last_digit == 4

要获得最后一个,将数字除以10(这使得最后一位数字消失)并执行相同操作:

n /= 10;
int second_to_last = n % 10; // second_to_last == 3

答案 1 :(得分:0)

看看这是否有帮助: 首先,您可能需要验证输入的位数是否为4, 像这样的东西: //“number”是unsigned int,因此我们删除了输入-ve number的可能性     int digits = 0;     而(数字)     {          数/ = 10;          数字++;     }

如果数字!= 4显示无效,否则使用@Faranwath所述的Modulo运算符检查最后一位数字。 是的,还有一件事需要保存,因为您稍后需要它来检查最后一位数字。