2014-02-25 70 views
0

我正在做C++的初学者工作,我很难理解我在做什么,我正在写一个简单的程序有什么问题。到目前为止,我已经编写了一些适当的程序,但我很困惑如何在IF函数中放置可变占位符。当然,假设这是正确的。C++在if函数中添加变量

首先介绍一下程序应该如何工作的背景知识。用户输入一个4位代码,只要代码的最后一位数字是“7”,它应该显示“Origin:Florida”。 IF函数的第二部分是,如果用户输入一个4位数字,并且代码的最后一位数字是“4”,它应该显示“Origin:California”。我用其他语句完成了其他任何条目以显示“无效”。我遇到的问题是如何为代码的前三位数字添加可变数字,以及如何使用“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

尝试使用'Digits%10 == 7' –

+1

这里没有什么区别,但是'0004'是一个八进制文字,相当于'04',它只是4。 ,'0014',它的值为12. – chris

+0

有没有办法将占位符或变量放在If函数中?所以有人可以输入3324或1274,并显示“Origin:Florida”。 – TranquilityByDesign

回答

1

一个有用的“绝招”是使用模(%)运算符来得到一个数字的位数。假设你想要得到的最后一个...

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

为了得到一个倒数第二,除以10的数量(这使得最后一位走开),做相同的:

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

这似乎是通过这样做,你只能接收整数的第一个数字,而不会碰到双打。我正在寻找这种情况下,让4位代码的最后一个数字成为提供显示哪个答案的公式中的KEY。如进入1234或2234或5564“产地:佛罗里达”,并进入1237或2237或5567“产地:加州”。因此,无论4位代码的前3位是什么,我都需要最后一位数字作为显示哪个消息的决定因素。是否有我可以使用绝对第四位数字的变量类型 – TranquilityByDesign

+0

@TranquilityByDesign:计算机不存储数字(基数为10),它们存储位(基数2)。这就是为什么你需要明确的'%10'。 – MSalters

0

看看这有助于: 首先,您可能需要验证,如果数字输入的数字是4, 事情是这样的: //“数”是unsigned int类型,所以我们去掉进入-ve数量的可能性 int digits = 0; while(number) { number/= 10; digits ++; }

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

+0

对不起。我相信每个人都会给我提供这个问题的奇妙答案,但我不知道如何将这个问题贯彻到我的工作中。我会谷歌一点执行,并希望弄清楚你们是什么意思大声笑谢谢你的帮助! – TranquilityByDesign